ItchWPMCP
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
Crea una contraseña de aplicación en WordPress:
WordPress Admin -> Usuarios -> Perfil -> Contraseñas de aplicaciónCopia
.env.examplea.envy 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=falseInstala las dependencias:
npm installEjecuta el servidor:
$env:NODE_OPTIONS='--use-system-ca' npm startNODE_OPTIONS=--use-system-capuede 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=falseManté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
Copia esta carpeta
ItchWPMCPa su máquina o publícala como un repositorio privado/público.Ejecuta
npm installdentro de la carpeta.Crea un archivo
.enva partir de.env.example.En su administrador de WordPress, crea una contraseña de aplicación:
Usuarios -> Perfil -> Contraseñas de aplicaciónPon la URL de su sitio, nombre de usuario y contraseña de aplicación en
.env.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.jsonReinicia 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_requestsolo permite rutas bajo/wp-json/.
Maintenance
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
- AlicenseNot gradedqualityBmaintenanceHosted MCP server that bridges Claude.ai with one or more WordPress sites.5ISC
- AlicenseAqualityBmaintenanceA Model Context Protocol server that gives Claude (or any MCP-compatible LLM) direct access to a self-hosted WordPress site over its REST API.73MIT
- AlicenseNot gradedqualityBmaintenanceA local server that enables Claude or other MCP tools to manage WordPress posts and media via REST API.21MIT
- FlicenseNot gradedqualityCmaintenanceA local MCP server that bridges Claude Desktop to your WordPress site via the WordPress MCP Adapter. It dynamically discovers and proxies all tools, resources, and prompts registered through the WordPress Abilities API.
Related MCP Connectors
WordPress MCP server: generate SEO posts, AI images, autoblog & WooCommerce on your self-hosted site
WordPress MCP server: publish posts, AI images, SEO and full site management, self-hosted
Security-first WordPress MCP server. 129 tools for Claude, ChatGPT, Gemini. Free on wp.org.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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