Pular para o conteúdo

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 componente
get_capability— uma capacidade específica
get_rules— as regras globais do DS
check_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.