Ir directamente al contenido

Conectar un cliente MCP personalizado a WordPress.com

Este texto fue traducido usando IA. Si deseas ver el texto original en inglés, haz clic aquí.

Si estás desarrollando un cliente MCP (Model Context Protocol) o ampliando uno existente, la integración con WordPress.com permite a tus usuarios incorporar los datos de su sitio de WordPress.com en 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 habilitado para MCP.

Esta guía se centra en los aspectos específicos de WordPress.com: cómo autenticarse y qué endpoint MCP llamar. Para orientación general sobre cómo construir un cliente MCP, consulta la documentación oficial de clientes MCP.

Descripción general

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

  • 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) es recomendado para clientes públicos como aplicaciones de escritorio y CLI.

El flujo se ve así:

  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 endpoints a continuación 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: Registrar tu cliente OAuth

WordPress.com admite el registro dinámico de clientes, lo que significa que tu cliente MCP puede registrarse a sí mismo sin necesidad de un paso de configuración manual independiente.

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": "My MCP Client",
    "redirect_uris": ["http://localhost:8080/callback"],
    "grant_types": ["authorization_code", "refresh_token"]
  }'

Lo que recibes de vuelta

La respuesta incluye un client_id y otros metadatos. WordPress.com está diseñado para admitir clientes públicos, y las respuestas de registro normalmente 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 de forma consistente 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 de registro del cliente) si te resulta útil para la resolución de problemas o para inspeccionar la configuración del cliente más adelante.

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

Para autenticar a un usuario, tu cliente deberá:

  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 URI que registraste.

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

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

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 de 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 las llamadas al endpoint MCP de WordPress.com mediante Authorization: Bearer YOUR_ACCESS_TOKEN.

Paso 4: Llamar al servidor MCP de WordPress.com

Se accede al servidor MCP de WordPress.com a través de HTTP enviando 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  

Encabezados:

  • 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á solicitando al servidor MCP de WordPress.com que ejecute la herramienta llamada wpcom-mcp-posts-search con los argumentos proporcionados.

Notas de implementación

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

Última actualización: mayo 19, 2026