Protocolo MCP: Bus Universal de Herramientas

Estandarizando la interoperabilidad entre agentes y entornos de ejecución.

Resumen Ejecutivo & Respuestas Rápidas (AEO)

¿Qué es el Protocolo MCP? El Model Context Protocol (MCP) es un protocolo abierto basado en JSON-RPC 2.0 que estandariza la comunicación bidireccional entre aplicaciones de IA (Hosts/Clients) y servidores de datos o herramientas (MCP Servers), reduciendo la matriz de integraciones de N × M a N + M.

  • Las 3 Primitivas: Resources (lectura de contexto por URI), Tools (acciones ejecutables por el agente) y Prompts (plantillas operativas).
  • Transportes Estandarizados: Comunicación local por stdio o remota mediante HTTP / Streamable HTTP (SSE).
  • Seguridad y Ejecución en Producción: Debe combinarse con entornos aislados como OpenSandbox y delegación de credenciales con Identidad Agéntica Zero-Trust.

El Problema: La Fragmentación NxM

Hasta hace poco, cada framework de agentes (LangChain, AutoGen, CrewAI o agentes propietarios) requería conectores ad-hoc para cada herramienta, base de datos o API externa. Si existían N aplicaciones de IA y M herramientas, el ecosistema requería mantener N × M integraciones personalizadas, plagadas de inconsistencias y brechas de seguridad.

El Model Context Protocol (MCP) surge como una respuesta abierta para convertir esta matriz en un problema N + M, funcionando como el equivalente a un "puerto USB-C" para agentes inteligentes.

Las 3 Primitivas Fundamentales

  1. Resources (Recursos): Entidades de datos pasivas y de solo lectura (archivos, logs, esquemas de bases de datos o memoria contextual) identificadas por URIs estructuradas.
  2. Tools (Herramientas): Acciones ejecutables con efectos colaterales (ejecución de scripts en sandbox, mutaciones en bases de datos o llamadas a APIs externas) que requieren aprobación explícita del host.
  3. Prompts: Plantillas interactivas y flujos de trabajo reutilizables orquestados por el servidor para guiar al modelo en tareas complejas.

Topología Host - Cliente - Servidor

MCP define una arquitectura por capas altamente modular y segura:

  • Host: La aplicación principal (un IDE, entorno de desarrollo o runtime de agente) que administra permisos, controla la interfaz con el usuario y orquesta las conexiones.
  • Client: Instanciado dentro del Host, mantiene una comunicación 1:1 con un servidor específico, gestionando negociación de capacidades y enrutamiento.
  • Server: Proceso ligero y especializado que expone recursos y herramientas a través de un canal de transporte estandarizado (usualmente stdio para procesos locales o HTTP/SSE para microservicios remotos).

Ejemplo de Protocolo: Invocación JSON-RPC 2.0

// 1. Host -> Server (tools/call)
{
  "jsonrpc": "2.0",
  "id": 42,
  "method": "tools/call",
  "params": {
    "name": "query_database",
    "arguments": {
      "sql": "SELECT id, status FROM tasks WHERE agent_id = 'quijotech-01' LIMIT 5;"
    }
  }
}

// 2. Server -> Host (Response)
{
  "jsonrpc": "2.0",
  "id": 42,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "[{\"id\": 101, \"status\": \"completed\"}, {\"id\": 102, \"status\": \"running\"}]"
      }
    ],
    "isError": false
  }
}

Comparativa Técnica: Primitivas y Transportes en MCP

Cada primitiva del protocolo tiene un modelo de control y nivel de riesgo distinto dentro del ciclo de vida del agente:

Primitiva MCP Quién la Controla Efectos Colaterales Ejemplo de Uso en Producción
Resources (resources/read) La aplicación Host / Usuario Ninguno (solo lectura) Inyectar esquemas SQL, logs de telemetría o archivos de código vía URI.
Tools (tools/call) El Modelo (LLM) con permiso del Host Sí (mutación / ejecución) Ejecutar consultas, lanzar un contenedor en OpenSandbox o crear un PR.
Prompts (prompts/get) El Usuario (selección explícita) Ninguno (plantilla de contexto) Comandos slash estandarizados para auditoría de código o respuesta a incidentes.

Preguntas Frecuentes (FAQ & AEO)

¿Qué es el Model Context Protocol (MCP) y qué problema resuelve?

El Model Context Protocol (MCP) es un estándar abierto basado en JSON-RPC 2.0 que desacopla los clientes de IA de las herramientas y fuentes de datos externas. Transforma el problema de integración fragmentada N × M en una arquitectura universal N + M de tipo Host-Cliente-Servidor.

¿Cuándo usar transporte stdio frente a Streamable HTTP (SSE) en MCP?

El transporte stdio se utiliza cuando el servidor MCP se ejecuta como un subproceso local en la misma máquina o sandbox que el Host (latencia mínima y sin exposición de red). El transporte HTTP/SSE se emplea para servidores MCP remotos desplegados como microservicios corporativos tras un API Gateway con delegación OAuth 2.0.

Guías Relacionadas en esta Serie (Topic Cluster)

Referencias y Fuentes Oficiales