A2A y agentes Ecosistema

MCP vs UTCP: qué es UTCP y cuándo usar cada protocolo

UTCP describe tus APIs en un manual JSON y el agente las llama sin servidor en medio. Qué cambia frente a MCP, quién lo usa hoy y cuándo elegir cada uno.

Por

Datos a 8 de noviembre de 2026 · especificación MCP 2026-07-28

¿Empiezas con MCP? La lección 1 del curso se lee gratis, sin registro.

UTCP (Universal Tool Calling Protocol) es una especificación abierta que describe en un «manual» JSON las herramientas que ya existen, con lo que el cliente necesita para llamarlas por su protocolo nativo. En la comparación MCP vs UTCP, la diferencia está en quién llama a la API: con MCP, un servidor intermedio; con UTCP, el propio cliente.

Llegamos al tema por un reel de KodeKloud del 2 de noviembre de 2026. Lo explica con un agente que crea incidencias en Jira, y en lo esencial es correcto. Pero en tres minutos no cabe todo, y aquí añadimos lo que deja fuera con datos consultados el 8 de noviembre.

Primero, dos palabras de contexto. MCP (Model Context Protocol) es el estándar con el que una aplicación de IA se conecta a un servidor que le ofrece herramientas. Una herramienta (tool) es una función que el modelo puede pedir que se ejecute, como «buscar una factura». El cliente es la parte del agente que hace esa conexión.

Vas a ver cómo funciona UTCP, en qué cambia una llamada, su adopción real y cuándo elegimos cada protocolo en Nortia Logística, la empresa ficticia del curso. Te ayudará saber cómo se reparten el trabajo host, cliente y servidor, que explicamos en la lección de arquitectura. Si dudas entre una API REST, el function calling y MCP, empieza por MCP vs API REST y function calling. Los términos de MCP los tienes en el glosario.

Qué es UTCP

UTCP es un formato para describir herramientas y la forma de llamarlas, más unos SDK cliente (bibliotecas para programar) que saben leerlo. No define mensajes propios. Cuando el agente usa una herramienta, por la red viaja la petición HTTP, el comando o el evento del protocolo original.

El reel lo cuenta con Jira. El modelo no llama a Jira por sí solo. Genera una llamada a herramienta y un código la ejecuta, que es el esquema del function calling.

Con MCP, ese código es un cliente MCP que habla con un servidor MCP. Atlassian publica uno remoto oficial, el Rovo MCP Server. Con UTCP, el cliente parte de la especificación OpenAPI de Jira (la descripción estándar de una API REST), obtiene un manual y llama a la API de Jira directamente.

Un manual tiene este aspecto. Es el ejemplo que da la propia documentación para servirlo en GET /utcp desde una API existente:

{
  "manual_version": "1.0.0",
  "utcp_version": "1.0.1",
  "tools": [{
    "name": "get_weather",
    "description": "Get current weather for a location",
    "inputs": {
      "type": "object",
      "properties": {"location": {"type": "string"}},
      "required": ["location"]
    },
    "tool_call_template": {
      "call_template_type": "http",
      "url": "http://localhost:8000/weather",
      "http_method": "GET"
    }
  }],
  "auth": {
    "auth_type": "api_key",
    "api_key": "${WEATHER_API_KEY}",
    "var_name": "appid",
    "location": "query"
  }
}

Literal de utcp.io, Quick Start, «Option B: Add a discovery endpoint to your existing API». No lo hemos ejecutado.

El manual declara una herramienta, get_weather, que se llama con un GET HTTP a una URL. Cada herramienta lleva su nombre, su esquema de entrada y una plantilla de llamada (tool_call_template) que dice cómo invocarla. El bloque auth describe la autenticación, pero el secreto no está escrito. ${WEATHER_API_KEY} es un marcador que el cliente sustituye con un valor de su propia configuración.

Según la documentación 1.1, el cliente sigue estos pasos:

  1. Descarga y valida el manual.
  2. Registra sus herramientas.
  3. Cuando el agente elige una, resuelve las variables de autenticación.
  4. Llama al endpoint nativo con el plugin del protocolo que toque.

