MCP Server for Drupal
Um servidor MCP baseado em TypeScript que atua como um
Documentação
MCP Server for Drupal
Este é um servidor complementar do Model Context Protocol (MCP) baseado em TypeScript para o módulo Drupal MCP que funciona com o transporte STDIO. Para usar o transporte SSE, este servidor não é necessário.
Importante
📖 Documentação detalhada disponível em drupalmcp.io
Instalação
O binário STDIO está disponível através de vários canais de distribuição para atender a diversos ambientes:
- Contêiner Docker
- Binário compilado
- Pacote JSR
Aqui está um exemplo rápido de como usar o servidor com docker:
{ "mcpServers": { "mcp-server-drupal": { "command": "docker", "args": [ "run", "-i", "--rm", "ghcr.io/omedia/mcp-server-drupal", "--drupal-url=_DRUPAL_BASE_URL" ], "env": {} } } }
📖 Para mais detalhes, consulte a seção Instalação na documentação
Autenticação
O servidor suporta autenticação via variáveis de ambiente. Você pode usar um token de autenticação ou autenticação básica com combinação de usuário e senha. As seguintes variáveis de ambiente são suportadas:
DRUPAL_AUTH_TOKEN: O token de autenticação.DRUPAL_AUTH_USER: O nome de usuário para autenticação.DRUPAL_AUTH_PASSWORD: A senha para autenticação.
Nota
Certifique-se de ativar a autenticação na página de configurações do módulo Drupal MCP.
Nota
Se ambos DRUPAL_AUTH_TOKEN e DRUPAL_AUTH_USER/DRUPAL_AUTH_PASSWORD estiverem definidos, o token será usado em vez do nome de usuário e senha.
📖 Consulte a seção Autenticação na documentação para mais detalhes
MCP
- Todos os instrumentos são definidos pela API do Drupal durante a fase de inicialização
Nota
O servidor agora expõe o seguinte
- Recursos (templates, leituras)
- Ferramentas (chamadas)
Nenhum prompt é exposto pelo servidor por enquanto
Desenvolvimento
Este projeto é construído com Deno.
Nota
Use a versão do deno 2.0.0 ou superior
Instale as dependências:
deno install
Para desenvolvimento com reconstrução automática:
bun task dev
Compile o servidor:
deno task build --output build/mcp-server-drupal
Dica
Para compilar para a plataforma específica, use a flag --target e consulte a documentação
Depuração
Como os servidores MCP se comunicam via stdio, a depuração pode ser desafiadora. Recomendamos usar o MCP Inspector, que está disponível como uma tarefa deno:
deno task inspector --drupal-url [DRUPAL_BASE_URL]
Verificando os binários e imagens
Os binários drupal_mcp_server e as imagens de contêiner são assinados por cosign usando assinatura baseada em identidade.
Você pode verificar seu binário baixando o arquivo signatures.tar.gz da página de lançamento, extraindo a assinatura e executando o seguinte comando:
cosign verify-blob ${YOUR_BINARY_NAME}
--bundle signatures/${YOUR_BINARY_NAME}.bundle
--certificate-oidc-issuer https://token.actions.githubusercontent.com
--certificate-identity-regexp https://github.com/Omedia/mcp-server-drupal/.github/workflows/release.yml@refs/tags/v
--certificate-github-workflow-repository Omedia/mcp-server-drupal
No lado do contêiner, você pode verificar a imagem executando o seguinte comando:
cosign verify ghcr.io/omedia/mcp-server-drupal:latest
--certificate-oidc-issuer "https://token.actions.githubusercontent.com"
--certificate-identity-regexp "https://github.com/Omedia/mcp-server-drupal/.github/workflows/release.yml@refs/tags/v"