Ir directamente al contenido

Conecta tu cliente MCP a WordPress.com

Si estás creando un cliente MCP (Model Context Protocol) o ampliando uno existente, la integración con WordPress.com permite a tus usuarios traer los datos de su sitio de WordPress.com a tu herramienta de IA a través de una interfaz MCP estándar. Esto habilita flujos de trabajo como buscar en el contenido de un sitio, recuperar entradas y páginas para resumen o análisis, responder preguntas basadas en lo que está publicado y, en general, usar WordPress.com como una fuente de contenido confiable dentro de un asistente compatible con MCP.

Esta guía se centra en las partes específicas de WordPress.com: cómo autenticar y qué endpoint MCP llamar. Para obtener una orientación general sobre cómo crear un cliente MCP, consulta la documentación oficial del cliente MCP.

Descripción general

WordPress.com expone un servidor MCP a través de HTTPS y lo protege con OAuth 2.1, usando:

  • Registro dinámico de clientes: Esto te permite registrar clientes de forma programática.
  • Flujo de código de autorización con PKCE: Proof Key for Code Exchange (PKCE) se recomienda para clientes públicos como aplicaciones de escritorio y CLI.

El flujo sigue estos pasos:

  1. Registra tu cliente con WordPress.com para obtener un client_id
  2. Envía al usuario a través del paso de autorización OAuth (con PKCE)
  3. Intercambia el code de autorización por un access_token
  4. Llama al endpoint MCP de WordPress.com con Authorization: Bearer …

Endpoints de WordPress.com

Todos los siguientes endpoints están alojados en:

  • URL base: https://public-api.wordpress.com

OAuth 2.1

  • Registrar cliente: POST /oauth2-1/register
  • Autorizar: GET /oauth2-1/authorize
  • Token: POST /oauth2-1/token

MCP

  • Servidor MCP de WordPress.com: POST /wpcom/v2/mcp/v1

Paso 1: Registra tu cliente OAuth

WordPress.com admite el registro dinámico de clientes, lo que significa que tu cliente MCP puede registrarse sin un paso de configuración manual separado.

Solicitud

  • POST https://public-api.wordpress.com/oauth2-1/register  
  • Content-Type: application/json

Ejemplo:

curl -X POST "https://public-api.wordpress.com/oauth2-1/register" \
  -H "Content-Type: application/json" \
  --data '{
    "client_name": "Mi cliente MCP",
    "redirect_uris": ["http://localhost:8080/callback"],
    "grant_types": ["authorization_code", "refresh_token"]
  }'

Lo que recibes

La respuesta incluye un client_id y otros metadatos. WordPress.com está diseñado para admitir clientes públicos, y las respuestas de registro típicamente indican:

  • token_endpoint_auth_method: "none"

Es decir, las solicitudes de token no requieren un secreto de cliente. PKCE proporciona la seguridad para el intercambio del código de autorización.

Como mínimo, almacena el client_id que recibes durante el registro y asegúrate de usar consistentemente uno de los valores exactos de redirect_uri que registraste. Opcionalmente, puedes conservar el resto de la respuesta de registro (por ejemplo, marcas de tiempo o el URI del cliente de registro) si ayuda con la solución de problemas o la inspección de la configuración del cliente más adelante.

Paso 2: Envía al usuario a través de la autorización

Para autenticar a un usuario, tu cliente:

  1. Generará un code_verifier de PKCE
  2. Derivará un code_challenge usando el método S256
  3. Abrirá (o redirigirá) al usuario a la página de autorización de WordPress.com

Solicitud de autorización

  • GET https://public-api.wordpress.com/oauth2-1/authorize

Ejemplo:

https://public-api.wordpress.com/oauth2-1/authorize?
  response_type=code&
  client_id=YOUR_CLIENT_ID&
  redirect_uri=http://localhost:8080/callback&
  code_challenge=YOUR_CODE_CHALLENGE&
  code_challenge_method=S256&
  scope=auth

Después de que el usuario apruebe el acceso, WordPress.com redirige el navegador de vuelta a tu redirect_uri con un parámetro de consulta code. Tu redirect_uri debe coincidir exactamente con una de las URIs que registraste.

Paso 3: Intercambia el código de autorización por tokens

Una vez que tu cliente recibe el código de autorización, intercámbialo por un token de acceso en el endpoint del token.

Solicitud de token

  • POST https://public-api.wordpress.com/oauth2-1/token  
  • Content-Type: application/x-www-form-urlencoded

Ejemplo: 

curl -X POST "https://public-api.wordpress.com/oauth2-1/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data "grant_type=authorization_code&code=AUTHORIZATION_CODE&redirect_uri=http://localhost:8080/callback&code_verifier=YOUR_CODE_VERIFIER&client_id=YOUR_CLIENT_ID"

Resultado

El endpoint del token devuelve una respuesta OAuth que contiene un access_token y también puede incluir campos como expires_in y un refresh_token.

Usa el access_token para autenticar llamadas al endpoint MCP de WordPress.com mediante Authorization: Bearer YOUR_ACCESS_TOKEN.

Paso 4: Llama al servidor MCP de WordPress.com

Accedes al servidor MCP de WordPress.com a través de HTTP mediante el envío de solicitudes MCP mediante POST al endpoint MCP, autenticadas con tu token de acceso OAuth.

Solicitud MCP

  • POST https://public-api.wordpress.com/wpcom/v2/mcp/v1  

Cabeceras:

  • Authorization: Bearer YOUR_ACCESS_TOKEN
  • Content-Type: application/json

Ejemplo:

{
  "method": "tools/call",
  "params": {
    "name": "wpcom-mcp-posts-search",
    "arguments": {
      "wpcom_site": "yoursite.wordpress.com",
      "search": "recent updates"
    }
  }
}

En este ejemplo, tu cliente está pidiendo al servidor MCP de WordPress.com que ejecute la herramienta llamada wpcom-mcp-posts-search con los argumentos dados.

Notas de implementación

  • PKCE es obligatorio para clientes públicos. No incrustes secretos en aplicaciones distribuidas.
  • Todas las llamadas MCP deben incluir Authorization: Bearer … con un token de acceso válido de WordPress.com.
  • Las URIs de redirección deben coincidir con el registro. Si usas http://localhost durante el desarrollo, registra exactamente esa URL de callback.

Última actualización: febrero 03, 2026