Los plugins estables de la 1.1 son HTTP, SSE (eventos que el servidor envía por una conexión abierta), CLI (comandos de terminal), texto y MCP. WebSocket está solo en el SDK de Python. gRPC, que el reel menciona, solo aparece en las implementaciones de Go y Rust.

¿Cuál es la diferencia entre MCP y UTCP?

MCP estandariza la conversación entre cliente y servidor, y UTCP estandariza la descripción de la herramienta y se aparta de la llamada. Por eso con MCP hay un salto más, y con UTCP el cliente carga con más trabajo.

En MCP, cliente y servidor se hablan con mensajes JSON-RPC 2.0, un formato de petición y respuesta en JSON. La petición que ejecuta una herramienta es tools/call. El transporte es el canal por el que viajan esos mensajes.

Míralo con Nortia. El agente de soporte quiere buscar una factura en la API REST interna de facturación, que usa OAuth. Con MCP pasa por el servidor nortia-facturacion:

Figura 1. Con MCP, el agente llama a la tool buscar_factura del servidor nortia-facturacion, y el servidor llama a la API. Ejemplo ilustrativo, no ejecutado.

Con UTCP, la API de facturación publica un manual y el agente la llama sin intermediario:

Figura 2. Con UTCP, el agente descarga el manual una vez y después llama a la API directamente. Ejemplo ilustrativo, no ejecutado.

La tabla compara MCP 2026-07-28 con UTCP 1.1 criterio a criterio. Lo de MCP sale de la especificación y lo de UTCP, de su documentación y sus repositorios.

Antes de leerla, cuatro términos de MCP. stdio es el transporte local, en el que el cliente arranca el servidor como un proceso de tu máquina. Streamable HTTP es el transporte remoto, sobre HTTP. server/discover devuelve las versiones, capacidades e identidad del servidor, y tools/list, la lista de herramientas. El MCP Registry es el catálogo público de servidores MCP.

Criterio MCP 2026-07-28 UTCP 1.1
Transporte JSON-RPC 2.0 sobre stdio (proceso local) o Streamable HTTP (remoto). Un único formato de mensajes El de cada herramienta (HTTP, SSE, CLI, texto, MCP). No hay mensaje UTCP en la red
Descubrimiento server/discover y tools/list, avisos de cambios en la lista y subscriptions/listen. Además, el MCP Registry El cliente descarga un manual, por convención en /utcp, o convierte un OpenAPI. Sin suscripción a cambios
Autenticación Opcional. En HTTP, OAuth 2.1 con el servidor como resource server (se explica más abajo). En stdio, credenciales del entorno El manual declara el esquema (api_key, basic, oauth2) con marcadores ${VAR} y el cliente pone el valor
Estado Sin estado: no hay handshake (negociación inicial) ni sesión Sin sesión de protocolo. Cada llamada es la del protocolo nativo
Latencia Un salto más (cliente, servidor, API) Sin salto intermedio. En la única medición independiente, unos 0,5 ms menos
Seguridad El servidor es un punto único para aplicar permisos, y también un proceso más que proteger Sin intermediario. La confianza pasa al cliente, que guarda credenciales y valida manuales
Partes sin equivalente Todas existen en MCP Resources, prompts, elicitación, Tasks, MCP Apps, suscripciones y autorización estándar por usuario

¿Quién guarda las credenciales en cada caso?

Con MCP las credenciales de la API viven en el servidor o se delegan por OAuth. Con UTCP viven en cada cliente. El reel dice bien que el manual no expone el secreto, y menciona que el cliente usa las credenciales configuradas, pero no explica la consecuencia: que cada cliente tiene que guardarlas.

OAuth 2.1 es el estándar para que una aplicación actúe en nombre de una persona sin conocer su contraseña. En MCP con transporte HTTP, el servidor es un resource server OAuth 2.1, es decir, solo atiende peticiones con un token que emite un servidor de autorización aparte. El cliente encuentra ese servidor de autorización en un documento que publica el servidor MCP, Protected Resource Metadata (RFC 9728), y la persona usuaria inicia sesión allí. El servidor habla con la API final con su propia credencial o con la que le delegan.

