Model Context Protocol

Implementa el Model Context Protocol (MCP) para permitir que los sitios Drupal actúen como servidores MCP, permitiendo que aplicaciones de IA como Claude interactúen con el contenido y las herramientas de Drupal.

mcp
292 sites
39
drupal.org

Instalar

Drupal 11, 10 v1.2.3
composer require 'drupal/mcp:^1.2'

Overview

El módulo Model Context Protocol (MCP) transforma tu sitio Drupal en un servidor compatible con MCP, permitiendo una integración fluida con aplicaciones impulsadas por IA como Claude Desktop, Claude Code y Cursor IDE. MCP es un protocolo abierto de Anthropic que permite a los modelos de lenguaje grande (LLMs) extender dinámicamente su contexto utilizando fuentes de datos y herramientas ejecutables.

Este módulo proporciona una capa fundamental que expone el contenido de Drupal como recursos y la funcionalidad de Drupal como herramientas a las que las aplicaciones de IA pueden acceder. Incluye una arquitectura basada en plugins que permite a los desarrolladores crear plugins MCP personalizados que exponen recursos y herramientas adicionales.

Los plugins integrados proporcionan acceso a información del sitio, búsqueda de contenido, integración con JSON:API, comandos Drush (para desarrollo) e integración con las capacidades de llamada de funciones y agentes del módulo AI. El módulo admite múltiples métodos de autenticación, incluyendo autenticación basada en tokens, autenticación básica y OAuth.

Features

  • Implementa la especificación del Model Context Protocol (MCP) versión 2025-03-26 para Drupal
  • Arquitectura basada en plugins para funcionalidad MCP extensible con descubrimiento automático de plugins
  • Múltiples plugins MCP integrados: General (información/estado del sitio), Contenido (búsqueda/recursos), JSON:API, Comandos Drush, Llamada de Funciones AI, Llamada de Agentes AI e integración con Tool API
  • Autenticación configurable que soporta autenticación basada en tokens, autenticación básica y OAuth
  • Control de acceso basado en roles tanto a nivel de plugin como de herramientas individuales
  • Soporte para transporte HTTP (endpoint directo) y transporte STDIO (a través de contenedor Docker)
  • Ejemplos de configuración de conexión para Claude Desktop, Claude Code y Cursor IDE
  • Soporte de anotaciones de herramientas para indicaciones sobre el comportamiento de la herramienta (solo lectura, idempotente, destructivo, mundo abierto)
  • Descripciones de herramientas personalizadas para sobrescribir las descripciones predeterminadas para optimización de LLM
  • Comando generador Drush para crear scaffolding de nuevos plugins MCP
  • Cumplimiento del protocolo JSON-RPC 2.0 a través del módulo jsonrpc
  • Protección contra inundaciones para autenticación para prevenir ataques de fuerza bruta
  • Submódulo MCP Studio para crear herramientas sin programar usando texto, JSON o plantillas Twig

Use Cases

Gestión de contenido impulsada por IA

Conecta Claude Desktop o Cursor IDE a tu sitio Drupal para habilitar la gestión de contenido asistida por IA. La IA puede buscar contenido, leer artículos y entender la estructura de tu sitio a través de herramientas y recursos MCP.

Automatización del desarrollo

Usa el plugin de comandos Drush (con las consideraciones de seguridad apropiadas) para permitir que los asistentes de IA ejecuten comandos Drush, como limpiar cachés, ejecutar actualizaciones o generar código durante el desarrollo.

Flujos de trabajo de IA personalizados

Crea plugins MCP personalizados que expongan la funcionalidad específica de tu sitio como herramientas. Por ejemplo, exponer un sistema de inventario de productos, funciones de gestión de usuarios o lógica de negocio personalizada como herramientas MCP.

Búsqueda y recuperación de contenido

Usa el plugin JSON:API para permitir que las aplicaciones de IA busquen y recuperen contenido con filtrado avanzado, ordenación e includes de relaciones, permitiendo respuestas contextuales de IA basadas en el contenido de tu sitio.

Integración de agentes AI

Cuando uses el ecosistema del módulo AI, expón los agentes AI como herramientas MCP, permitiendo que aplicaciones de IA externas como Claude activen e interactúen con agentes AI alojados en Drupal.

Prototipado rápido de herramientas

Usa el submódulo MCP Studio para crear y probar rápidamente herramientas MCP sin escribir código. Define esquemas de entrada, plantillas de salida (con soporte Twig) y prueba tus herramientas antes de implementarlas como plugins propiamente dichos.

