Home
Login

Un plugin que transforma un sitio de WordPress en un servidor de Protocolo de Contexto de Modelo (MCP), permitiendo que agentes de IA y modelos de lenguaje grandes interactúen con las funcionalidades de WordPress a través de una API REST.

PHP 213Automatticwordpress-mcp Last Updated: 2025-06-24

Introducción Detallada al Proyecto WordPress MCP

Resumen del Proyecto

WordPress MCP (Model Context Protocol) es un plugin de WordPress desarrollado por Automattic, diseñado para transformar un sitio WordPress en un servidor MCP simple. Expone las funcionalidades del sitio a través de la API REST de WordPress, permitiendo que modelos de lenguaje grandes (LLMs) y agentes de IA interactúen con él. Este proyecto permite a los desarrolladores utilizar herramientas de IA para automatizar tareas como la gestión de contenido, las operaciones de usuario y la configuración del sitio, mejorando la eficiencia del desarrollo y la capacidad de integración.

Funcionalidades Principales

  1. Soporte para Servidor MCP:

    • Proporciona funcionalidad de servidor MCP a través de rutas de la API REST (como /wp/v2/wpmcp y /wp/v2/wpmcp/streamable), permitiendo la interacción de agentes de IA con WordPress.
    • Soporta dos capas de transporte: McpStdioTransport (entrada y salida estándar) y McpStreamableTransport (transmisión en flujo, adecuada para SSE u otros protocolos de transmisión).
  2. Mecanismo de Autenticación:

    • Utiliza un sistema de autenticación JWT (JSON Web Token) para garantizar una comunicación segura.
    • Soporta contraseñas de aplicación de WordPress (Application Passwords) y las claves de consumidor y secreto de la API REST de WooCommerce, mejorando la seguridad.
  3. Manejadores de Métodos:

    • Ofrece manejadores de métodos como Herramientas (Tools), Recursos (Resources) y Sugerencias (Prompts), que soportan la gestión de contenido, la inicialización del sitio y otras operaciones.
    • La funcionalidad se puede extender a través de herramientas personalizadas para satisfacer necesidades específicas.
  4. Interfaz de Administración:

    • Proporciona una interfaz de administración basada en React, que facilita a los usuarios la gestión de tokens de autenticación y otras configuraciones en el panel de administración de WordPress.
  5. Compatibilidad con Clientes MCP:

    • Colabora sin problemas con clientes compatibles con MCP (como Claude Desktop), soportando solicitudes a la API REST a través de un proxy (como mcp-wordpress-remote) sin necesidad de mantener una conexión abierta constante.

Características del Proyecto

  • Seguridad: Garantiza la seguridad de los datos a través de la autenticación JWT y las contraseñas de aplicación, se recomienda utilizar comunicación cifrada HTTPS.
  • Extensibilidad: Permite a los desarrolladores extender la funcionalidad del plugin añadiendo herramientas, recursos y sugerencias personalizadas.
  • Amigable para el Desarrollo: Proporciona documentación de prueba detallada (tests/README.md) y una guía de contribución, animando a la comunidad a participar en el desarrollo.
  • Ligero y Eficiente: El modo proxy evita las conexiones abiertas constantes, optimizando el rendimiento y haciéndolo adecuado para el desarrollo local y el despliegue remoto.
  • Licencia de Código Abierto: Utiliza la licencia GPL v2 o superior, abierto a la comunidad de WordPress e IA.

Arquitectura Técnica

La arquitectura central del proyecto incluye los siguientes módulos:

  • Capa de Transporte (Transport Layer):

    • McpStdioTransport: Procesa las solicitudes MCP a través de la entrada y salida estándar, adecuado para el desarrollo local.
    • McpStreamableTransport: Soporta la transmisión en flujo, adecuado para escenarios de interacción en tiempo real (actualmente algunos clientes pueden no ser compatibles).
  • Sistema de Autenticación (Authentication):

    • Utiliza la autenticación JWT, requiere la definición de WPMCP_JWT_SECRET_KEY en wp-config.php.
    • Soporta contraseñas de aplicación de WordPress y claves de WooCommerce, mejorando la flexibilidad.
  • Manejadores de Métodos (Method Handlers):

    • Herramientas (Tools): Implementa operaciones de creación, actualización y eliminación de contenido.
    • Recursos (Resources): Proporciona interfaces de acceso a datos del sitio.
    • Sugerencias (Prompts): Proporciona orientación contextual para agentes de IA.
    • Sistema e Inicialización (System & Initialization): Maneja el inicio y la configuración del servidor MCP.
  • Interfaz de Administración (Admin Interface):

    • Construida con React, ubicada en la página "Ajustes > WordPress MCP" del panel de administración de WordPress, utilizada para gestionar tokens de autenticación e interruptores de funciones.

