Categories
Headless CMSOptimización del entorno de desarrollo web

Cómo conectar tu WordPress con asistentes de IA usando el MCP Adapter: Guía completa 2026

June 02, 2026

En este artículo te cuento cómo hemos conectado nuestro WordPress con asistentes de IA como Claude, OpenCode y cualquier cliente MCP compatible. Te explicamos paso a paso qué problemas nos hemos encontrado, cómo los hemos resuelto y qué puedes hacer tú para integrar tu sitio WordPress con la IA de forma segura y profesional.


¿Qué es el MCP Adapter de WordPress?

El WordPress MCP Adapter es un plugin oficial que implementa el Model Context Protocol (MCP), un estándar abierto desarrollado por Anthropic que permite a los asistentes de IA descubrir y ejecutar capacidades (abilities) de WordPress de forma programática.

En palabras simples: convierte tu WordPress en un servidor MCP al que cualquier cliente compatible (Claude, OpenCode, Cursor, VS Code) puede conectarse para interactuar con tu sitio: consultar productos, crear posts, revisar pedidos y mucho más.

¿Por qué es importante?

  • Interoperabilidad: un solo protocolo estándar para conectar WordPress con cualquier IA
  • Seguridad: cada ability tiene su propio control de permisos
  • Descubrimiento automático: las IA pueden ver qué puede hacer tu sitio sin documentación manual
  • Extensible: plugins y temas pueden exponer sus propias funcionalidades

Requisitos previos

  • WordPress ≥ 6.9 (la Abilities API se incluye en el núcleo desde esta versión)
  • PHP ≥ 7.4
  • Acceso de administrador al sitio
  • Una Application Password de WordPress
  • Node.js ≥ 18 (para el proxy @automattic/mcp-wordpress-remote)

Instalación del plugin MCP Adapter

Paso 1: Descargar e instalar

Descargamos el MCP Adapter desde el repositorio oficial de WordPress en GitHub:

  1. Ve a github.com/WordPress/mcp-adapter
  2. Descarga el último release como ZIP
  3. En tu WordPress: Plugins → Añadir nuevo → Subir plugin
  4. Activa el plugin

Paso 2: Instalar dependencias (si usas Composer)

Si instalas desde Git, necesitarás ejecutar Composer para instalar la dependencia php-mcp-schema:

cd wp-content/plugins/mcp-adapter
composer install

Alternativa: puedes preparar el ZIP con todas las dependencias incluidas desde tu máquina local y subir el ZIP completo al servidor.

Paso 3: Crear una Application Password

  1. En WordPress, ve a Usuarios → Tu perfil
  2. Desplázate hasta Application Passwords
  3. Escribe un nombre (por ejemplo: OpenCode MCP)
  4. Haz clic en Añadir nueva application password
  5. Copia la contraseña generada (¡solo se muestra una vez!)

Configuración del cliente MCP

Para conectar cualquier cliente MCP a tu WordPress, usamos el proxy oficial @automattic/mcp-wordpress-remote. Este proxy traduce el protocolo STDIO de MCP a llamadas HTTP a la REST API de WordPress.

1. OpenCode

Edita el archivo ~/.config/opencode/opencode.json:

{
  "mcp": {
    "wordpress": {
      "type": "local",
      "command": ["npx", "-y", "@automattic/mcp-wordpress-remote@latest"],
      "environment": {
        "WP_API_URL": "https://tusitio.com/wp-json/mcp/mcp-adapter-default-server",
        "WP_API_USERNAME": "tu-email",
        "WP_API_PASSWORD": "tu-application-password"
      },
      "enabled": true
    }
  }
}

Una vez añadido, reinicia OpenCode. Los comandos MCP de WordPress estarán disponibles automáticamente.

2. Claude Desktop

Edita la configuración según tu sistema operativo:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%Claudeclaude_desktop_config.json
{
  "mcpServers": {
    "wordpress": {
      "command": "npx",
      "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
      "env": {
        "WP_API_URL": "https://tusitio.com/wp-json/mcp/mcp-adapter-default-server",
        "WP_API_USERNAME": "tu-email",
        "WP_API_PASSWORD": "tu-application-password"
      }
    }
  }
}

Guarda y reinicia Claude Desktop. Aparecerá un icono de herramienta ) indicando que el servidor MCP está conectado.

3. Claude Code (CLI)

Configúralo en ~/.claude/claude.json (global) o en un claude.json local dentro del proyecto:

{
  "mcpServers": {
    "wordpress": {
      "command": "npx",
      "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
      "env": {
        "WP_API_URL": "https://tusitio.com/wp-json/mcp/mcp-adapter-default-server",
        "WP_API_USERNAME": "tu-email",
        "WP_API_PASSWORD": "tu-application-password"
      }
    }
  }
}

4. VS Code + GitHub Copilot

En .vscode/settings.json del proyecto:

{
  "github.copilot.chat.mcpServers": {
    "wordpress": {
      "command": "npx",
      "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
      "env": {
        "WP_API_URL": "https://tusitio.com/wp-json/mcp/mcp-adapter-default-server",
        "WP_API_USERNAME": "tu-email",
        "WP_API_PASSWORD": "tu-application-password"
      }
    }
  }
}

5. Cursor

En .cursor/mcp.json del proyecto:

{
  "mcpServers": {
    "wordpress": {
      "command": "npx",
      "args": ["-y", "@automattic/mcp-wordpress-remote@latest"],
      "env": {
        "WP_API_URL": "https://tusitio.com/wp-json/mcp/mcp-adapter-default-server",
        "WP_API_USERNAME": "tu-email",
        "WP_API_PASSWORD": "tu-application-password"
      }
    }
  }
}

Cómo funciona el MCP Adapter

El MCP Adapter expone tres herramientas principales en su servidor por defecto:

HerramientaFunción
mcp-adapter-discover-abilitiesLista todas las abilities registradas
mcp-adapter-get-ability-infoMuestra el esquema de entrada/salida de una ability
mcp-adapter-execute-abilityEjecuta una ability con los parámetros indicados

Las abilities deben ser registradas por plugins o temas mediante wp_register_ability() con el flag meta.mcp.public = true. Esto permite que los desarrolladores expongan funcionalidades específicas de forma segura.


Creando abilities personalizadas: la lección que aprendimos

Durante nuestra implementación nos encontramos con un problema crítico que nos costó horas de debugging: las abilities que registrábamos solo funcionaban la primera. La segunda, tercera y siguientes fallaban silenciosamente.

El problema: las categorías de abilities

El código fuente de WordPress 6.9 incluye esta validación en wp_register_ability():

if ( isset( $args['category'] ) ) {
    if ( ! wp_has_ability_category( $args['category'] ) ) {
        _doing_it_wrong( ... );
        return null;  // ← Falla SILENCIOSAMENTE
    }
}

Si usas una categoría que no existe (como 'woocommerce' o 'content'), la ability no se registra y no hay error visible. Solo la categoría 'site' está registrada por defecto en WordPress.

La solución

Usar 'category' => 'site' (que ya existe) o registrar primero tu categoría con wp_register_ability_category(). Aquí tienes un ejemplo completo de plugin que funciona:

<?php
/**
 * Plugin Name: Mis Abilities MCP
 */

add_action('wp_abilities_api_init', function () {
    
    //  Usar categoría 'site' que ya existe
    wp_register_ability('mi-plugin/get-products', [
        'label'       => 'Listar productos',
        'description' => 'Devuelve productos WooCommerce',
        'category'    => 'site',  // ← ¡OBLIGATORIO usar una categoría existente!
        'execute_callback' => function ($input = []) {
            $limit = $input['limit'] ?? 10;
            return get_posts([
                'post_type'      => 'product',
                'posts_per_page' => $limit
            ]);
        },
        'permission_callback' => function () {
            return current_user_can('read');
        },
        'meta' => [
            'mcp' => ['public' => true]
        ],
    ]);
    
}, -1000);

Consejos de seguridad importantes

  • Usa siempre Application Passwords en lugar de tu contraseña principal de WordPress
  • Revoca las contraseñas que ya no uses desde Usuarios → Perfil
  • No compartas archivos de configuración con contraseñas en Git. Añádelos a .gitignore
  • Cada cliente MCP tiene permisos independientes según el usuario de WordPress que uses
  • Usa HTTPS obligatoriamente para todas las conexiones MCP
  • Las abilities del core (core/get-site-info, etc.) no están expuestas al MCP por defecto por seguridad

Aplicaciones reales y casos de uso

