Código abierto

MCP Sentinel

Aplique políticas del servidor al acceso de agentes a Drupal, con operaciones limitadas, control de publicación, ocultación de datos y registros revisables.
— 3 de julio de 2026
Temas:Gobernanza de agentes de IAControl de accesoSeguridad
Etiquetas:DrupalPHPModel Context Protocol

MCP Sentinel está dirigido a propietarios de sitios Drupal y equipos de seguridad que necesitan que los agentes de IA trabajen contra un CMS real sin heredar la libertad ordinaria de un administrador. Wilkes & Liberty mantiene el módulo Drupal con licencia GPL. Aplica políticas dentro de Drupal al tráfico autenticado de agentes sobre MCP, JSON:API y rutas GraphQL gobernadas, de modo que un conector o cliente no pueda renunciar a las reglas finales del sitio.

Por qué existe

Un conector externo puede restringirse a sí mismo, pero una restricción autoimpuesta no es un límite de seguridad. Si su credencial puede publicar, leer campos sensibles o extraer grandes conjuntos de datos, un error o un cliente comprometido aún puede ejercer esa autoridad. MCP Sentinel da al CMS una respuesta independiente a “¿puede este agente realizar esta operación, sobre esta entidad, en este entorno, ahora mismo?”

El módulo distingue el tráfico de agentes mediante consumidores y alcances OAuth validados, no mediante un encabezado de presentación. Las sesiones de navegador y la administración editorial normal permanecen fuera del canal de agentes.

Quién debería usarlo y cuándo

  • Propietarios de plataformas Drupal que habilitan operaciones de contenido asistidas por IA en sitios de producción o regulados.
  • Operadores de seguridad y cumplimiento que necesitan mínimo privilegio, acciones atribuibles, controles de pérdida de datos y evidencia después de un cambio.
  • Equipos editoriales que quieren que los agentes preparen borradores sin permitirles publicar ni sobrescribir una página que alguien está editando.
  • Desarrolladores de integraciones que exponen plugins Tool personalizados u operaciones GraphQL que necesitan el mismo perfil de política que las escrituras ordinarias de entidades.

Use MCP Sentinel cuando un cliente automatizado pueda alcanzar datos no públicos de Drupal o mutar el sitio. Una integración de contenido público de solo lectura puede no necesitar este plano de control completo.

Dónde se ubica

MCP Sentinel se ejecuta en Drupal. Los alcances del consumidor OAuth identifican el nivel de capacidad; los roles de la cuenta autenticada seleccionan un perfil de política. El perfil se evalúa en los límites de API, entidad, campo, configuración y herramienta de Drupal. El complemento Drupal MCP Connector traduce las llamadas MCP en operaciones Drupal, mientras Sentinel sigue siendo la autoridad del lado del servidor.

Los registros de auditoría se delegan a Audit Chain, que proporciona verificación independiente por cadena de hash y firma/cifrado opcionales.

Qué controla un perfil de política

  • Puertas de operación: decisiones separadas de lectura, creación/actualización, eliminación, publicación, configuración, mutación GraphQL y SQL sin procesar.
  • Límites de entidad y campo: listas de permitidos, listas de denegados, redacción de campos sensibles y enmascaramiento de patrones PII/DLP.
  • Alcances OAuth: niveles estandarizados mcp_read, mcp_write y mcp_config aplicados por herramienta.
  • Control de publicación: la publicación se deniega de forma predeterminada y puede seguir siendo una transición exclusiva del propietario incluso cuando se permiten escrituras en borrador.
  • Límites de tasa y exfiltración: aceleración de solicitudes, cuotas diarias, topes de resultados y controles de exportación masiva.
  • Controles de red: listas de IP/CIDR permitidas por perfil con requisitos explícitos de proxy confiable.
  • Bloqueos de contenido: se impide que un agente sobrescriba un nodo que se está editando en ese momento.
  • Seguridad de redirecciones y salidas: las redirecciones fuera del dominio y los destinos de webhooks se limitan a hosts aprobados.

Evidencia operativa y respuesta

Las operaciones permitidas y denegadas son atribuibles a la cuenta y al consumidor que actúan. Los metadatos de auditoría pueden incluir identificadores de entidad, operación, perfil de política, etiqueta de cliente, contexto de red y detalle de cambios consciente de la redacción. Audit Chain aporta la secuencia a prueba de manipulación, la verificación por Drush, la firma HMAC opcional, el cifrado, el manejo de rotación y la transmisión a SIEM.

Las reglas de anomalías pueden alertar sobre ráfagas de denegaciones, volumen inusual u otras condiciones configuradas sin poner la entrega de alertas en la ruta de la solicitud. Los webhooks confiables usan una cola de entrega, reintentos, protecciones contra SSRF, historial de entregas y reenvío, en lugar de una única llamada sin confirmación.

Módulos de integración incluidos

  • MCP Sentinel Server expone los plugins Tool gobernados de Sentinel a través del ecosistema MCP Server de Drupal.
  • MCP Sentinel Approval añade un flujo de aprobación humana para acciones que deben proponerse antes de ejecutarse.
  • MCP Sentinel GraphQL extiende la gobernanza a las operaciones y mutaciones GraphQL configuradas.

Los controles base de seguridad, auditoría, bloqueo y webhooks funcionan sin requerir todos los submódulos opcionales.

Instalar y establecer el modelo de confianza

La versión 2.3.0 requiere PHP 8.3+, Drupal 10.6+ u 11.3+, Simple OAuth, Consumers, Key, Encrypt, Tool y Audit Chain.

composer require drupal/mcp_sentinel
drush en mcp_sentinel mcp_sentinel_server -y
drush mcp-sentinel:setup

Para cada entorno, cree un consumidor OAuth y una cuenta dedicados, otorgue solo los alcances MCP requeridos, asigne un rol que no sea de administrador, seleccione el perfil de política, exporte la configuración no secreta y mantenga los secretos de cliente en un proveedor Key en lugar de en YAML de configuración. El contrato del conector documenta los pasos exactos de token, alcance, proxy y verificación de extremo a extremo.

Límites honestos

MCP Sentinel gobierna las solicitudes que pasan por Drupal y sus puntos de integración registrados. No puede gobernar a un operador con acceso directo a la base de datos, acceso irrestricto al shell o un módulo personalizado que eluda deliberadamente las API de acceso de Drupal. Por eso el SQL sin procesar está desactivado de forma predeterminada y solo está disponible a través del comando Drush gobernado por Sentinel cuando ambas partes optan por él.

La redacción reduce la exposición en las respuestas gobernadas; no puede borrar datos ya disponibles a través de otra API o credencial. Las listas de IP permitidas solo son seguras cuando la configuración de proxy confiable de Drupal es correcta. La detección de anomalías y los webhooks proporcionan señales, no un programa de respuesta a incidentes. El diseño de políticas, el ciclo de vida de las cuentas, la custodia de claves, la revisión de aprobaciones y la responsabilidad de la respuesta siguen siendo responsabilidades de la organización.

Proyecto, código fuente, incidencias y documentación para operadores

Mantenido por Jeremy Michael Cerda y Wilkes & Liberty bajo GPL-2.0-or-later. La versión de código fuente verificada para esta página es la 2.3.0.