Skip to main content
Glama

ItchWPMCP

Servidor MCP local para que Codex/Claude consulte y edite contenido de WordPress a través de la API REST de WordPress.

Puede utilizarse con cualquier sitio de WordPress que tenga la API REST habilitada y sea compatible con la autenticación mediante contraseñas de aplicación.

Configuración

  1. Crea una contraseña de aplicación en WordPress: WordPress Admin -> Usuarios -> Perfil -> Contraseñas de aplicación

  2. Copia .env.example a .env y rellena:

    WP_BASE_URL=https://your-wordpress-site.example
    WP_USERNAME=your-wordpress-username
    WP_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
    WP_ALLOW_PRODUCTION_WRITES=false
  3. Instala las dependencias:

    npm install
  4. Ejecuta el servidor:

    $env:NODE_OPTIONS='--use-system-ca'
    npm start

    NODE_OPTIONS=--use-system-ca puede ayudar en Windows cuando Node necesita el almacén de certificados del sistema.

Related MCP server: mcp-wordpress

Herramientas

  • wordpress_list_pages: listar páginas de WordPress.

  • wordpress_get_page: obtener una página por ID.

  • wordpress_create_page: crear una página, por defecto en estado de borrador.

  • wordpress_clone_page: clonar una página existente en una nueva página de borrador.

  • wordpress_update_page: actualizar título, contenido, extracto, slug, estado, padre u orden de menú.

  • wordpress_update_page_status: actualizar solo el estado de una página.

  • wordpress_delete_page: enviar a la papelera o eliminar una página con confirmación.

  • wordpress_list_posts: listar entradas de WordPress.

  • wordpress_get_post: obtener una entrada por ID.

  • wordpress_create_post: crear una entrada, por defecto en estado de borrador.

  • wordpress_update_post: actualizar una entrada.

  • wordpress_delete_post: enviar a la papelera o eliminar una entrada con confirmación.

  • wordpress_list_media: listar elementos de la biblioteca de medios.

  • wordpress_upload_media: subir un archivo local a la biblioteca de medios.

  • wordpress_list_categories: listar categorías de entradas.

  • wordpress_create_category: crear una categoría de entradas.

  • wordpress_list_tags: listar etiquetas de entradas.

  • wordpress_create_tag: crear una etiqueta de entradas.

  • wordpress_list_plugins: listar plugins si el usuario autenticado tiene permiso.

  • wordpress_update_plugin_status: activar o desactivar un plugin instalado.

  • wordpress_get_settings: leer la configuración general del sitio.

  • wordpress_update_settings: actualizar la configuración general seleccionada del sitio.

  • wordpress_list_users: listar usuarios si el usuario autenticado tiene permiso.

  • wordpress_list_menus: listar menús si el endpoint REST está disponible.

  • wordpress_list_menu_items: listar elementos de menú si el endpoint REST está disponible.

  • wordpress_rest_request: vía de escape avanzada para la API REST.

Las herramientas de escritura están habilitadas en URLs de staging. Si WP_BASE_URL se cambia a producción, las escrituras se bloquean a menos que se establezca WP_ALLOW_PRODUCTION_WRITES=true en .env.

Usar otro sitio de WordPress

Crea una contraseña de aplicación en el administrador de ese sitio de WordPress y luego actualiza .env:

WP_BASE_URL=https://another-wordpress-site.example
WP_USERNAME=your-wordpress-username
WP_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx
WP_ALLOW_PRODUCTION_WRITES=false

Mantén WP_ALLOW_PRODUCTION_WRITES=false hasta que intencionalmente desees habilitar las herramientas de escritura en una URL de producción.

Portarlo para otra persona

  1. Copia esta carpeta ItchWPMCP a su máquina o publícala como un repositorio privado/público.

  2. Ejecuta npm install dentro de la carpeta.

  3. Crea un archivo .env a partir de .env.example.

  4. En su administrador de WordPress, crea una contraseña de aplicación: Usuarios -> Perfil -> Contraseñas de aplicación

  5. Pon la URL de su sitio, nombre de usuario y contraseña de aplicación en .env.

  6. Registra el servidor MCP en su cliente MCP.

No subas archivos .env al repositorio. Las contraseñas de aplicación deben permanecer locales para cada usuario/sitio.

Configuración de Codex

Añade esto a ~/.codex/config.toml:

[mcp_servers.itch_wp_mcp]
command = "node"
args = ["C:\\path\\to\\ItchWPMCP\\src\\server.js"]
enabled = true
startup_timeout_sec = 20
tool_timeout_sec = 60