Una vez conectado, las posibilidades son enormes. Desde el chat de tu asistente de IA puedes: Consultar productos: «¿Cuántos productos tenemos en stock?»

  •  Crear contenido: «Crea un post sobre recetas de verano con 5 bloques de Gutenberg»
  •  Revisar pedidos: «Muéstrame las últimas 10 órdenes completadas»
  •  Auditoría SEO: «Lista todas las páginas sin meta descripción»
  •  Administración: «Actualiza el precio del producto XYZ a 29.99€»

Es ideal para equipos que quieren integrar WordPress en flujos automatizados sin tener que escribir código REST API manualmente.


Preguntas frecuentes (FAQ)

¿Puedo usar el MCP Adapter con WooCommerce?

Sí, totalmente. Puedes registrar abilities que usen funciones de WooCommerce (wc_get_product(), wc_get_orders(), etc.) siempre que uses la categoría 'site' o registres primero la categoría 'woocommerce'.

¿Funciona con cualquier cliente MCP?

Sí. Cualquier cliente que soporte el protocolo MCP puede conectarse. Hemos probado OpenCode, Claude Desktop, Claude Code, VS Code con Copilot y Cursor.

¿Necesito conocimientos de programación?

Para la configuración básica, no. Pero para crear abilities personalizadas que expongan funcionalidades específicas de tu negocio, sí necesitarás escribir un poco de PHP o pedir ayuda a un desarrollador.

¿Es seguro dar acceso MCP a mi WordPress?

Sí, si sigues las buenas prácticas: usa Application Passwords (no tu contraseña principal), limita los permisos del usuario, y expón solo las abilities que realmente necesites con meta.mcp.public = true.


¿Quién crea las abilities? Core vs. Personalizadas

Es importante entender la diferencia entre las abilities que vienen con WordPress y las que puedes crear tú mismo. No todas las funcionalidades de WordPress están expuestas automáticamente al MCP.

Abilities del núcleo (Core)

WordPress 6.9 incluye tres abilities por defecto:

  • core/get-site-info — Información básica del sitio
  • core/get-user-info — Datos del usuario autenticado
  • core/get-environment-info — Versión de PHP, WordPress, etc.

 Importante: Estas abilities del núcleo NO están visibles para los clientes MCP porque WordPress las registra sin el flag meta.mcp.public = true. Esto es una medida de seguridad intencional.

Abilities personalizadas

Para que la IA pueda interactuar con tu WooCommerce, tu contenido o cualquier funcionalidad específica de tu negocio, un desarrollador debe crear un plugin que registre abilities con:

wp_register_ability('mi-plugin/accion', [
    'label'       => 'Descripción',
    'description' => 'Qué hace esta ability',
    'category'    => 'site',  // ← Obligatorio usar una categoría existente
    'execute_callback' => function() { ... },
    'permission_callback' => function() { ... },
    'meta' => [
        'mcp' => ['public' => true]  // ← Esto la hace visible al MCP
    ],
]);

¿Dónde está todo?

ElementoUbicaciónQuién lo controla
Abilities del corewp-includes/abilities-api.phpWordPress
MCP Adapter (plugin)wp-content/plugins/mcp-adapter/Equipo de WordPress
Abilities personalizadaswp-content/plugins/tu-plugin/ o functions.phpTú / Tu desarrollador
Configuración del cliente~/.config/opencode/opencode.json (u otro)Tú

Analogía simple: el MCP Adapter es como una centralita telefónica. WordPress instala 3 números internos (abilities del core) pero no los publica en la guía telefónica. Para que la IA pueda llamar a tu tienda WooCommerce o gestionar tu contenido, tú debes crear y registrar esos números adicionales (abilities personalizadas) en la centralita.Conclusión

El WordPress MCP Adapter es un paso enorme hacia la interoperabilidad entre WordPress y los asistentes de IA. La instalación es sencilla, la configuración minimalista, y una vez conectado, las posibilidades son prácticamente ilimitadas.

En nuestro caso, tras superar el obstáculo de las categorías de abilities, conseguimos exponer 6 funcionalidades personalizadas que nos permiten gestionar productos, pedidos y contenido directamente desde el chat de IA.

Si trabajas con WordPress y usas asistentes de IA, esta es una integración que no te puedes perder. El futuro de la gestión de contenido es conversacional, y el MCP Adapter te pone en la delantera.

«La clave del éxito no es evitar los errores, sino aprender de ellos rápidamente.»— Experiencia real implementando MCP en WordPress


Tags:
Emfasi

Escrito por Emfasi

GM Coders
Blog sobre el desarrollo de sitios web rápidos y optimizados