wp_criu
This is an MCP hub for managing WordPress sites remotely, with additional Notion and cPanel/WHM admin/registry capabilities described in the README.
List configured WordPress sites and filter by environment.
Validate a site connection and fetch bridge/site metadata via
/site-info.List, activate, deactivate, delete, and install WordPress plugins, including local ZIPs.
List and activate WordPress themes.
Read and update WordPress options.
Read and write files within a site's ABSPATH.
Run read-only SQL queries against a site database.
Proxy internal WordPress REST routes and make raw bridge endpoint requests.
Check singular/plural translations for a text domain.
Inspect WooCommerce checkout field structure.
Use README-described features for Notion OAuth/connections, cPanel/WHM account and mailbox actions, and WordPress site registry/admin onboarding.
Allows to inspect WooCommerce checkout fields.
Allows to manage one or more WordPress sites, including listing sites, inspecting sites, managing plugins and themes, reading and updating options, reading and writing files, executing read-only SQL, using a REST proxy, and automatically registering sites via an HTTP endpoint.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@wp_criu list all registered WordPress sites"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Hub propio para Codex y ChatGPT
Este servicio consolida dos cosas en una sola capa:
MCP remoto por
Streamable HTTPpara Codex y ChatGPT.Panel técnico y registry compatible para onboarding de conectores y sitios WordPress.
Qué incluye ahora
Hub MCP con herramientas de Notion, WordPress y cPanel/WHM.
State store persistido en JSON para onboarding editable.
Panel técnico en
/admin, con pestañas separadas para WordPress Bridge y Webmaster IA. El plugin comercial registra cada sitio automáticamente y las invitaciones se crean desde la pestaña Webmaster IA.Admin API en
/api/admin/*.Registry WordPress compatible:
GET /sitesGET /sites/:site_idPOST /register-sitePATCH /sites/:site_idDELETE /sites/:site_id
Registro administrativo de cuentas cPanel/WHM y validación de tokens.
Related MCP server: WordPress MCP Server
Arquitectura
src/index.ts: entrypoint HTTP,/mcp,/health,/adminy rutas de registry.src/mcp-server.ts: herramientas MCP de Notion y WordPress.src/lib/state.ts: estado persistido del hub.src/notion.ts: adaptador Notion por alias.src/wordpress.ts: adaptador WordPress compatible con el bridge actual.src/cpanel.ts: adaptador HTTPS para UAPI de cPanel y API 1 de WHM.src/admin/*: UI y API técnica de onboarding.
Variables de entorno
Obligatorias en producción:
ADMIN_API_KEYADMIN_SESSION_SECRETWORDPRESS_REGISTRY_TOKENCRIU_COMMERCIAL_TELEGRAM_TOKEN,CRIU_COMMERCIAL_WEBHOOK_SECRETyCRIU_COMMERCIAL_OPENAI_KEYpara el conector comercial; nunca se incluyen en el plugin ni en el repositorio.
Recomendadas:
MCP_AUTH_MODE=bearerMCP_API_KEYMCP_ALLOWED_HOSTS=mcp.tudominio.com,localhost,127.0.0.1HUB_STATE_FILE=/app/data/hub-state.json
Bootstrap opcional:
NOTION_CONNECTIONS_JSONWORDPRESS_BOOTSTRAP_SITES_FILELas credenciales cPanel/WHM se registran desde el panel y se persisten en el volumen privado de
HUB_STATE_FILE.NOTION_OAUTH_CLIENT_IDNOTION_OAUTH_CLIENT_SECRETNOTION_OAUTH_REDIRECT_URI
Rutas principales
GET /GET /healthGET /adminPOST /mcpGET /sitesPOST /register-site
cPanel y WHM
El conector admite dos modalidades:
cpanel_token, con un token creado dentro de cada cuenta cPanel, normalmente en el puerto2083.whm_token, con un token reseller/root creado en WHM, normalmente en el puerto2087.
La administración se hace desde estas rutas protegidas por sesión de administrador:
GET /api/admin/connectors/cpanel/accountsPOST /api/admin/connectors/cpanel/accountsPATCH /api/admin/connectors/cpanel/accounts/:accountIdDELETE /api/admin/connectors/cpanel/accounts/:accountIdPOST /api/admin/connectors/cpanel/accounts/:accountId/validate
Las herramientas MCP expuestas son cpanel_list_accounts, cpanel_check_account, cpanel_list_mailboxes, cpanel_create_mailbox, cpanel_delete_mailbox y whm_list_accounts.
Por seguridad, los listados nunca devuelven el token. Se recomienda crear tokens con permisos mínimos, expiración y sin acceso global cuando el proveedor lo permita. No se deben registrar contraseñas de cPanel ni tokens WHM en el chat.
La integración usa UAPI para operaciones cPanel y API 1 para WHM. Referencias: UAPI de cPanel, tokens de WHM, Email/list_pops.
Panel técnico
El panel permite:
iniciar autorizaciones de Notion por OAuth;
almacenar y editar conexiones Notion ya autorizadas;
validarlas con
whoami;registrar sitios WordPress a mano;
ver estado de bridge;
ocultar o desactivar sitios sin borrarlos lógicamente del modelo;
eliminar sitios del registry;
ver el catálogo técnico para futuros conectores.
Compatibilidad WordPress
La idea es no romper el stack actual:
el plugin WordPress puede seguir enviando auto-registro a
POST /register-site;el modelo por
site_id,site_labelybase_urlse mantiene;las herramientas MCP WordPress conservan los mismos nombres usados antes.
Uso local
npm install
copy .env.example .env
npm run devPruebas rápidas:
curl http://localhost:3000/health
npm run smoke:httpAbre:
http://localhost:3000/adminDespliegue en EasyPanel
Crea el servicio desde este directorio.
Persiste
./datao define un volumen paraHUB_STATE_FILE.Configura
MCP_AUTH_MODE=bearery unMCP_API_KEYprivado.Configura
MCP_ALLOWED_HOSTScon tu dominio publico y localhost.Configura
ADMIN_API_KEY,ADMIN_SESSION_SECRETyWORDPRESS_REGISTRY_TOKEN.Si vas a conectar Notion desde el panel, configura
NOTION_OAUTH_CLIENT_ID,NOTION_OAUTH_CLIENT_SECRETyNOTION_OAUTH_REDIRECT_URI=https://tu-dominio/api/admin/connectors/notion/oauth/callback.Si vienes del
wp_criu_registryactual, monta el mismo volumen y dejaWORDPRESS_BOOTSTRAP_SITES_FILE=/app/data/sites.json.Publica el servicio por HTTPS.
Usa
/mcppara MCP y/adminpara onboarding humano.
Onboarding de Notion
Crea una integración pública de Notion y define como redirect URI:
https://tu-dominio/api/admin/connectors/notion/oauth/callback
Carga
NOTION_OAUTH_CLIENT_ID,NOTION_OAUTH_CLIENT_SECRETyNOTION_OAUTH_REDIRECT_URIen EasyPanel.Entra a
/admin.Escribe
alias,labelopcional ydefaultParentPageIdopcional.Pulsa
Conectar con Notion.Autoriza la integración en Notion.
Vuelve al panel y valida con
whoami.
Migración directa desde el registry actual
Si mcp.criu.com.co hoy responde como wp_criu_registry, la migración segura para reemplazarlo con este hub es:
Respaldar el volumen actual de
/app/data.Mantener el archivo legado
sites.jsonen ese mismo volumen.Desplegar este servicio con:
HUB_STATE_FILE=/app/data/hub-state.jsonWORDPRESS_BOOTSTRAP_SITES_FILE=/app/data/sites.json
Arrancar el hub nuevo.
Confirmar en
/adminque los sitios heredados aparecieron.
El hub también intenta detectar automáticamente un sites.json vecino al hub-state.json, de modo que un reemplazo directo no dependa de pasos manuales extra.
Codex
Ejemplo con bearer:
[mcp_servers.criu_hub]
url = "https://mcp.tudominio.com/mcp"
bearer_token_env_var = "CRIU_MCP_HUB_TOKEN"El valor de CRIU_MCP_HUB_TOKEN debe ser el mismo MCP_API_KEY del hub.
ChatGPT
Diseño recomendado:
camino principal:
Secure MCP Tunnelfallback: endpoint HTTPS directo a
/mcp
Guía operativa
Hay una guía más aterrizada de uso personal, despliegue y onboarding en docs/OPERACION_PERSONAL.md.
Si este repo ya está desplegado en producción, el estado operativo real y los endpoints live actuales quedaron documentados en docs/ESTADO_LIVE_MCP_CRIU.md.
Scripts útiles
Importar sitios desde el registry vivo actual a data/sites.json:
LEGACY_REGISTRY_TOKEN=tu_token npm run import:legacy-registryO explícitamente:
node scripts/import-legacy-registry.mjs --url https://mcp.criu.com.co --token tu_token --output ./data/sites.jsonHacer smoke test HTTP/MCP del hub ya levantado:
MCP_HUB_URL=https://mcp.criu.com.co MCP_HUB_TOKEN=tu_token npm run smoke:httpFuturos conectores
Cada integración nueva debería entrar como:
manifest del conector
config schema
health check
admin form
entidades administrables
adaptador MCP
Available Tools
17 toolsactivate_themeC
Activa un tema por stylesheet.
Inputs: site (required), stylesheet (required).
bridge_raw_requestC
Hace una llamada raw a un endpoint del bridge para cubrir casos no tipados.
Inputs: site (required), endpoint (required), method, body_json.
check_plural_translationsC
Verifica traducciones plurales para un text domain.
Inputs: site (required), items_json (required), domain.
check_translationsC
Verifica traducciones de cadenas para un text domain dado.
Inputs: site (required), strings (required), domain.
db_queryC
Ejecuta una consulta SQL de solo lectura en el sitio.
Inputs: site (required), sql (required).
get_optionsC
Lee una o varias opciones de WordPress.
Inputs: site (required), options (required).
get_site_infoA
Consulta /site-info del bridge para validar conexión y metadatos del sitio.
Inputs: site (required).
get_wc_checkout_fieldsB
Obtiene la estructura de checkout fields de WooCommerce.
Inputs: site (required).
install_plugin_zipB
Instala un plugin ZIP local en un sitio WordPress y opcionalmente lo activa.
Inputs: site (required), zip_path (required), activate.
list_pluginsA
Lista plugins instalados en un sitio WordPress.
Inputs: site (required).
list_sitesC
Lista los sitios WordPress configurados para este MCP.
Inputs: environment.
list_themesB
Lista los temas instalados en un sitio WordPress.
Inputs: site (required).
plugin_actionC
Activa, desactiva o elimina un plugin por plugin_file.
Inputs: site (required), plugin_file (required), action (required).
read_fileC
Lee un archivo dentro del ABSPATH del sitio.
Inputs: site (required), path (required).
rest_proxyC
Llama una ruta REST interna del WordPress objetivo.
Inputs: site (required), route (required), method, params_json, +1 more.
update_optionsC
Actualiza opciones de WordPress con un objeto JSON.
Inputs: site (required), options_json (required).
write_fileC
Escribe un archivo dentro del ABSPATH del sitio.
Inputs: site (required), path (required), content (required), encoding, +1 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 17 tools
Most tools have distinct purposes (themes, plugins, translations, DB, files). Some overlap between `bridge_raw_request` and `rest_proxy` could cause confusion, but descriptions help differentiate.
Most names follow `verb_noun` pattern (e.g., `activate_theme`, `list_plugins`). However, `plugin_action` deviates, and mixing `check_translations` with `check_plural_translations` is acceptable but not perfectly uniform.
17 tools cover a broad range of WordPress management tasks. While slightly above the ideal 3-15 range, the count is justified and not excessive for the domain.
Covers themes, plugins, options, DB, REST, files, and translations. Missing theme/plugin creation and user management are minor gaps, but the set is functional for most operations.
Maintenance
Related MCP Connectors
Run all of WordPress from Claude, ChatGPT or Cursor: SEO, security, your WooCommerce shop and Elementor pages, on up to 10 websites in one connector. Start free. SEO: titles, descriptions and focus keywords for every page, post and product. Security & updates: core, plugin and theme updates with a live test, site health and HTTPS checks, users and roles. WooCommerce shop: products, prices, orders, coupons and customers. Elementor and many more page builders: texts, links and images. Blog posts, pages, media, comments and menus. 10 websites in one connector: all your sites in the same chat. Deploy (Agency): build a site locally and push it to your own server. Just say it: "Write SEO titles for every product." "Install all updates and check that the site still works." "Show today's orders and create a weekend coupon." You choose what your AI may change, with one switch. Install the free AlphaBridge MCP plugin from WordPress.org, connect and approve on your own site. No account, no key to copy.
Website monitoring for any site, deepest on WordPress & WooCommerce: add sites, configure and run monitors, read health and performance, review results with undo, apply proposed fixes.
Manage WordPress blogs and WooCommerce shops from Claude, ChatGPT, Cursor and other MCP apps.
Manage your WordPress site from ChatGPT or Claude: posts, WooCommerce, SEO, images and upkeep.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables comprehensive management of WordPress sites and WooCommerce stores through REST APIs, including content management, e-commerce operations, user administration, and store analytics.4-
- AlicenseAqualityBmaintenanceEnables comprehensive management of WordPress sites including posts, users, media, categories, tags, and site settings via the WordPress REST API.201Apache 2.0
- AlicenseNot gradedqualityCmaintenanceEnables Claude Code to directly manage WordPress sites via natural language, including posts, pages, categories, tags, media, and multiple site support.MIT
- FlicenseNot gradedqualityBmaintenanceEnables MCP-compatible AI agents to securely manage multiple self-hosted WordPress sites, including content editing, theme management, and maintenance operations with fine-grained permission controls.-