WordPress MCP Server

Gestiona sitios de WordPress a través de la API REST. Permite que los asistentes de IA manejen contenido, publicaciones y configuraciones del sitio.

Documentación

WordPress MCP Server

smithery badge

Un servidor de Model Context Protocol (MCP) que permite a los asistentes de IA interactuar con sitios WordPress a través de la API REST de WordPress. Admite múltiples sitios WordPress con autenticación segura, permitiendo la gestión de contenido, operaciones de publicaciones y configuración del sitio mediante lenguaje natural.

Características

  • Soporte multi-sitio: Conéctese a múltiples sitios WordPress simultáneamente
  • Integración con API REST: Acceso completo a los endpoints de la API REST de WordPress
  • Autenticación segura: Utiliza contraseñas de aplicación para un acceso seguro a la API
  • Descubrimiento dinámico de endpoints: Mapea automáticamente los endpoints disponibles para cada sitio
  • Operaciones flexibles: Soporte para métodos GET, POST, PUT, DELETE y PATCH
  • Manejo de errores: Manejo elegante de errores con mensajes significativos
  • Configuración sencilla: Archivo de configuración JSON fácil de mantener

Instalación

Instalación mediante Smithery

Para instalar WordPress Server para Claude Desktop automáticamente mediante Smithery:

npx -y @smithery/cli install server-wp-mcp --client claude

Instalación manual

npm install server-wp-mcp

Referencia de herramientas

wp_discover_endpoints

Mapea todos los endpoints disponibles de la API REST en un sitio WordPress.

Argumentos:

{
    "site": {
        "type": "string",
        "description": "Site alias (as defined in configuration)",
        "required": true
    }
}

Devuelve: Lista de endpoints disponibles con sus métodos y espacios de nombres.

wp_call_endpoint

Ejecuta solicitudes a la API REST de sitios WordPress.

Argumentos:

{
    "site": {
        "type": "string",
        "description": "Site alias",
        "required": true
    },
    "endpoint": {
        "type": "string",
        "description": "API endpoint path",
        "required": true
    },
    "method": {
        "type": "string",
        "enum": ["GET", "POST", "PUT", "DELETE", "PATCH"],
        "description": "HTTP method",
        "default": "GET"
    },
    "params": {
        "type": "object",
        "description": "Request parameters or body data",
        "required": false
    }
}

Configuración

Obtención de una contraseña de aplicación

  1. Inicie sesión en su panel de administración de WordPress
  2. Vaya a Usuarios → Perfil
  3. Desplácese hasta la sección "Contraseñas de aplicación"
  4. Ingrese un nombre para la aplicación (por ejemplo, "MCP Server")
  5. Haga clic en "Agregar nueva contraseña de aplicación"
  6. Copie la contraseña generada (no podrá verla nuevamente)

Nota: Las contraseñas de aplicación requieren WordPress 5.6 o posterior y HTTPS.

Configuración del archivo de configuración

Cree un archivo de configuración JSON (por ejemplo, wp-sites.json) con los detalles de su sitio WordPress:

{
    "myblog": {
        "URL": "https://myblog.com",
        "USER": "yourusername",
        "PASS": "abcd 1234 efgh 5678"
    },
    "testsite": {
        "URL": "https://test.example.com",
        "USER": "anotherusername",
        "PASS": "wxyz 9876 lmno 5432"
    }
}

Cada configuración de sitio requiere:

  • URL: URL del sitio WordPress (debe incluir http:// o https://)
  • USER: Nombre de usuario de WordPress
  • PASS: Contraseña de aplicación (los espacios se eliminarán automáticamente)

La clave de configuración (por ejemplo, "myblog", "testsite") se convierte en el alias del sitio que utilizará al interactuar con el servidor.

Uso con Claude Desktop

Agregue a su claude_desktop_config.json:

{
    "mcpServers": {
        "wordpress": {
            "command": "node",
            "args": ["path/to/server/dist/index.js"],
            "env": {
                "WP_SITES_PATH": "/absolute/path/to/wp-sites.json"
            }
        }
    }
}

La variable de entorno WP_SITES_PATH debe apuntar a la ruta absoluta de su archivo de configuración.

Ejemplo de uso

Una vez configurado, puede pedirle a Claude que realice diversas operaciones de WordPress:

Listar y consultar publicaciones

Can you show me all posts from myblog published in the last month?
Find all posts on testsite tagged with "technology" and "AI"
Show me draft posts from myblog that need review

Crear y editar contenido

Create a new draft post on testsite titled "The Future of AI" with these key points: [points]
Update the featured image on myblog's latest post about machine learning
Add a new category called "Tech News" to myblog

Gestionar comentarios

Show me all pending comments on myblog's latest post
Find comments from testsite that might be spam
List the most engaged commenters on myblog

Gestión de plugins

What plugins are currently active on myblog?
Check if any plugins on testsite need updates
Tell me about the security plugins installed on myblog

Gestión de usuarios

Show me all users with editor role on testsite
Create a new author account on myblog
Update user roles and permissions on testsite

Configuración y ajustes del sitio

What theme is currently active on myblog?
Check the permalink structure on testsite
Show me the current media library settings on myblog

Mantenimiento y diagnóstico

Check if there are any broken links on myblog
Show me the PHP version and other system info for testsite
List any pending database updates on myblog

Manejo de errores

El servidor maneja errores comunes, incluyendo:

  • Ruta o formato de archivo de configuración no válido
  • Configuraciones de sitio no válidas
  • Fallos de autenticación
  • Endpoints faltantes o no válidos
  • Limitación de velocidad de la API
  • Errores de red

Todos los errores se devuelven con mensajes descriptivos para ayudar a diagnosticar problemas.

Consideraciones de seguridad

  • Mantenga su archivo wp-sites.json seguro y nunca lo envíe al control de versiones
  • Considere usar variables de entorno para datos sensibles en producción
  • Almacene el archivo de configuración fuera de los directorios públicos
  • Use HTTPS para todos los sitios WordPress
  • Rote las contraseñas de aplicación regularmente
  • Siga el principio de menor privilegio al asignar roles de usuario