WordPress MCP Server

Un servidor MCP para interactuar con sitios de WordPress a través de la API REST, que permite gestionar entradas, páginas y medios.

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 WordPress a través de la API REST de WordPress. Proporciona herramientas para crear, consultar 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 las 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 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 se define en el entorno) URL del sitio WordPress
  • username: (opcional si se define en el entorno) nombre de usuario de WordPress
  • password: (opcional si se define 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

Recupera las publicaciones de WordPress.

Parámetros:

  • siteUrl: (opcional si se define en el entorno) URL del sitio WordPress
  • username: (opcional si se define en el entorno) nombre de usuario de WordPress
  • password: (opcional si se define 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 se define en el entorno) URL del sitio WordPress
  • username: (opcional si se define en el entorno) nombre de usuario de WordPress
  • password: (opcional si se define 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 WordPress con la API REST habilitada
  • Contraseña de aplicación de WordPress para autenticación

Licencia

Licencia MIT - Consulta el archivo LICENSE para más detalles