Agentes de IA para gestionar sitios WordPress desde Kiro (o cualquier IDE con soporte MCP/steering).
Incluye dos modos de operación:
- MCP — conexión directa al Model Context Protocol de WordPress.com (exclusivo WordPress.com)
- CLI — script Python compatible con cualquier sitio WordPress:
- WordPress.com (REST API v1.1 + OAuth2)
- WordPress self-hosted (REST API v2 + Application Passwords) — cualquier WordPress 5.6+
| Componente | WordPress.com | Self-hosted (cualquier WP 5.6+) | Jetpack-connected |
|---|---|---|---|
MCP (wp-agent-mcp) |
✅ | ❌ | ✅ (parcial) |
CLI (wp.py) |
✅ | ✅ | ✅ |
- MCP: endpoint exclusivo de WordPress.com (
public-api.wordpress.com/wpcom/v2/mcp/v1). Solo funciona con sitios alojados en WordPress.com o conectados vía Jetpack. - CLI modo wpcom: REST API v1.1 de WordPress.com (OAuth2 bearer token)
- CLI modo selfhosted: WP REST API v2 (Application Passwords) — funciona con cualquier instalación de WordPress (hosting propio, VPS, shared hosting, etc.) que tenga la REST API habilitada (activada por defecto desde WordPress 5.6).
- Python 3.10+
- Un sitio WordPress (cualquiera de los siguientes):
- WordPress.com (con token OAuth2)
- WordPress self-hosted (con Application Passwords habilitado — por defecto en WP 5.6+)
- Kiro IDE (opcional, para usar los steering agents y MCP)
git clone https://github.com/romerogt/wp-kiro-agent.git
cd wp-kiro-agentpython3 -m venv venv
source venv/bin/activate
pip install -r requirements.txtCrea un archivo .env en la raíz del proyecto:
Para WordPress.com:
WP_MODE=wpcom
WP_ACCESS_TOKEN=tu_token_oauth2_aqui
WP_SITE=tusitio.wordpress.com¿Cómo obtener el token?
- Ve a https://developer.wordpress.com/apps/
- Crea una app (Redirect URL:
http://localhost, Type: Web) - Genera un token de acceso desde la página de la app
- O usa el asistente interactivo:
./venv/bin/python wp.py setup
Para self-hosted (cualquier WordPress 5.6+):
WP_MODE=selfhosted
WP_SITE=https://tu-dominio.com
WP_USERNAME=admin
WP_APP_PASSWORD=xxxx xxxx xxxx xxxx xxxx xxxx¿Cómo generar un Application Password?
- Ve a wp-admin → Usuarios → Tu perfil
- Sección "Application Passwords" (al final de la página)
- Escribe un nombre (ej: "WP CLI") y haz clic en "Agregar"
- Copia la contraseña generada (solo se muestra una vez)
./venv/bin/python wp.py siteEsta sección aplica únicamente si usas Kiro IDE con un sitio WordPress.com.
Crea el archivo .kiro/settings/mcp.json:
{
"mcpServers": {
"wpcom-mcp": {
"url": "https://public-api.wordpress.com/wpcom/v2/mcp/v1",
"headers": {
"Authorization": "Bearer TU_TOKEN_AQUI"
}
}
}
}Luego habilita las operaciones en https://wordpress.com/me/mcp:
- posts, pages, tags, media (CRUD)
- settings (get/update)
- statistics, patterns
wp-kiro-agent/
├── .kiro/
│ ├── settings/
│ │ └── mcp.json # Config MCP con token (NO commitear)
│ └── steering/
│ ├── wp-agent.md # Router principal (auto-inclusión)
│ ├── wp-agent-mcp.md # Agente MCP (activar con #wp-agent-mcp)
│ └── wp-agent-cli.md # Agente CLI (activar con #wp-agent-cli)
├── .env # Credenciales (NO commitear)
├── .gitignore
├── README.md
├── requirements.txt
├── wp.py # CLI Python (wpcom + selfhosted)
├── quickstart.sh # Guía rápida
└── agente_mcp.md # Documentación extendida del agente MCP
El steering wp-agent.md se carga automáticamente en cada sesión. Para instrucciones detalladas:
- Escribe
#wp-agent-mcpen el chat para activar el agente MCP (WordPress.com) - Escribe
#wp-agent-clien el chat para activar el agente CLI (cualquier WordPress)
Ejemplos de lo que puedes pedirle:
- "Publica este texto como entrada"
- "¿Cómo está mi sitio?"
- "Lista los borradores pendientes"
- "Crea una página de contacto"
- "Cambia el nombre del sitio a X"
# Listar posts publicados
./venv/bin/python wp.py posts list
# Crear post desde archivo
./venv/bin/python wp.py posts create -t "Título" --file contenido.html -s publish
# Gestionar categorías
./venv/bin/python wp.py categories list
./venv/bin/python wp.py categories create "Nueva Categoría"
# Moderar comentarios
./venv/bin/python wp.py comments list -s unapproved
./venv/bin/python wp.py comments moderate 15 approved
# Estadísticas (solo WordPress.com)
./venv/bin/python wp.py stats top -d 30
# Info del sitio
./venv/bin/python wp.py site
# Forzar modo desde la línea de comandos
./venv/bin/python wp.py --mode selfhosted --site https://mi-wp.com posts list| Operación | MCP (solo WP.com) | CLI (cualquier WP) |
|---|---|---|
| Posts (CRUD) | ✅ | ✅ |
| Páginas (CRUD) | ✅ | ✅ |
| Tags (CRUD) | ✅ | ✅ |
| Media (upload/list) | ✅ | ✅ |
| Categorías | ❌ | ✅ |
| Comentarios | ❌ | ✅ |
| Seguidores | ❌ | ✅ (solo wpcom) |
| Settings (nombre, desc) | ✅ | ❌ |
| Estadísticas | ✅ | ✅ (solo wpcom) |
| Patrones/bloques | ✅ | ❌ |
| Contexto de diseño | ✅ | ❌ |
| Jetpack Search | ✅ | ❌ |
| Newsletter status | ✅ | ❌ |
Para adaptar los agentes a tu sitio, edita:
.kiro/steering/wp-agent.md— nombre del sitio, dominio y autor.kiro/steering/wp-agent-mcp.md—wpcom_site(solo WordPress.com).kiro/steering/wp-agent-cli.md—wpcom_siteo URL del self-hosted
MIT