Plugin de WordPress que proporciona abilities personalizadas para gestionar tu sitio desde Claude, Claude Code o cualquier cliente compatible con el Model Context Protocol (MCP).
MCP Custom Abilities for WordPress
Plugin de WordPress que proporciona 19 abilities personalizadas para gestionar tu sitio desde Claude, Claude Code o cualquier cliente compatible con el Model Context Protocol (MCP).
Permite crear, editar, eliminar posts, gestionar categorías, etiquetas e imágenes destacadas directamente desde una conversación con IA, sin necesidad de acceder al panel de WordPress.
📋 Tabla de Contenidos
- Características
- Requisitos
- Instalación
- Configuración
- Abilities Disponibles
- Casos de Uso
- Ejemplos de Uso
- Seguridad
- FAQ
- Contribuir
- Changelog
- Licencia
✨ Características
- 🚀 Gestión completa de posts - Crear, leer, actualizar, eliminar y publicar
- 🏷️ Taxonomías - Gestionar categorías y etiquetas
- 🖼️ Medios - Subir imágenes desde URL, gestionar imágenes destacadas
- 🔒 Seguro - Respeta los permisos de usuario de WordPress
- 🌐 Multilenguaje - Preparado para traducción
- ⚡ Ligero - Sin dependencias externas, código optimizado
- 🔌 Plug & Play - Funciona inmediatamente con MCP Adapter
📦 Requisitos
| Requisito | Versión | |-----------|---------| | WordPress | 6.9 o superior | | PHP | 7.4 o superior | | MCP Adapter | 0.4.0 o superior | | AI Experiments (opcional) | 0.3.0 o superior |
Plugins Requeridos
-
MCP Adapter - Puente entre WordPress y el protocolo MCP
- Instalar desde: https://github.com/WordPress/mcp-adapter
- O vía Composer:
composer require wordpress/mcp-adapter
-
WordPress Abilities API - Incluida en WordPress 6.9+ o disponible como plugin separado
🔧 Instalación
Opción 1: Descarga directa
- Descarga el archivo ZIP del plugin desde Releases
- Ve a Plugins → Añadir nuevo → Subir plugin en tu WordPress
- Sube el archivo ZIP y activa el plugin
Opción 2: Vía Git
cd wp-content/plugins/
git clone https://github.com/VitalyTechSquad/mcp-custom-abilities.git
Opción 3: Vía Composer
composer require vitalytech-squad/mcp-custom-abilities
Activación
- Ve a Plugins en el panel de WordPress
- Activa MCP Custom Abilities
- Asegúrate de que MCP Adapter también está activo
⚙️ Configuración
Configuración del Cliente MCP (Claude Desktop / Claude Code)
Añade la configuración del servidor MCP en tu cliente. Ejemplo para Claude Desktop:
{
"mcpServers": {
"wordpress": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-wordpress"],
"env": {
"WORDPRESS_URL": "https://tu-sitio.com",
"WORDPRESS_USERNAME": "tu-usuario",
"WORDPRESS_PASSWORD": "tu-application-password"
}
}
}
}
Crear Application Password en WordPress
- Ve a Usuarios → Tu Perfil
- Busca la sección Application Passwords
- Crea una nueva contraseña y guárdala
🛠️ Abilities Disponibles
Posts
| Ability | Descripción |
|---------|-------------|
| mcp-custom/create-post | Crea un nuevo post con título, contenido, categorías, etiquetas, extracto y slug |
| mcp-custom/update-post | Actualiza cualquier campo de un post existente |
| mcp-custom/get-post | Obtiene todos los detalles de un post (contenido, meta, taxonomías) |
| mcp-custom/list-posts | Lista posts con filtros por estado, categoría, autor, búsqueda |
| mcp-custom/delete-post | Mueve a papelera o elimina permanentemente |
| mcp-custom/publish-post | Publica un borrador rápidamente |
Categorías
| Ability | Descripción |
|---------|-------------|
| mcp-custom/list-categories | Lista todas las categorías con conteo de posts |
| mcp-custom/create-category | Crea una nueva categoría (con soporte para jerarquía) |
| mcp-custom/update-category | Actualiza nombre, slug, descripción o padre de una categoría existente |
| mcp-custom/delete-category | Elimina una categoría por su term ID |
Etiquetas
| Ability | Descripción |
|---------|-------------|
| mcp-custom/list-tags | Lista todas las etiquetas |
| mcp-custom/create-tag | Crea una nueva etiqueta |
| mcp-custom/delete-tag | Elimina una etiqueta por su term ID |
Medios e Imágenes
| Ability | Descripción |
|---------|-------------|
| mcp-custom/upload-image-from-url | Descarga imagen desde URL y la sube a WordPress |
| mcp-custom/set-featured-image | Asigna una imagen existente como destacada |
| mcp-custom/remove-featured-image | Quita la imagen destacada de un post |
| mcp-custom/list-media | Lista imágenes de la biblioteca con filtros |
Información del Sitio
| Ability | Descripción |
|---------|-------------|
| mcp-custom/get-site-info | Obtiene información básica del sitio |
| mcp-custom/get-current-user | Devuelve información del usuario autenticado (ID, roles, capacidades) |
💡 Casos de Uso
1. Publicación rápida desde Claude
"Crea un borrador de post sobre las novedades de WordPress 6.9 con las etiquetas 'wordpress' y 'actualizaciones'"
Claude usará mcp-custom/create-post para crear el borrador directamente.
2. Gestión de contenido por lotes
"Lista todos los posts en borrador del último mes"
Claude usará mcp-custom/list-posts con los filtros apropiados.
3. Workflow completo de publicación
"Genera un artículo sobre IA en WordPress, busca una imagen relacionada, súbela como destacada y publícalo"
Claude encadenará:
mcp-custom/create-post(borrador)mcp-custom/upload-image-from-url(con imagen generada o de URL)mcp-custom/publish-post
4. Actualización masiva de metadatos
"Añade la etiqueta 'featured' a todos los posts de la categoría 'Tutoriales'"
Claude combinará:
mcp-custom/list-posts(filtrar por categoría)mcp-custom/update-post(para cada post)
5. Auditoría de contenido
"Dame un resumen de todos los posts sin imagen destacada"
Claude usará mcp-custom/list-posts y mcp-custom/get-post para identificarlos.
📝 Ejemplos de Uso
Crear un post completo
Usuario: Crea un post titulado "Guía de MCP para WordPress" con el contenido
que te proporciono, en la categoría "Tutoriales" (ID: 5), con las
etiquetas "mcp", "wordpress", "ia", y publícalo directamente.
Claude ejecutará:
- mcp-custom/create-post con:
{
"title": "Guía de MCP para WordPress",
"content": "...",
"categories": [5],
"tags": ["mcp", "wordpress", "ia"],
"status": "publish"
}
Subir imagen destacada desde URL
Usuario: Sube esta imagen https://ejemplo.com/imagen.jpg como destacada
del post 123, con alt text "Diagrama de arquitectura MCP"
Claude ejecutará:
- mcp-custom/upload-image-from-url con:
{
"url": "https://ejemplo.com/imagen.jpg",
"post_id": 123,
"alt_text": "Diagrama de arquitectura MCP",
"title": "Arquitectura MCP"
}
Buscar y actualizar posts
Usuario: Busca posts que contengan "WordPress 6.8" y actualiza
el título para que diga "WordPress 6.9"
Claude ejecutará:
1. mcp-custom/list-posts con {"search": "WordPress 6.8"}
2. mcp-custom/update-post para cada resultado
🔒 Seguridad
Permisos
Cada ability verifica los permisos del usuario autenticado:
| Acción | Capability Requerida |
|--------|---------------------|
| Crear/Editar posts | edit_posts |
| Publicar posts | publish_posts |
| Eliminar posts | delete_posts |
| Subir medios | upload_files |
| Gestionar categorías | manage_categories |
| Leer contenido | read |
Validación de Datos
- Todos los inputs se sanitizan con funciones nativas de WordPress
- URLs se validan antes de descargar
- Los tipos MIME de imágenes se verifican
- IDs se convierten a enteros
Recomendaciones
- Usa Application Passwords en lugar de contraseñas reales
- Limita los permisos del usuario MCP al mínimo necesario
- Usa HTTPS siempre en producción
- Revisa los logs de actividad periódicamente
❓ FAQ
¿Funciona con WordPress.com?
No directamente. WordPress.com no permite plugins personalizados en planes gratuitos. Necesitas WordPress.org (self-hosted) o un plan Business de WordPress.com.
¿Puedo añadir mis propias abilities?
¡Sí! Usa el hook wp_abilities_api_init:
add_action('wp_abilities_api_init', function() {
wp_register_ability('mi-plugin/mi-ability', [
'label' => 'Mi Ability',
'description' => 'Descripción...',
'category' => 'content-management',
'input_schema' => [...],
'execute_callback' => function($input) {
// Tu lógica aquí
return ['success' => true];
},
'permission_callback' => fn() => current_user_can('edit_posts'),
'meta' => [
'show_in_rest' => true,
'mcp' => ['public' => true, 'type' => 'tool']
]
]);
});
¿Por qué mis abilities no aparecen en MCP?
Verifica que:
- El plugin MCP Adapter está activo
- Tu ability tiene
'mcp' => ['public' => true]en meta - La categoría está registrada en
wp_abilities_api_categories_init - No hay errores PHP (revisa debug.log)
¿Qué tamaño de imagen recomiendas?
Para imágenes destacadas optimizadas para redes sociales: 1200x630 píxeles.
🤝 Contribuir
¡Las contribuciones son bienvenidas!
- Fork el repositorio
- Crea una rama para tu feature (
git checkout -b feature/nueva-ability) - Commit tus cambios (
git commit -am 'Añade nueva ability') - Push a la rama (
git push origin feature/nueva-ability) - Abre un Pull Request
Reportar Bugs
Usa GitHub Issues para reportar bugs o sugerir mejoras.
📜 Changelog
2.1.0 (2026-02-17)
- ✨ 4 nuevas abilities de taxonomías:
update-category,delete-category,create-tag,delete-tag - 👤 Nueva ability
get-current-userpara obtener información del usuario autenticado - 📝 Total: 19 abilities disponibles
2.0.0 (2026-02-17)
- ✨ Versión inicial pública
- 📝 14 abilities para gestión completa de contenido
- 🖼️ Soporte para subida de imágenes desde URL
- 🏷️ Gestión de categorías y etiquetas
- 🔒 Validación completa de permisos
📄 Licencia
Este plugin está licenciado bajo GPL v2 o posterior.
MCP Custom Abilities for WordPress
Copyright (C) 2026 VitalyTech
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
🙏 Créditos
- WordPress MCP Adapter - El puente que hace esto posible
- WordPress Abilities API - La API de abilities de WordPress
- Anthropic - Creadores de Claude y el protocolo MCP
- VitalyTech - Desarrollo y mantenimiento
Hecho con ❤️ por VitalyTech