Instalación y Configuración

Pasos de Instalación

  1. Clonar el Repositorio:

    cd wp-content/plugins/
    git clone https://github.com/Automattic/wordpress-mcp.git
    cd wordpress-mcp
    
  2. Instalar Dependencias:

    composer install --no-dev
    npm install && npm run build
    
  3. Activar el Plugin:

    • Activar el plugin WordPress MCP en la página "Plugins" del panel de administración de WordPress.
  4. Configurar la Funcionalidad MCP:

    • Navegar a "Ajustes > WordPress MCP", habilitar la funcionalidad MCP y configurar los tokens de autenticación.
  5. Configurar la Clave JWT: Añadir en wp-config.php:

    define('WPMCP_JWT_SECRET_KEY', 'your-secret-key');
    define('WPMCP_DEBUG', true); // Enable debug logging
    
  6. Instalar el Cliente Remoto (Opcional):

    • Para usar con mcp-wordpress-remote, instalar con el siguiente comando:
      npx @modelcontextprotocol/inspector \
      -e WP_API_URL=https://your-site.com/ \
      -e JWT_TOKEN=your-jwt-token-here \
      npx @automattic/mcp-wordpress-remote@latest
      

Notas de Configuración

  • Seguridad: Nunca enviar tokens de autenticación al sistema de control de versiones, asegurar que WPMCP_JWT_SECRET_KEY se almacene de forma segura.
  • Depuración: Habilitar WPMCP_DEBUG para registrar los registros de depuración, facilitando la resolución de problemas.
  • Operaciones de Eliminación: La eliminación de herramientas puede provocar la pérdida permanente de datos, habilitar solo para usuarios de confianza.
  • Dependencia del Cliente Remoto: El plugin WordPress MCP necesita ser utilizado con mcp-wordpress-remote para implementar la funcionalidad completa.

Casos de Uso

El proyecto WordPress MCP es adecuado para los siguientes escenarios:

  1. Gestión Automatizada de Contenido:

    • Crear, actualizar o eliminar artículos, páginas, usuarios, etc. a través de agentes de IA, ahorrando tiempo de operación manual.
    • Ejemplo: Usar el comando de Claude Desktop "crear 10 borradores de artículos con el título 'Artículo de prueba #1–10'" para generar contenido de prueba automáticamente.
  2. Desarrollo y Pruebas:

    • Los desarrolladores pueden utilizar las herramientas MCP para generar rápidamente datos de prueba, acelerando las pruebas de funcionalidad y el desarrollo de la integración.
    • Ejemplo: Consultar los registros de depuración y resumir los problemas a través de agentes de IA, simplificando el proceso de depuración.
  3. Gestión del Sitio:

    • Gestionar de forma remota la configuración del sitio, los permisos de usuario o los archivos multimedia, adecuado para la colaboración de equipos distribuidos.
    • Soporta la integración de WooCommerce, puede gestionar datos relacionados con el comercio electrónico (como pedidos, productos).
  4. Personalización Impulsada por IA:

    • Los desarrolladores pueden añadir herramientas personalizadas, exponiendo lógica de negocio específica para satisfacer necesidades personalizadas.
    • Ejemplo: Crear herramientas personalizadas para actualizar categorías de artículos o optimizar metadatos SEO de forma masiva.

Extensión y Desarrollo

Añadir Herramientas Personalizadas

Los desarrolladores pueden extender la funcionalidad del plugin siguiendo estos pasos:

  1. Crear el Archivo de Herramientas:

    • Añadir una nueva clase de herramienta en el directorio wp-content/plugins/wordpress-mcp/includes/Tools/.
    • Clase de herramienta de ejemplo:
      <?php
      namespace WPMCP\Tools;
      class CustomTool {
          public function execute($params) {
              // Implementar lógica personalizada
              return ['success' => true, 'data' => 'Custom tool executed'];
          }
      }
      
  2. Registrar la Herramienta:

    • Registrar la nueva herramienta durante la inicialización del plugin, asegurando que esté disponible a través de la interfaz MCP.
  3. Referencia a Implementaciones Existentes:

    • Ver el código de ejemplo en los directorios includes/Tools/, includes/Resources/ y includes/Prompts/.

Contribuir con Código

  • Guía de Contribución: Consultar las Guías de Contribución en el repositorio, enviar Pull Requests o reportar Issues.
  • Documentación de Pruebas: Ver tests/README.md para entender el flujo de pruebas, asegurando la calidad del código.
  • Requisitos de Licencia: Todas las contribuciones deben seguir la licencia GPL v2 o superior.

Recursos Relacionados

Star History Chart