En UTCP, la guía para proveedores explica que el cliente resuelve los marcadores con su configuración, un .env o un almacén de secretos. La ventaja es que se reutiliza la autenticación que la API ya tiene. El coste es que cada cliente necesita sus credenciales, y la especificación no define un flujo de autorización por usuario como el de MCP.

Figura 3. Dónde vive la credencial de la API de facturación con MCP y con UTCP.

NiharDaily, autor de la única medición independiente de los dos protocolos que hemos encontrado, lo resume así: es aceptable para un agente interno y mala opción para software que distribuyes a clientes. Es su opinión, y la compartimos.

Qué partes de MCP no tienen equivalente en UTCP

UTCP solo trata herramientas. Todo lo demás que define MCP no tiene equivalente, y ninguna de las comparativas que hemos leído lo dice.

Capacidad de MCP En UTCP
Tools Sí, es su único objeto central
Resources y plantillas (datos que el servidor ofrece al cliente, como un archivo o una fila) No como concepto. El plugin MCP puede registrarlos como herramientas
Prompts (plantillas de mensajes que la persona usuaria invoca) No
Sampling (el servidor pide al cliente que use su modelo, deprecado en 2026-07-28) No aplica, porque no hay servidor
Elicitación (el servidor pide datos al usuario) No, no hay canal de vuelta
Tasks (operaciones largas) No. El protocolo nativo puede tener las suyas
MCP Apps (interfaces en el chat) No
Suscripciones y notificaciones No en la especificación
Autorización estándar por usuario No definida. Se usa la de la API

Prompts y sampling los descarta el propio proyecto en la sección de limitaciones de su plugin MCP. Elicitación, Tasks, Apps y suscripciones no aparecen en la documentación de UTCP que revisamos. Eso indica que no están, pero no demuestra que no se puedan construir encima. Si tu caso necesita algo de esta tabla, la lección de herramientas te ayuda a separar lo que es una tool de lo que no. Los resources y los prompts los explicamos en las lecciones de recursos y de prompts, y las MCP Apps, en este artículo.

¿Es UTCP más rápido o gasta menos tokens?

Es algo más rápido porque se ahorra un salto, pero la diferencia medida es de medio milisegundo. Tampoco ahorra contexto, el texto que el modelo tiene que leer y que se cuenta en tokens. Describir las mismas herramientas ocupa casi lo mismo en los dos formatos.

La página UTCP vs MCP del proyecto trae una tabla de latencias (50 ms frente a 75, 200 frente a 250, 10 frente a 20) y otra de memoria («0 MB» frente a «50-200 MB por servidor»). No dice con qué método, hardware, código ni fecha se midió, así que no la usamos como dato.

La única medición independiente con método que hemos encontrado es de NiharDaily, del 4 de noviembre de 2026. Midió 10 herramientas en un Apple M2, todo en local, con 2.000 llamadas tras 200 de calentamiento y tres pasadas. Las medianas fueron 0,161 ms con UTCP, 0,162 ms con fetch directo y 0,632 ms con MCP sobre Streamable HTTP sin estado.

El propio autor avisa de que su servidor MCP da una cota superior (crea un objeto por petición, así que la cifra de MCP es un máximo). Tampoco probó redes reales ni clientes como Claude, y nadie lo ha replicado. Nuestra lectura es que, frente a un modelo que tarda segundos en responder, esa diferencia no decide nada.

Con los tokens pasa algo parecido. En esa misma prueba, el manual UTCP de las 10 herramientas ocupa 6.783 bytes y el tools/list de MCP, 6.052. Si te preocupa el contexto, lo que ahorra es cargar menos definiciones, por ejemplo con Code Mode.

¿Claude o ChatGPT soportan UTCP?

