MCP Server for Drupal

Um servidor MCP baseado em TypeScript que atua como um

Documentação

MCP Server for Drupal

image

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"