Pular para o conteúdo
Skillpedia
APIs e servidores (backend)40 mil · #5266

php-mcp-server-generator

Gera um projeto completo de servidor em PHP usando um protocolo específico. Ele cria a estrutura básica e as ferramentas necessárias para começar.

O que ela faz

Este gerador cria um projeto completo de servidor PHP para comunicação com IA (usando o protocolo MCP). Ele inclui as ferramentas, recursos e testes necessários para que o servidor funcione.

Quando usar

  • ✓Quando você quer criar um servidor PHP para interagir com IAs.
  • ✓Ao precisar de um servidor com funcionalidades específicas, como ler arquivos ou fazer cálculos.
  • ✓Se você já tem um projeto PHP e quer adicionar a capacidade de se comunicar com IAs.

Exemplo do que pedir para a IA

“Gere um servidor MCP em PHP chamado 'meu-servidor-arquivos' com descrição 'Servidor para gerenciar arquivos', usando transporte http, com ferramentas para 'ler arquivo' e 'escrever arquivo', e inclua recursos e prompts. Use PHP 8.2.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/github/awesome-copilot/blob/main/skills/php-mcp-server-generator/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/github/awesome-copilot/blob/main/skills/php-mcp-server-generator/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você informa o nome do projeto, a descrição, como ele vai se comunicar (stdio ou http), quais ferramentas ele deve ter (como ler ou escrever arquivos), se quer recursos extras e qual versão do PHP usar. A IA então monta toda a estrutura de pastas e arquivos necessários.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add github/awesome-copilot --skill php-mcp-server-generator

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/php-mcp-server-generator/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Gerador de Servidor MCP em PHP

Você é um gerador de servidor MCP em PHP. Crie um projeto de servidor MCP em PHP completo e pronto para produção usando o SDK oficial em PHP.

Requisitos do Projeto

Pergunte ao usuário:

  1. Nome do projeto (ex: "meu-servidor-mcp")
  2. Descrição do servidor (ex: "Um servidor MCP para gerenciamento de arquivos")
  3. Tipo de transporte (stdio, http, ou ambos)
  4. Ferramentas a incluir (ex: "ler arquivo", "escrever arquivo", "listar diretório")
  5. Se deve incluir recursos e prompts
  6. Versão do PHP (requer 8.2+)

Estrutura do Projeto

{project-name}/
├── composer.json
├── .gitignore
├── README.md
├── server.php
├── src/
│   ├── Tools/
│   │   └── {ToolClass}.php
│   ├── Resources/
│   │   └── {ResourceClass}.php
│   ├── Prompts/
│   │   └── {PromptClass}.php
│   └── Providers/
│       └── {CompletionProvider}.php
└── tests/
    └── ToolsTest.php

Modelos de Arquivo

composer.json

{
    "name": "your-org/{project-name}",
    "description": "{Server description}",
    "type": "project",
    "require": {
        "php": "^8.2",
        "mcp/sdk": "^0.1"
    },
    "require-dev": {
        "phpunit/phpunit": "^10.0",
        "symfony/cache": "^6.4"
    },
    "autoload": {
        "psr-4": {
            "App\\\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\\\": "tests/"
        }
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true
    }
}

.gitignore

/vendor
/cache
composer.lock
.phpunit.cache
phpstan.neon

README.md

# {Project Name}

{Server description}

## Requirements

- PHP 8.2 or higher
- Composer

## Installation

```bash
composer install

Usage

Start Server (Stdio)

php server.php

Configure in Claude Desktop

{
  "mcpServers": {
    "{nome-do-projeto}": {
      "command": "php",
      "args": ["/caminho/absoluto/para/server.php"]
    }
  }
}

Testing

vendor/bin/phpunit

Tools

  • {tool_name}: {Tool description}

Development

Test with MCP Inspector:

npx @modelcontextprotocol/inspector php server.php

### server.php

```php
#!/usr/bin/env php
<?php

declare(strict_types=1);

require_once __DIR__ . '/vendor/autoload.php';

use Mcp\Server;
use Mcp\Server\Transport\StdioTransport;
use Symfony\Component\Cache\Adapter\FilesystemAdapter;
use Symfony\Component\Cache\Psr16Cache;

// Setup cache for discovery
$cache = new Psr16Cache(new FilesystemAdapter('mcp-discovery', 3600, __DIR__ . '/cache'));

// Build server with discovery
$server = Server::builder()
    ->setServerInfo('{Project Name}', '1.0.0')
    ->setDiscovery(
        basePath: __DIR__,
        scanDirs: ['src'],
        excludeDirs: ['vendor', 'tests', 'cache'],
        cache: $cache
    )
    ->build();

// Run with stdio transport
$transport = new StdioTransport();

$server->run($transport);

src/Tools/ExampleTool.php

<?php

declare(strict_types=1);

namespace App\Tools;

use Mcp\Capability\Attribute\McpTool;
use Mcp\Capability\Attribute\Schema;

class ExampleTool
{
    /**
     * Performs a greeting with the provided name.
     * 
     * @param string $name The name to greet
     * @return string A greeting message
     */
    #[McpTool]
    public function greet(string $name): string
    {
        return "Hello, {$name}!";
    }
    
    /**
     * Performs arithmetic calculations.
     */
    #[McpTool(name: 'calculate')]
    public function performCalculation(
        float $a,
        float $b,
        #[Schema(pattern: '^(add|subtract|multiply|divide)$')]
        string $operation
    ): float {
        return match($operation) {
            'add' => $a + $b,
            'subtract' => $a - $b,
            'multiply' => $a * $b,
            'divide' => $b != 0 ? $a / $b : 
                throw new \InvalidArgumentException('Division by zero'),
            default => throw new \InvalidArgumentException('Invalid operation')
        };
    }
}

src/Resources/ConfigResource.php

<?php

declare(strict_types=1);

namespace App\Resources;

use Mcp\Capability\Attribute\McpResource;

class ConfigResource
{
    /**
     * Fornece a configuração da aplicação.
     */
    #[McpResource(
        uri: 'config://app/settings',
        name: 'app_config',
        mimeType: 'application/json'
    )]
    public function getConfiguration(): array
    {
        return [
            'version' => '1.0.0',

…
Perguntas frequentes

O que é o protocolo MCP?

MCP (Model Context Protocol) é um padrão para que programas de computador (servidores) possam se comunicar com inteligência artificial de forma organizada.

O que são 'ferramentas', 'recursos' e 'prompts' neste contexto?

Ferramentas são ações que o servidor pode realizar (ex: calcular algo). Recursos são dados que o servidor pode fornecer (ex: configurações). Prompts são modelos de perguntas que a IA pode usar para interagir com o servidor.

Preciso saber programar em PHP para usar isso?

Sim, este gerador cria um projeto PHP. Embora ele automatize a criação, entender PHP ajuda a personalizar e usar o servidor gerado.

Detalhes

Descrição original do autor

Generate a complete PHP Model Context Protocol server project with tools, resources, prompts, and tests using the official PHP SDK

repo: github/awesome-copilot

Popularidade

Estrelas no GitHub
40 mil
Posição no ranking
#5266
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas