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
Mensagem pronta para colar
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-generatorOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/php-mcp-server-generator/SKILL.md -o SKILL.mdConteú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:
- Nome do projeto (ex: "meu-servidor-mcp")
- Descrição do servidor (ex: "Um servidor MCP para gerenciamento de arquivos")
- Tipo de transporte (stdio, http, ou ambos)
- Ferramentas a incluir (ex: "ler arquivo", "escrever arquivo", "listar diretório")
- Se deve incluir recursos e prompts
- 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
Comentários
- …
Mais skills deste repositório
acquire-codebase-knowledge
Ajuda seu agente a entender e documentar um projeto de código existente. É útil para novas pessoas entrarem no projeto ou para ter uma visão geral da arquitetura.
github/awesome-copilot
acreadiness-assess
Faz seu agente avaliar a prontidão de um projeto para IA e gerar um relatório. É útil para entender o quão bem um projeto está preparado para usar ferramentas de IA.
github/awesome-copilot
acreadiness-generate-instructions
Ajuda seu agente a criar instruções para ferramentas de IA baseadas em uma avaliação. É útil para melhorar a forma como a IA interage com o código e fecha lacunas identificadas.
github/awesome-copilot
acreadiness-policy
Faz seu agente ajudar a definir ou aplicar políticas para avaliação de projetos de IA. É útil para padronizar a forma como os projetos são avaliados e garantir conformidade.
github/awesome-copilot
Skills parecidas
api-connector-builder
Faz seu agente construir novas conexões com APIs seguindo o padrão já existente. Use quando precisar adicionar mais uma integração sem criar um novo jeito de fazer.
affaan-m/ECC
api-design
Ajuda seu agente a projetar APIs REST seguindo as melhores práticas. É útil para definir como as APIs se comunicam, como os erros são mostrados e como organizar os dados.
affaan-m/ECC
backend-patterns
Ajuda seu agente com padrões de arquitetura do lado do servidor e otimização de banco de dados. É útil para construir ou revisar o código que roda no servidor.
affaan-m/ECC