[mcp_servers.itch_wp_mcp.env]
WP_BASE_URL = "https://your-wordpress-site.example"
WP_USERNAME = "your-wordpress-username"
WP_APP_PASSWORD = "xxxx xxxx xxxx xxxx xxxx xxxx"
WP_ALLOW_PRODUCTION_WRITES = "false"
NODE_OPTIONS = "--use-system-ca"

En Windows, usar la ruta completa de Node puede ser más fiable:

command = "C:\\Program Files\\nodejs\\node.exe"

Configuración de Claude Desktop

Añade esto al archivo claude_desktop_config.json de Claude Desktop bajo mcpServers:

{
  "mcpServers": {
    "itch_wp_mcp": {
      "command": "C:\\Program Files\\nodejs\\node.exe",
      "args": [
        "C:\\path\\to\\ItchWPMCP\\src\\server.js"
      ],
      "env": {
        "WP_BASE_URL": "https://your-wordpress-site.example",
        "WP_USERNAME": "your-wordpress-username",
        "WP_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
        "WP_ALLOW_PRODUCTION_WRITES": "false",
        "NODE_OPTIONS": "--use-system-ca"
      }
    }
  }
}

En Windows, la configuración de Claude Desktop suele estar aquí:

%APPDATA%\Claude\claude_desktop_config.json

Reinicia Claude Desktop después de cambiar la configuración.

Configuración multi-sitio

No necesitas una copia separada de ItchWPMCP para cada sitio web de WordPress. Mantén una única base de código y registra múltiples servidores MCP, cada uno con diferentes variables de entorno.

Ejemplo multi-sitio para Codex

[mcp_servers.wp_erm_staging]
command = "C:\\Program Files\\nodejs\\node.exe"
args = ["C:\\Users\\hesha\\Documents\\GitHub\\ItchWPMCP\\src\\server.js"]
enabled = true
startup_timeout_sec = 20
tool_timeout_sec = 60

[mcp_servers.wp_erm_staging.env]
WP_BASE_URL = "https://staging.erm.buzzinn.co"
WP_USERNAME = "erm-admin"
WP_APP_PASSWORD = "xxxx xxxx xxxx xxxx xxxx xxxx"
WP_ALLOW_PRODUCTION_WRITES = "false"
NODE_OPTIONS = "--use-system-ca"

[mcp_servers.wp_client_site]
command = "C:\\Program Files\\nodejs\\node.exe"
args = ["C:\\Users\\hesha\\Documents\\GitHub\\ItchWPMCP\\src\\server.js"]
enabled = true
startup_timeout_sec = 20
tool_timeout_sec = 60

[mcp_servers.wp_client_site.env]
WP_BASE_URL = "https://client-site.example"
WP_USERNAME = "client-admin"
WP_APP_PASSWORD = "xxxx xxxx xxxx xxxx xxxx xxxx"
WP_ALLOW_PRODUCTION_WRITES = "false"
NODE_OPTIONS = "--use-system-ca"

Ejemplo multi-sitio para Claude

{
  "mcpServers": {
    "wp_erm_staging": {
      "command": "C:\\Program Files\\nodejs\\node.exe",
      "args": ["C:\\Users\\hesha\\Documents\\GitHub\\ItchWPMCP\\src\\server.js"],
      "env": {
        "WP_BASE_URL": "https://staging.erm.buzzinn.co",
        "WP_USERNAME": "erm-admin",
        "WP_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
        "WP_ALLOW_PRODUCTION_WRITES": "false",
        "NODE_OPTIONS": "--use-system-ca"
      }
    },
    "wp_client_site": {
      "command": "C:\\Program Files\\nodejs\\node.exe",
      "args": ["C:\\Users\\hesha\\Documents\\GitHub\\ItchWPMCP\\src\\server.js"],
      "env": {
        "WP_BASE_URL": "https://client-site.example",
        "WP_USERNAME": "client-admin",
        "WP_APP_PASSWORD": "xxxx xxxx xxxx xxxx xxxx xxxx",
        "WP_ALLOW_PRODUCTION_WRITES": "false",
        "NODE_OPTIONS": "--use-system-ca"
      }
    }
  }
}

El archivo .env es ahora solo una alternativa local. Las variables de entorno MCP por sitio tienen prioridad cuando son proporcionadas por Codex o Claude.

Modelo de seguridad

  • Las nuevas páginas/entradas se crean por defecto como draft (borrador).

  • Las herramientas destructivas requieren confirmDelete=true.

  • Las escrituras que no sean de staging están bloqueadas a menos que WP_ALLOW_PRODUCTION_WRITES=true.

  • wordpress_rest_request solo permite rutas bajo /wp-json/.

Install Server
F
license - not found
B
quality
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/manofsadness/ItchWPMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server