Tips

  • Comienza con el plugin MCP General habilitado para probar la conectividad básica antes de habilitar plugins más complejos.
  • Usa la página de información de conexión (/admin/config/mcp/connection) para obtener fragmentos de configuración listos para usar para tu cliente MCP.
  • Para desarrollo, usa el submódulo MCP Studio para prototipar rápidamente herramientas antes de implementarlas como plugins propiamente dichos.
  • Cuando uses el plugin de comandos Drush, habilita solo los comandos específicos que necesites y deshabilita el plugin en producción.
  • Usa restricciones de roles a nivel de herramienta para proporcionar control de acceso granular cuando diferentes usuarios necesiten acceso a diferentes herramientas.
  • Las descripciones personalizadas de herramientas se pueden usar para proporcionar más contexto o ejemplos al LLM sobre cómo usar herramientas específicas.
  • El plugin JSON:API con JSON:API Schema proporciona la mejor experiencia para la recuperación de contenido ya que los LLMs pueden entender el esquema antes de consultar.

Technical Details

Admin Pages 4
Configuración MCP /admin/config/mcp

Configura los ajustes de autenticación para el servidor MCP. Esta página te permite habilitar la autenticación y configurar los métodos de autenticación disponibles.

Plugins MCP /admin/config/mcp/plugins

Ver y gestionar todos los plugins MCP disponibles. Esta página muestra la lista de plugins con su estado (habilitado/deshabilitado/requisitos no cumplidos) y proporciona acceso a la configuración individual de cada plugin.

Configurar plugin MCP /admin/config/mcp/plugins/{plugin}/settings

Configura los ajustes individuales del plugin MCP incluyendo habilitar/deshabilitar el plugin, establecer roles permitidos, configurar opciones personalizadas del plugin y gestionar ajustes de herramientas individuales.

Información de conexión /admin/config/mcp/connection

Muestra la información de conexión del servidor MCP y ejemplos de configuración para varios clientes MCP incluyendo Claude Desktop, Claude Code y Cursor. Incluye botones de copiar para facilitar la configuración.

Permisos 2
Usar servidor MCP

Permite a los usuarios acceder al servidor MCP y ejecutar plugins habilitados.

Administrar configuración MCP

Permite a los usuarios administrar la configuración MCP. Este es un permiso restringido.

Drush Commands 1
drush generate mcp:plugin

Genera un nuevo plugin MCP con código scaffolding incluyendo la clase del plugin con los métodos getTools() y executeTool().

Troubleshooting 5
La autenticación falla con 'Demasiados intentos de inicio de sesión fallidos'

El módulo implementa protección contra inundaciones. Espera a que expire la ventana de inundación (configurada en los ajustes user.flood) o limpia las entradas de inundación de la base de datos.

El plugin muestra estado 'Requisitos no cumplidos'

Verifica los requisitos del plugin. Por ejemplo, el plugin Content requiere el módulo Node, el plugin JSON:API requiere el módulo JSON:API, y los plugins AI requieren que los respectivos módulos AI estén instalados y configurados.

Las herramientas no aparecen en el cliente MCP

Asegúrate de que el plugin esté habilitado, las herramientas específicas estén habilitadas en la configuración del plugin, y el usuario autenticado tenga los permisos de rol apropiados.

La conexión desde Claude Desktop falla

Verifica que la configuración de transporte STDIO sea correcta, asegúrate de que Docker esté ejecutándose, y comprueba que el sitio Drupal sea accesible desde el contenedor Docker (usa --network=host para desarrollo local).

Errores de acceso denegado a herramientas

Verifica tanto las configuraciones de roles a nivel de plugin como a nivel de herramienta. Asegúrate de que el usuario autenticado tenga el permiso 'use mcp server' y los roles apropiados.

Security Notes 7
  • El plugin de comandos Drush solo debe habilitarse en entornos de desarrollo debido a la naturaleza poderosa de los comandos Drush.
  • Siempre habilita la autenticación en entornos de producción para prevenir el acceso no autorizado a las herramientas MCP.
  • Usa el módulo Key para almacenar de forma segura los tokens de autenticación en lugar de codificarlos directamente.
  • Revisa y restringe el acceso a plugins y herramientas por rol para seguir el principio de mínimo privilegio.
  • El módulo implementa protección contra inundaciones para autenticación para prevenir ataques de fuerza bruta.
  • La autenticación por token usa un contexto de usuario único - considera usar autenticación básica con cuentas de usuario individuales para mejores registros de auditoría.
  • Ten cuidado al exponer contenido a través de MCP - considera qué datos deben ser accesibles para las aplicaciones de IA.