MCP resuelve un problema muy concreto: sin un estándar, cada integración de un LLM con una herramienta externa es un conector a medida que hay que reescribir por cada modelo y cada cliente.
Antes de MCP, conectar un modelo de lenguaje a una base de datos, un sistema de tickets o un repositorio de archivos significaba escribir un adaptador propietario por cada combinación de modelo y herramienta. Model Context Protocol, publicado por Anthropic como estándar abierto, define un protocolo común basado en JSON-RPC 2.0 para que cualquier cliente compatible con MCP (Claude Desktop, Claude Code, o tu propia aplicación con el Claude Agent SDK) pueda hablar con cualquier servidor MCP sin código de integración específico.
La analogía correcta es USB-C para agentes de IA: un puerto estándar donde el lado del modelo no necesita saber los detalles de implementación del lado de la herramienta, y viceversa.
MCP define tres roles. El **host** es la aplicación que el usuario final usa (Claude Desktop, un IDE, tu producto). El **cliente MCP** vive dentro del host y mantiene una conexión 1:1 con cada **servidor MCP**. El servidor expone tres tipos de primitivas:
- **Tools**: funciones que el modelo puede invocar con argumentos estructurados (equivalente a `tool_use` en la API de Mensajes de Claude), por ejemplo `create_issue(title, description, project)`. - **Resources**: datos de solo lectura que el host puede exponer al modelo como contexto — un archivo, una fila de base de datos, el resultado de una consulta. - **Prompts**: plantillas de prompt reutilizables que el servidor expone para flujos de trabajo comunes.
El transporte puede ser stdio (el servidor corre como subproceso local, ideal para herramientas de desarrollo) o HTTP con Server-Sent Events / Streamable HTTP (para servidores remotos, como los que usan las integraciones alojadas de GitHub, Slack o Linear).
En la Claude API, el parámetro `mcp_servers` permite que Claude se conecte directamente a un servidor MCP remoto sin que tu código intermedie cada llamada — Anthropic gestiona la conexión del lado del servidor. Declaras el servidor y una tool de tipo `mcp_toolset` que referencia ese servidor por nombre:
Alternativamente, si necesitas correr el servidor MCP localmente (por ejemplo, un servidor stdio que envuelve tu base de datos interna), el SDK de Python y TypeScript ofrecen helpers para convertir tools, prompts y recursos MCP a los tipos nativos de la API y usarlos con el tool runner.
Un servidor MCP que expone acciones con efectos secundarios (crear tickets, enviar correos, modificar registros) necesita las mismas garantías de seguridad que cualquier API interna: autenticación por OAuth o token, control de acceso por rol, y auditoría de cada invocación. En el contexto de Managed Agents de Anthropic, las credenciales de servidores MCP se gestionan a través de "vaults" — el modelo nunca ve el secreto, que se inyecta en la petición saliente después de que sale del sandbox de ejecución.
Para integraciones más simples, en Claude Code o Claude Desktop, la configuración vive en un archivo JSON que declara qué servidores están habilitados y sus variables de entorno o tokens, con el mismo cuidado que le darías a cualquier archivo de configuración con secretos.
Existe un ecosistema creciente de servidores MCP mantenidos por terceros y por Anthropic: GitHub, Google Drive, Slack, Postgres, Puppeteer para automatización de navegador, y decenas más listados en el repositorio público de referencia. Antes de construir un servidor propio, vale la pena revisar si ya existe uno para el sistema que necesitas conectar.
Construir un servidor MCP propio tiene sentido cuando necesitas exponer lógica de negocio interna — por ejemplo, un servidor que envuelva tu ERP o tu sistema de facturación con las validaciones específicas de tu empresa. El SDK oficial de MCP (disponible en Python, TypeScript, Java, Kotlin y C#) reduce esto a definir funciones decoradas con su esquema de entrada; el protocolo se encarga del resto.
Si tu agente solo necesita un puñado de herramientas propias de tu aplicación, definir tools directamente en la API de Mensajes (el parámetro `tools` estándar) es más simple y no requiere mantener un servidor separado. MCP se justifica cuando: (1) la misma herramienta debe ser consumida por múltiples clientes o modelos distintos, (2) el proveedor de la herramienta ya publica un servidor MCP mantenido, o (3) quieres desacoplar el ciclo de vida de la integración del ciclo de vida de tu aplicación de agente. En Guatemalia, por ejemplo, un servidor MCP para el sistema de gestión documental interno permite que tanto Claude Code como una futura integración de atención al cliente reutilicen exactamente la misma capa de acceso, sin duplicar lógica.
Carlos Montiel es arquitecto de soluciones IA empresarial. Implementa LLMs, Agentes, RAG y orquestadores en empresas de Guatemala y Latinoamérica. Contáctalo para una consultoría.
Contactar a Carlos Montiel