WordPress Standalone
Integra asistentes de IA con sitios de WordPress utilizando la API REST de WordPress.
Documentación
WordPress Standalone MCP Server
Un potente servidor Model Context Protocol (MCP) que proporciona una integración perfecta entre asistentes de IA y sitios WordPress a través de la API REST de WordPress. Este servidor descubre y crea automáticamente herramientas individuales para cada endpoint de la API REST de WordPress, permitiendo la gestión de WordPress en lenguaje natural.
✨ Características
- 🔄 Generación Dinámica de Herramientas: Crea automáticamente herramientas individuales para cada endpoint de la API REST de WordPress descubierto
- 🌐 Soporte Multi-Sitio: Gestiona múltiples sitios WordPress simultáneamente desde una única configuración
- 🔒 Autenticación Segura: Utiliza Contraseñas de Aplicación de WordPress para un acceso seguro a la API
- 🎯 Filtrado Inteligente de Herramientas: Incluye/excluye herramientas específicas usando coincidencias exactas o patrones regex
- 📊 Cobertura Integral: Soporte para entradas, páginas, usuarios, medios, comentarios, plugins, temas y más
- 🚀 Descubrimiento sin Configuración: Mapea automáticamente todos los endpoints disponibles sin configuración manual
- ⚡ Alto Rendimiento: Descubrimiento de endpoints y manejo de solicitudes eficiente
- 🛡️ Manejo de Errores: Manejo de errores elegante con mensajes de diagnóstico detallados
🚀 Inicio Rápido
Instalación
# Install globally
npm install -g wp-standalone-mcp
# Or run directly with npx
npx github:diazoxide/wp-standalone-mcp start
Configuración Básica
- Crea una Contraseña de Aplicación de WordPress:
- Ve a tu administrador de WordPress → Usuarios → Perfil
- Desplázate a la sección "Contraseñas de Aplicación"
- Crea una nueva contraseña de aplicación
- Copia la contraseña generada
- Ve a tu administrador de WordPress → Usuarios → Perfil
- Crea el archivo de configuración (
wp-sites.json):{ "myblog": { "URL": "https://myblog.com", "USER": "your_username", "PASS": "your_application_password" } } - Configura Claude Desktop (
claude_desktop_config.json):{ "mcpServers": { "wordpress": { "command": "npx", "args": ["-y", "github:diazoxide/wp-standalone-mcp", "start"], "env": { "WP_SITES_PATH": "/absolute/path/to/wp-sites.json" } } } } - Reinicia Claude Desktop y ¡comienza a gestionar tus sitios WordPress!
Referencia de Herramientas
Herramientas de Endpoint Dinámicas
Cuando el servidor se inicia, descubre automáticamente todos los endpoints de la API REST de WordPress disponibles y crea herramientas individuales para cada combinación de endpoint/método. Los nombres de las herramientas siguen el patrón: [site]_[method]_[resource] o [site]_[method]_[resource]_id para endpoints específicos por ID.
Ejemplos:
myblog_get_v2_posts- Lista todas las entradasmyblog_get_v2_posts_id- Obtiene una entrada específica por IDmyblog_post_v2_posts- Crea una nueva entradamyblog_put_v2_posts_id- Actualiza una entrada específicamyblog_delete_v2_posts_id- Elimina una entrada específica
wp_discover_endpoints
Redescubre todos los endpoints de la API REST disponibles 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.
🔧 Configuración
Variables de Entorno
WP_SITES_PATH: Ruta al archivo de configuración de tus sitios WordPressWP_SITES: Configuración JSON directa (alternativa al archivo)
Esquema de Configuración del Sitio
{
"site_alias": {
"URL": "https://your-site.com",
"USER": "wordpress_username",
"PASS": "application_password",
"FILTERS": {
"include": ["tool_name_patterns"],
"exclude": ["tool_name_patterns"]
}
}
}
Obtención de una Contraseña de Aplicación
- Inicia sesión en tu panel de administración de WordPress
- Ve a Usuarios → Perfil
- Desplázate a la sección "Contraseñas de Aplicación"
- Ingresa un nombre para la aplicación (por ejemplo, "MCP Server")
- Haz clic en "Agregar Nueva Contraseña de Aplicación"
- Copia la contraseña generada (no podrás verla de nuevo)
Nota: Las Contraseñas de Aplicación requieren WordPress 5.6 o posterior y HTTPS.
Filtrado Avanzado de Herramientas
Controla qué operaciones de WordPress están disponibles filtrando herramientas:
{
"myblog": {
"URL": "https://myblog.com",
"USER": "admin",
"PASS": "abcd 1234 efgh 5678",
"FILTERS": {
"include": [
"myblog_get_v2_posts",
"myblog_post_v2_posts",
"/.*_get_.*_posts.*/"
],
"exclude": [
"myblog_delete_v2_posts_id",
"/.*_.*_users.*/",
"/.*_delete_.*/"
]
}
}
}
Reglas de Filtrado:
include: Solo se exponen las herramientas especificadas (lista blanca)exclude: Las herramientas especificadas están ocultas (lista negra)includetiene prioridad sobreexclude- Soporta coincidencias exactas y patrones regex (envuélvelos en
/pattern/)
🛠️ Herramientas Generadas
El servidor crea automáticamente herramientas siguiendo esta convención de nombres:
- Patrón:
[site]_[method]_[resource]o[site]_[method]_[resource]_id - Ejemplos:
myblog_get_v2_posts- Lista todas las entradasmyblog_get_v2_posts_id- Obtiene entrada específica por IDmyblog_post_v2_posts- Crea nueva entradamyblog_put_v2_posts_id- Actualiza entrada específicamyblog_delete_v2_posts_id- Elimina entrada específicamyblog_get_v2_media- Lista archivos multimediamyblog_get_v2_users- Lista usuarios
Herramienta de Descubrimiento
wp_discover_endpoints- Redescubre endpoints disponibles para un sitio
💡 Ejemplos de Uso
Una vez configurado, interactúa con tus sitios WordPress usando lenguaje natural:
Listar y Consultar Entradas
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 Contenido
"Show me the last 5 posts from myblog"
"Create a new draft post titled 'AI and the Future' on myblog"
"Update the featured image for post ID 123 on myblog"
"Delete the post with ID 456 from myblog"
Gestión de Medios
"List all images uploaded this month to myblog"
"Upload a new image to myblog media library"
"Get details for media file ID 789"
Gestión de Usuarios
"Show all users with editor role on myblog"
"Create a new contributor account on myblog"
"Update user permissions for user ID 101"
Análisis del Sitio
"What plugins are active on myblog?"
"Show me all pending comments"
"Get the current theme information"
"List all categories and their post counts"
🏗️ Arquitectura
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Claude AI │ │ MCP Server │ │ WordPress API │
│ │◄──►│ │◄──►│ │
│ Natural Language│ │ Dynamic Tools │ │ REST Endpoints │
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Configuration │
│ wp-sites.json │
└──────────────────┘
🔒 Seguridad
- Contraseñas de Aplicación: Utiliza el sistema seguro de contraseñas de aplicación de WordPress
- HTTPS Requerido: Todas las conexiones deben usar HTTPS
- Seguridad de Configuración: Mantén los archivos de configuración fuera de directorios accesibles desde la web
- Principio de Mínimo Privilegio: Usa cuentas con los permisos mínimos necesarios
- Sin Almacenamiento de Credenciales: Las credenciales solo se usan para la autenticación de la API
🐛 Solución de Problemas
Problemas Comunes
Error "Sitio no configurado"
- Verifica que el alias del sitio en la configuración coincida con el uso
- Revisa la ruta y el formato del archivo de configuración
Error "Autenticación fallida"
- Verifica que la contraseña de aplicación sea correcta
- Asegúrate de que la cuenta de usuario tenga los permisos necesarios
- Comprueba si la URL del sitio es accesible
Error "No se descubrieron herramientas"
- Verifica que el sitio WordPress tenga la API REST habilitada
- Comprueba si la URL del sitio incluye accesibilidad a
/wp-json - Revisa cualquier plugin de seguridad que bloquee la API REST
Modo de Depuración
Establece la variable de entorno DEBUG=wp-mcp para un registro detallado:
DEBUG=wp-mcp npx github:diazoxide/wp-standalone-mcp start
📋 Requisitos
- WordPress: 5.6+ (para Contraseñas de Aplicación)
- Node.js: 16+
- HTTPS: Requerido para Contraseñas de Aplicación
- API REST: Debe estar habilitada (por defecto en WordPress)
🤝 Contribuciones
¡Damos la bienvenida a las contribuciones! Consulta nuestra Guía de Contribución para más detalles.
- Haz un fork del repositorio
- Crea una rama de características
- Realiza tus cambios
- Agrega pruebas si corresponde
- Envía una solicitud de extracción (pull request)
📄 Licencia
Licencia MIT - consulta el archivo LICENSE para más detalles.
🔗 Enlaces
- Repositorio: https://github.com/diazoxide/wp-standalone-mcp
- Problemas: https://github.com/diazoxide/wp-standalone-mcp/issues
- API REST de WordPress: https://developer.wordpress.org/rest-api/
- Model Context Protocol: https://modelcontextprotocol.io/
🙏 Agradecimientos
- Al equipo de la API REST de WordPress por la API integral
- A Anthropic por la especificación del Model Context Protocol
- A la comunidad de código abierto por su continuo apoyo y retroalimentación
Hecho con ❤️ para la comunidad de WordPress e IA