No hemos encontrado ningún cliente grande con soporte nativo de UTCP a 8 de noviembre de 2026. Para llegar a Claude, UTCP pasa por un puente MCP.

Unified.to, que publica sus herramientas por los dos protocolos, lo dice en su documentación de noviembre de 2026: ninguno de los grandes proveedores de LLM lo soporta de forma nativa todavía. Se usa con una librería cliente o un adaptador. Nuestra búsqueda en la documentación de OpenAI y Anthropic tampoco dio resultados, aunque no fue exhaustiva.

El proyecto está vivo. La organización de GitHub nació el 24 de junio de 2025, el SDK va por la 1.2.0 (15 y 16 de septiembre de 2026 en npm y PyPI) y hubo commits hasta el 25 de octubre.

Aun así, es pequeño. El RFC sigue en estado Draft, lo gestionan tres administradores, uno de ellos vinculado a la empresa Bevel Software, y no depende de ninguna fundación. The Register lo llamó en enero de 2026 «un protocolo de nicho».

Estos son los números a 8 de noviembre de 2026, con las descargas de los últimos 30 días:

MCP UTCP
SDK de TypeScript en npm @modelcontextprotocol/sdk: 291 millones @utcp/sdk: 20.069
SDK de Python en PyPI mcp: 235 millones utcp: 5.107
Estrellas del repositorio de la especificación 9.647 332

En npm, MCP tiene unas 14.500 veces más descargas. Las descargas incluyen integración continua, espejos y dependencias, así que sirven para el orden de magnitud y no para contar usuarios. MCP, por su parte, está desde el 9 de diciembre de 2025 en la Agentic AI Foundation de la Linux Foundation, la misma fundación a la que se unió A2A, un protocolo para que agentes hablen entre sí (lo contamos en A2A frente a MCP). Hay productos que publican manuales UTCP, como Unified.to y Simplifier 11, pero ninguno publica cifras de uso.

¿Puedo usar UTCP y MCP juntos?

Sí, y el propio proyecto UTCP lo facilita en las dos direcciones. El precio es mantener dos descripciones de las mismas herramientas.

  • Un cliente UTCP que usa servidores MCP. El plugin utcp-mcp registra servidores MCP, por stdio o HTTP, y llama a sus tools con un prefijo de servidor, como filesystem.read_file. Mantiene sesiones persistentes con esos servidores.
  • Manuales UTCP dentro de Claude o Cursor. El puente @utcp/mcp-bridge es un servidor MCP que expone manuales UTCP como tools en Claude Desktop, Claude Code o Cursor. Tuvo 135 descargas en npm el último mes.
  • Publicar en los dos. Unified.to mantiene su servidor MCP y sirve además un manual UTCP con las mismas herramientas y permisos.

Lo más usado del proyecto es otra pieza, code-mode (1.654 estrellas). Deja que el agente escriba TypeScript que llama a herramientas MCP y UTCP, así que funciona como una capa encima de los dos.

Lo que el reel y la web de UTCP no cuentan

El reel acierta en lo técnico y presenta bien el intercambio entre los dos, pero le falta contexto. La web del proyecto, en cambio, compara UTCP con el MCP de 2025.

Al reel le falta decir que ningún gran cliente soporta UTCP de forma nativa y que UTCP no tiene prompts, sampling, elicitación, Tasks ni MCP Apps. Menciona que el cliente usa credenciales configuradas, pero no explica que eso obliga a que cada cliente guarde las suyas. Cita gRPC, que solo existe en las implementaciones de Go y Rust, y llama a UTCP «más rápido» sin dar cifra.

La página UTCP vs MCP describe un MCP «Anthropic-led» y con estado. Desde el 9 de diciembre de 2025 MCP está en la Agentic AI Foundation, y la versión 2026-07-28 no tiene sesión. También dice que MCP no puede llamar directamente a WebSocket ni a una CLI. Es verdad que la especificación no los define, pero un servidor MCP puede envolver cualquiera de los dos.

