Voltar as noticias
Tornando Sites Drupal Descobertos por IA com MCP
MCP ProtocolAltaEN

Tornando Sites Drupal Descobertos por IA com MCP

Dev.to - MCP·16 de março de 2026

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

Eu construí Project Context Connector, um módulo Drupal que torna a configuração do site programaticamente acessível para agentes de IA, scripts de automação e ferramentas de monitoramento através de múltiplas interfaces, incluindo suporte nativo ao Model Context Protocol.

O Problema: Sites Drupal Opaques

Ao construir assistentes de IA ou automação DevOps para sites Drupal, não há uma maneira padrão de perguntar "Qual versão do Drupal está em execução?" ou "Quais módulos precisam de atualizações de segurança?" Abordagens tradicionais exigem acesso SSH, comandos Drush manuais ou análise de páginas HTML.

Para agências que gerenciam dezenas de sites de clientes, isso cria atrito:

  • Bots de suporte não conseguem responder perguntas sobre o ambiente
  • Pipelines de CI/CD não conseguem se adaptar à configuração do site
  • Assistentes de IA carecem de contexto em tempo real sobre a pilha
  • Monitoramento de segurança requer scripting personalizado para cada site

A Solução: Múltiplos Padrões de Acesso

O Project Context Connector expõe um snapshot JSON somente leitura dos metadados do site Drupal através de quatro interfaces:

flowchart TD
    A[Drupal Site\ncore, modules, themes, PHP, DB] --> B[Project Context Connector]
    B --> C[REST API\npermission-gated]
    B --> D[HMAC Signed Endpoint\nno Drupal user needed]
    B --> E[Drush Command\nlocal/CI]
    B --> F[MCP Tool\nAI assistants via mcp_server]
    C --> G[Remote Bots / Monitoring]
    D --> H[Serverless Functions\nLambda, Cloud Functions]
    E --> I[CI/CD Pipelines]
    F --> J[Claude Desktop / AI Agents]

Stack Tecnológico

Componente Tecnologia Por quê
CMS Drupal 10/11 Plataforma alvo, container de serviço
Protocolo MCP via drupal/mcp_server Integração nativa com assistentes de IA
Auth (REST) Permissões do Drupal Controle de acesso padrão
Auth (serverless) HMAC-SHA256 com proteção contra replay Nenhuma sessão de usuário Drupal necessária
CLI Comando Drush Integração com pipeline de CI/CD
Cache Cache de renderização do Drupal + tags de cache Sem consultas adicionais ao DB em hits em cache
Teste Unitário, kernel, funcional + GitLab CI Cobertura total, pronto para produção

Quatro Padrões de Acesso

```bash title="rest-api-usage.sh"

Endpoint REST com controle de permissão

curl -u user:pass https://site.com/project-context-connector/snapshot




</TabItem>
<TabItem value="hmac" label="HMAC Signed">


```bash title="hmac-signed-usage.sh"
# Nenhum usuário Drupal necessário — autenticação HMAC
curl -H "X-PCC-Timestamp: $(date +%s)" \
-H "X-PCC-Signature: $(echo -n "$(date +%s)" | \
openssl dgst -sha256 -hmac 'secret' -binary | base64)" \
https://site.com/project-context-connector/snapshot/signed

```bash title="drush-usage.sh"

Uso local ou CI

drush pcc:snapshot --format=json




</TabItem>
<TabItem value="mcp" label="MCP Tool">


```json title="mcp-tool-definition.json"
{
  "name": "project_context_snapshot",
  "description": "Obter contexto do site Drupal",
  "input": {}
}

O Que É Exposto

O snapshot inclui exatamente o que as ferramentas externas precisam:

```json title="snapshot-response.json" showLineNumbers
{
"generated_at": "2026-02-16T18:00:00Z",
"drupal": {
"core_version": "10.3.0",
"php": {"version": "8.3.0"},
"database": {"driver": "mysql", "version": "8.0.36"},
"active_modules": [
{
"name": "views",
"version": "10.3.0",
"origin": "core",
// highlight-next-line
"security_status": "atual"
}
],
"themes": {
"default": "olivero",
"admin": "claro"
}
}
}




O status de atualização de segurança vem do cache do módulo de Atualização do Drupal (sem solicitações externas).

## Integração MCP: Acesso Nativo à IA

O recurso mais recente é o **suporte ao Model Context Protocol (MCP)** via API de Ferramentas do Drupal. Quando você instala o módulo `mcp_server` juntamente com o Project Context Connector, assistentes de IA como Claude Desktop podem consultar seu site diretamente.

> **💡 Dica: MCP Significa Que Nenhuma Solicitação HTTP É Necessária**
>
> Quando o Claude Desktop se conecta via Drush MCP, a chamada da ferramenta é executada dentro do processo do Drupal. Sem sobrecarga de HTTP, sem dança de autenticação, sem CORS. É o caminho mais rápido de "qual versão do PHP está em execução na produção?" para uma resposta real.

**Instalação:**


```bash title="installation.sh"
composer require drupal/mcp_server drupal/project_context_connector
drush en -y mcp_server project_context_connector
drush cr

Configuração do Claude Desktop:

```json title="claude-desktop-config.json" showLineNumbers
{
"mcpServers": {
"drupal-prod": {
"command": "drush",
"args": ["mcp:server"],
// highlight-next-line
"cwd": "/var/www/drupal"
}
}
}




Agora Claude pode responder perguntas como "Qual versão do PHP está em execução no site de produção?" chamando a ferramenta `project_context_snapshot` diretamente, sem necessidade de solicitações HTTP.

## Caso de Uso do Mundo Real: Integração com Bot do Slack

Eu construí um bot do Slack que usa esses endpoints para responder perguntas da equipe:


```text title="slack-bot-interaction.txt"
/drupal-env production

Resposta:
Ambiente de Produção:
- Drupal: 10.3.0
- PHP: 8.3.0
- Banco de Dados: MySQL 8.0.36
- Módulos precisando de atualizações: 0
- Status de segurança: Todos atuais

O bot se autentica via assinaturas HMAC, roda na AWS Lambda e custa centavos por mês. Nenhum acesso SSH necessário, nenhuma credencial armazenada no código do bot.

Segurança em Primeiro Lugar

O módulo segue princípios de segurança por padrão:

⚠️ Cuidado: O Snapshot É Deliberadamente Mínimo

O snapshot inclui versões, status de segurança e flags de configuração, mas exclui dados sensíveis (credenciais do banco de dados, chaves de API, informações do usuário). Mesmo a versão opcional do banco de dados está desativada por padrão, conforme recomendação da OWASP. Não estenda o snapshot com PII ou segredos.

  • Operações somente leitura (sem endpoints de gravação)
  • Zero exposição de PII (sem dados de usuários, e-mails ou credenciais)
  • Limitação de taxa via API de Flood do Drupal (padrão: 60 req/min)
  • Listas de permissão CORS para clientes de navegador
  • Cache HTTP adequado com tags de cache
  • Autenticação HMAC-SHA256 com proteção contra replay
  • Ocultação opcional da versão do banco de dados (recomendação da OWASP)

Decisões Técnicas

Por que múltiplas interfaces?

Diferentes casos de uso precisam de diferentes padrões de acesso. MCP é ideal para assistentes de IA locais, APIs REST funcionam para bots remotos, Drush se encaixa em pipelines de CI/CD, e assinaturas HMAC permitem funções serverless sem gerenciar sessões do Drupal.

Contexto Triplo Up

Com a crescente demanda por automação e integração de IA, o Project Context Connector permite que empresas brasileiras otimizem suas operações em Drupal. Isso facilita a manutenção e a segurança dos sites, reduzindo a necessidade de acesso manual e aumentando a eficiência dos processos.

Noticias relacionadas

Gostou do conteudo?

Receba toda semana as principais novidades sobre WebMCP.