WordPress MCP Server

Un servidor MCP para integrar y gestionar sitios de WordPress.

Documentación

WordPress MCP Server

Un servidor de Model Context Protocol (MCP) para la integración con WordPress, compatible con Windows, macOS y Linux.

Descripción general

Este servidor MCP permite la interacción con sitios de WordPress a través de la API REST de WordPress. Proporciona herramientas para crear, obtener y actualizar publicaciones utilizando el protocolo JSON-RPC 2.0.

Instalación

  1. Clona el repositorio
  2. Instala las dependencias:
npm install
  1. Compila el proyecto:
npm run build

Configuración

Añade el servidor a tu archivo de configuración de MCP con variables de entorno para las credenciales de WordPress:

{
  "mcpServers": {
    "wordpress": {
      "command": "node",
      "args": ["path/to/build/index.js"],
      "env": {
        "WORDPRESS_SITE_URL": "https://your-wordpress-site.com",
        "WORDPRESS_USERNAME": "your-username",
        "WORDPRESS_PASSWORD": "your-app-password"
      }
    }
  }
}

Las variables de entorno son:

  • WORDPRESS_SITE_URL: La URL de tu sitio de WordPress
  • WORDPRESS_USERNAME: El nombre de usuario de WordPress
  • WORDPRESS_PASSWORD: La contraseña de aplicación de WordPress

También puedes proporcionar estas credenciales en los parámetros de la solicitud si prefieres no usar variables de entorno.

Métodos disponibles

create_post

Crea una nueva publicación de WordPress.

Parámetros:

  • siteUrl: (opcional si está configurado en el entorno) URL del sitio de WordPress
  • username: (opcional si está configurado en el entorno) nombre de usuario de WordPress
  • password: (opcional si está configurado en el entorno) contraseña de aplicación de WordPress
  • title: Título de la publicación
  • content: Contenido de la publicación
  • status: (opcional) 'draft' | 'publish' | 'private' (predeterminado: 'draft')

get_posts

Obtiene publicaciones de WordPress.

Parámetros:

  • siteUrl: (opcional si está configurado en el entorno) URL del sitio de WordPress
  • username: (opcional si está configurado en el entorno) nombre de usuario de WordPress
  • password: (opcional si está configurado en el entorno) contraseña de aplicación de WordPress
  • perPage: (opcional) Número de publicaciones por página (predeterminado: 10)
  • page: (opcional) Número de página (predeterminado: 1)

update_post

Actualiza una publicación existente de WordPress.

Parámetros:

  • siteUrl: (opcional si está configurado en el entorno) URL del sitio de WordPress
  • username: (opcional si está configurado en el entorno) nombre de usuario de WordPress
  • password: (opcional si está configurado en el entorno) contraseña de aplicación de WordPress
  • postId: ID de la publicación a actualizar
  • title: (opcional) Nuevo título de la publicación
  • content: (opcional) Nuevo contenido de la publicación
  • status: (opcional) 'draft' | 'publish' | 'private'

Nota de seguridad

Por seguridad, se recomienda usar contraseñas de aplicación de WordPress en lugar de la contraseña principal de tu cuenta. Puedes generar una contraseña de aplicación en tu panel de WordPress en Usuarios → Seguridad → Contraseñas de aplicación.

Ejemplo de uso

Usando variables de entorno:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "create_post",
  "params": {
    "title": "My New Post",
    "content": "Hello World!",
    "status": "draft"
  }
}

Sin variables de entorno:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "create_post",
  "params": {
    "siteUrl": "https://your-wordpress-site.com",
    "username": "your-username",
    "password": "your-app-password",
    "title": "My New Post",
    "content": "Hello World!",
    "status": "draft"
  }
}

Requisitos

  • Node.js 20.0.0 o superior
  • Sitio de WordPress con la API REST habilitada
  • Contraseña de aplicación de WordPress para la autenticación

Licencia

Licencia MIT: consulta el archivo LICENSE para obtener más detalles.