Referencia rápida

Chuleta MCP 2026-07-28

Lo que consultas a diario al construir un servidor MCP con la especificación sin estado, en tres o cuatro páginas que puedes imprimir o guardar como PDF.

La chuleta MCP 2026-07-28 reúne en tres o cuatro páginas imprimibles lo que consultas a diario cuando construyes un servidor MCP: los campos obligatorios de cada petición, los métodos, los códigos de error, las cabeceras HTTP, MRTR y elicitation, la autorización, lo deprecado y los puntos de entrada de los SDK oficiales. Todo sale de la especificación 2026-07-28 y de los SDK de TypeScript y Python verificados para el curso. Abajo tienes la sección de errores completa como muestra.

Contenido

  1. Qué cambió en 2026-07-28
  2. Anatomía de una petición y de un resultado
  3. Métodos por primitiva
  4. Errores
  5. Transportes
  6. Interacción con el usuario
  7. Autorización
  8. Deprecado y su sustituto
  9. SDK oficiales

4. Errores

Código Nombre Cuándo HTTP
-32700 Parse error JSON ilegible
-32600 Invalid Request No es una petición JSON-RPC válida
-32601 Method not found Método desconocido o protegido por una capacidad no anunciada 404
-32602 Invalid params Falta un campo de _meta; tool desconocida; recurso inexistente; prompt inválido o sin argumentos obligatorios; cursor inválido 400 si falta _meta
-32603 Internal error Fallo interno del servidor
-32020 HeaderMismatch Cabecera HTTP que no coincide con el cuerpo, falta o tiene caracteres inválidos 400
-32021 MissingRequiredClientCapability La petición necesita una capacidad que el cliente no declaró; data.requiredCapabilities 400
-32022 UnsupportedProtocolVersion Versión no soportada; data.supported y data.requested obligatorios 400

Rangos:

  • -32000 a -32019: legacy. No asignes códigos nuevos ahí.
  • -32020 a -32099: reservado para MCP. No emitas códigos que la spec no defina.
  • Tus códigos de aplicación: fuera de -32768 a -32000.
  • Retirados, MUST NOT emitirse: -32002 (recurso no encontrado, hoy -32602; los clientes SHOULD seguir aceptándolo) y -32042 (URL elicitation required).
  • Material basado en la release candidate trae -32001/-32003/-32004: hoy son -32020/-32021/-32022.

Error de protocolo o isError: true

Situación Respuesta El cliente
Tool desconocida, petición malformada, fallo del servidor Error JSON-RPC (error.code) MAY pasarlo al modelo
Fallo de una API externa, validación de entrada, regla de negocio result con content explicativo e isError: true SHOULD pasarlo al modelo para que se corrija
{
  "jsonrpc": "2.0",
  "id": 1,
  "error": {
    "code": -32022,
    "message": "Unsupported protocol version",
    "data": {
      "supported": ["2026-07-28", "2025-11-25"],
      "requested": "1900-01-01"
    }
  }
}
  • resources/read de un recurso inexistente: -32602, nunca contents vacío.
  • Handle de estado caducado (p. ej. un *_id emitido por otra tool): error de ejecución claro, con isError: true.

Descárgala completa, gratis

La chuleta entera está disponible con una cuenta gratuita, la misma que da acceso a las 14 lecciones del nivel Básico. No hace falta tarjeta y no te suscribe a ningún correo.