Conectar o MCP
Servidor MCP em PHP puro (bundle oficial symfony/mcp-bundle, sem Node).
Dois transportes: STDIO (o Claude roda o comando) e HTTP (endpoint /_mcp).
Tools expostas
list_components— lista todos (id, eixo, nº capacidades)get_component— spec completa de um componente (por id)list_capabilities— capacidades de um componenteget_capability— uma capacidade específicaget_rules— as regras globais do DScheck_funcao_ou_base— aplica o teste "é função ou é base?"STDIO (recomendado local)
No Claude Code: claude mcp add xsmall-ds -- php /Users/brunopeters/php-symfony-designsystem-shadcn/bin/console mcp:server. Ou no .mcp.json / config do Claude Desktop:
{
"mcpServers": {
"xsmall-ds": {
"command": "php",
"args": ["/Users/brunopeters/php-symfony-designsystem-shadcn/bin/console", "mcp:server"]
}
}
}
HTTP
Endpoint POST /_mcp (JSON-RPC). Com o servidor rodando:
claude mcp add --transport http xsmall-ds http://127.0.0.1:8000/_mcp
# teste rápido:
curl -s -X POST http://127.0.0.1:8000/_mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"c","version":"1"}}}'
Em produção, sirva o /_mcp atrás de TLS e autenticação — o endpoint não deve ficar aberto.