/wp-json/pom-ai-mcp/v1/mcp: Extremo de transporte MCP
El único extremo con el que habla cada cliente MCP. Transporta los mensajes JSON-RPC que conforman una sesión MCP.
https://example.com/wp-json/pom-ai-mcp/v1/mcp
Métodos
| Método | Propósito |
|---|---|
POST |
Transporta mensajes JSON-RPC: la vía normal |
GET |
Una sonda de disponibilidad que devuelve la versión del protocolo y el nombre del servidor |
DELETE |
Finaliza una sesión |
OPTIONS |
Comprobación previa de CORS, respondida con 204 |
Autenticación
Obligatoria en todos los métodos excepto OPTIONS. Envía o bien un token Bearer de OAuth o bien la cabecera de clave API, nunca ambos, ya que se rechaza por ambiguo.
Una solicitud sin autenticar devuelve 401. Cuando OAuth está activado, esa respuesta incluye una cabecera WWW-Authenticate que indica la URL de metadatos del recurso protegido, que es como un cliente inicia el descubrimiento. Consulta Cómo funciona el descubrimiento.
Versión del protocolo
El servidor admite 2025-06-18 y 2025-03-26, con la primera como valor predeterminado.
Un cliente indica su versión en la cabecera MCP-Protocol-Version. Omitirla acepta la versión predeterminada; enviar un valor no admitido se rechaza con un error JSON-RPC en lugar de rebajarlo silenciosamente.
Métodos JSON-RPC
El cuerpo de POST es un mensaje JSON-RPC 2.0, o una matriz de ellos para un lote. Métodos admitidos:
| Método | Hace |
|---|---|
initialize |
Devuelve la versión del protocolo, el nombre del servidor y las capacidades |
tools/list |
Enumera las herramientas con nombre, descripción y esquema de entrada |
tools/call |
Ejecuta una herramienta |
resources/list |
Enumera los recursos legibles |
resources/read |
Lee un recurso por URI |
prompts/list |
Enumera los avisos publicados |
prompts/get |
Devuelve un aviso, con los argumentos aplicados |
Cualquier otra cosa devuelve el error JSON-RPC -32601. Un cuerpo mal formado devuelve -32700, y un mensaje que no sea JSON-RPC 2.0 válido devuelve -32600.
Las notificaciones —mensajes cuyo método empieza por notifications/ y que no llevan ID— se aceptan y no producen respuesta, tal como exige el protocolo.
Procesamiento por lotes
Una matriz de mensajes se procesa en orden y las respuestas se devuelven como una matriz. Las notificaciones dentro de un lote no contribuyen con ninguna respuesta, de modo que un lote de cinco mensajes que incluya dos notificaciones devuelve tres resultados.
Resultados de las herramientas
Un tools/call correcto devuelve una matriz de contenido con un único elemento de texto cuyo texto es el resultado de la herramienta en JSON con formato legible. Un asistente que informe de un bloque de JSON se comporta con normalidad.
Los errores llegan como error JSON-RPC -32000 con el mensaje y un code que indica el fallo concreto: pom_ai_mcp_scope_denied, pom_ai_mcp_forbidden, pom_ai_mcp_write_gate_closed, etc. Esos códigos son los que hay que citar al diagnosticar.
Limitación de frecuencia
Se comprueba por mensaje. Las lecturas usan el límite por minuto configurado; tools/call en una herramienta de escritura usa el tope de escritura, más bajo. Superarlo devuelve el error JSON-RPC -32029. Consulta Límites de frecuencia.
Caché y CORS
Toda respuesta incluye Cache-Control: no-store y Pragma: no-cache. Si una CDN o un proxy almacena en caché esta ruta, las sesiones se rompen de formas confusas: exclúyela.
Las solicitudes entre orígenes solo se responden cuando el Origin está en tu lista de permitidos, que está vacía de forma predeterminada. Las solicitudes sin cabecera Origin, algo normal en un cliente del lado del servidor, no se ven afectadas. Consulta Solicitudes entre orígenes.
Qué no hace
- Sin transmisión en tiempo real ni eventos enviados por el servidor; cada solicitud devuelve una respuesta completa.
- Sin trabajos en segundo plano ni informes de progreso.
- Sin estado de sesión más allá de lo que exige el protocolo:
DELETEsimplemente confirma.
Comprobarlo a mano
Un GET con credenciales válidas devuelve una pequeña carga de disponibilidad. Eso confirma la autenticación y la negociación del protocolo sin invocar ninguna herramienta, lo que lo convierte en la primera comprobación más limpia cuando un cliente no se conecta.
Si devuelve HTML, algo más arriba está interceptando la ruta. Si devuelve 401 con credenciales adjuntas, probablemente se está eliminando la cabecera Authorization; el panel de ajustes de MCP lo informa explícitamente en sus diagnósticos.