Las opiniones van aparte. En el hilo de lanzamiento en Hacker News hubo escepticismo por «otra capa de abstracción». Un comentarista señaló el acoplamiento: sin servidor como interfaz, el agente queda más atado a la herramienta, y la latencia no es lo que más pesa en una consulta a un LLM. Un colaborador de UTCP le respondió que el proyecto no va de latencia, sino de seguridad y de no reconstruir infraestructura. En ese debate, sobre el acoplamiento, nos parece que el comentarista tiene razón.

Cuándo usar cada uno: el caso de Nortia Logística

Si el cliente de IA no es tuyo, MCP. Si es tuyo y ya tienes la API bien descrita, UTCP merece una evaluación. Es nuestra recomendación, no un dato de las fuentes.

Así lo aplicaríamos en Nortia:

Situación Elegimos Por qué
Soporte consulta pedidos y facturas desde Claude o ChatGPT, y los abonos necesitan aprobación MCP Esos clientes hablan MCP. Hay OAuth por usuario y elicitación para aprobar
Un script interno del almacén, en Python, lee 5 endpoints de una API REST con OpenAPI (supuesto para el ejemplo) UTCP, o una llamada directa Nortia controla el cliente y el manual sale del OpenAPI. Se ahorra un servicio sin perder nada
Transportistas externos usarán las herramientas con clientes que Nortia no conoce MCP No controlas el cliente, así que pesa más el estándar de conexión y autorización
Hay que mostrar un panel en el chat o lanzar una exportación larga MCP UTCP no tiene MCP Apps ni Tasks
«Queremos ahorrar tokens» Ninguno por sí solo Los dos formatos ocupan casi lo mismo. Ahorra cargar menos tools

Antes de añadir cualquiera de los dos, conviene preguntarse si hace falta un protocolo. Lo tratamos en las lecciones Qué construir y cuándo no y Beneficios y desafíos, que incluye cuándo no conviene MCP. Si quieres situar UTCP entre el resto de siglas, mira el mapa de protocolos de agentes de IA.

Aprende esto en el curso

  • Básico Gratis Arquitectura · Host, cliente y servidor; JSON-RPC y los dos transportes
  • Básico Gratis Herramientas · Acciones que el modelo puede invocar, con esquemas y errores
  • Básico Gratis Beneficios y desafíos · Qué gana y qué asume una empresa al adoptar MCP
  • Básico Gratis Qué construir y cuándo no · La decisión antes del código: qué exponer, cómo y qué descartar

«Arquitectura» es gratis con una cuenta, igual que el resto del Básico. Sin tarjeta. Si prefieres mirar antes, la lección 1 se lee sin registro.

Crear cuenta y leerla

Fuentes

  1. KodeKloud: MCP vs UTCP (YouTube Shorts) (2026-11-02)
  2. UTCP: Introduction y Quick Start
  3. UTCP: documentación 1.1
  4. UTCP: RFC 1.0.0 (estado Draft)
  5. UTCP: About us (gobernanza)
  6. UTCP vs MCP (documentación del proyecto UTCP)
  7. UTCP: guía para proveedores de herramientas (sustitución de variables)
  8. UTCP: migración de 1.0 a 1.1
  9. UTCP: plugin MCP y sus limitaciones
  10. utcp-mcp: puente que expone manuales UTCP como servidor MCP
  11. utcp en PyPI
  12. @utcp/sdk en npm
  13. Unified.to: UTCP
  14. Simplifier 11: notas de la versión (2026-09-23)
  15. Atlassian Rovo MCP Server: supported tools (2026-11-02)
  16. Especificación MCP 2026-07-28
  17. Anthropic: donating the Model Context Protocol and establishing the Agentic AI Foundation (2025-12-09)
  18. Linux Foundation: formation of the Agentic AI Foundation (2025-12-09)
  19. NiharDaily: MCP vs UTCP, we timed both on the same 10 tools (2026-11-04)
  20. The Register: deciphering the alphabet soup of agentic AI protocols (2026-01-30)
  21. Hacker News: Universal Tool Calling Protocol (UTCP) (2025-08-18)

Artículos relacionados