In this article
¿Qué es MCP en IA? Todo lo que querías preguntar
¿Qué es MCP?
MCP significa Model Context Protocol y es la especificación de Anthropic que define cómo los LLM (modelos de lenguaje grandes) se comunicarían, compartirían datos y aprovecharían recursos externos más allá de los datos del modelo.
MCP se anunció en noviembre de 2024, pero tuvo un impacto significativo en la industria. Impulsó a los desarrolladores a crear distintos tipos de capacidades que se pueden exponer a los modelos para ampliar su alcance y permitirles ir más allá de su ámbito habitual de entrada y salida de texto. Ahora, al permitir que los modelos también ejecuten acciones y obtengan datos de fuentes con las que no fueron entrenados, se desbloquea una nueva capacidad que potencia la autonomía de los modelos para realizar tareas.

La especificación de MCP define formalmente la “aplicación con IA” como un host de MCP. Sin embargo, esto puede resultar confuso por el uso del término “servidor”, por lo que, en la mayor parte de este artículo, usaremos “aplicación con IA”.
¿Quién crea el cliente de MCP?
Por lo general, las aplicaciones con IA permiten que los usuarios agreguen servidores MCP con los que pueden interactuar. Por eso, el cliente de MCP suele estar implementado en la aplicación con IA, mientras que los desarrolladores que crean servidores MCP proporcionan la capacidad de terceros.
Algunos ejemplos de aplicaciones con IA, también conocidas como hosts de MCP, son:
Claude Desktop
Cursor
Qodo AI
Estas aplicaciones con IA implementan un cliente de MCP al que puedes agregar distintos servidores MCP para ofrecer diversas funcionalidades, como administrar tus flujos de trabajo de Git y hacer búsquedas en la web.
¿Dónde puedo encontrar servidores MCP?
Anthropic mantiene un repositorio para llevar un registro de los servidores MCP aportados por la comunidad. En el repositorio @modelcontextprotocol/servers, puedes encontrar implementaciones de referencia de servidores MCP y aportes de terceros realizados por particulares.
Aviso de seguridad:
Debes tener mucha precaución con el código de servidores MCP no oficiales y no auditados, ya que podría contener malware, presentar riesgos para la seguridad de la cadena de suministro o incluir prácticas de codificación inseguras que afecten tu infraestructura y tus aplicaciones de IA.
También puedes crear tu propio servidor MCP. Anthropic ofrece SDK de MCP, como el popular SDK de JavaScript @modelcontextprotocol/sdk, para que los desarrolladores puedan crear sus propios servidores MCP y exponer herramientas que usen los LLM.
A continuación, se muestra un ejemplo de código simplificado de un servidor MCP implementado en JavaScript:
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
// Create an MCP server
const server = new McpServer({
name: "Demo",
version: "1.0.0"
});
// Add an addition tool
server.tool("add",
{ a: z.number(), b: z.number() },
async ({ a, b }) => ({
content: [{ type: "text", text: String(a + b) }]
})
);¿Qué aspectos de seguridad hay que tener en cuenta al adoptar MCP?
La siguiente no es una lista exhaustiva de los riesgos de seguridad que implica adoptar servidores MCP para potenciar tus aplicaciones con IA. Sin embargo, ofrece un resumen y ejemplos prácticos de los problemas de seguridad y las vulnerabilidades de seguridad que pueden presentarse en los servidores MCP:
Control de acceso - Si expones un recurso de MCP en un servidor MCP, ¿cómo diferencias a los usuarios y sus roles al manipular el LLM mediante la aplicación con IA para acceder a los datos expuestos a través de un recurso de MCP y recopilarlos?
Programación segura - Los servidores MCP no son más que otro tipo de software, y ese software puede programarse de forma insegura sin querer, al igual que al crear aplicaciones que no están relacionadas con MCP los desarrolladores deben seguir prácticas de programación segura, como protegerse contra el recorrido de rutas y la inyección de código. De manera similar, un servidor MCP puede exponer una herramienta para leer archivos, pero si estos deben limitarse a un directorio principal, ¿cómo te aseguras de que tu código no sea vulnerable por error al clásico ataque de recorrido de rutas ../?
¿Cómo se comunican el servidor y el cliente de MCP?
El formato de intercambio de datos se basa en JSON-RPC 2.0 y en una especificación de MCP detallada que estandariza un protocolo de comunicación óptimo para los LLM y los flujos de trabajo basados en IA.
El protocolo de comunicación JSON-RPC puede establecerse mediante uno de dos tipos de canales de comunicación entre un servidor MCP y un cliente MCP:
Entrada y salida estándar de un proceso del sistema: este canal de comunicación permite ejecutar servidores MCP localmente, lo que resulta útil para la seguridad y la privacidad, además de ofrecer otras ventajas, como una menor latencia. El canal inicia un proceso del sistema (como
npx <mcp-server>). Mientras el proceso está en ejecución, se intercambian datos y comandos mediante las interfacesstdout,stdioystderrdel proceso.Red HTTP con Server-Sent Events (SSE): diseñada principalmente para comunicarse con servidores MCP implementados de forma remota que pueden ampliar las capacidades de una aplicación con IA.
¿El servidor MCP puede proporcionar datos?
Sí. Además de ofrecer herramientas abstractas, es decir, conjuntos generales de capacidades, los servidores MCP también pueden definir fuentes de datos específicas e incluso sugerir un conjunto de instrucciones que los LLM pueden aprovechar como técnica de ingeniería de prompts para ejecutar acciones y recopilar datos.
Los servidores MCP pueden ofrecer el siguiente conjunto de capacidades para ampliar lo que puede hacer un LLM:
Recursos de MCP - En esencia, los recursos son distintas fuentes de datos que pueden ponerse a disposición de los LLM. Por ejemplo, un servidor MCP puede exponer el contenido de un archivo o la lista de archivos de un directorio como recurso de datos para un LLM. En cierto modo, puedes considerar los recursos de MCP como una especie de RAG que amplía y enriquece aún más las fuentes de datos del LLM.
Prompts de MCP - Es posible que los usuarios de aplicaciones con IA no conozcan todas las capacidades que tienen a su disposición. Por eso, los servidores MCP pueden exponer una lista de prompts de texto que los clientes MCP pueden mostrar a los usuarios finales según su significado semántico, para que los usen directamente y ejecuten acciones específicas o recopilen datos.
Herramientas de MCP - Probablemente, el caso de uso más popular de los servidores MCP: permitir que los LLM ejecuten acciones. Antes de MCP, los LLM podían generar texto como respuesta, pero no buscar en la web. No tenían acceso para realizar acciones. Esto cambió con la introducción de MCP (o, más precisamente, con el precursor de MCP de OpenAI, function calling). Ahora, los servidores MCP pueden implementar la acción completa que permite operar la mano de un robot o escribir en un cuadro de búsqueda del navegador y exponer esa capacidad al LLM, que puede activar esas acciones.
¿Cómo puedo depurar la comunicación entre el servidor y el cliente de MCP?
Los desarrolladores que crean un servidor MCP y lo implementan mediante el transporte HTTP pueden seguir usando los registros de salida en la consola, como suelen hacer los desarrolladores de JavaScript. Sin embargo, esto no funciona con el transporte de comunicación entre procesos STDIO (entrada y salida estándar) de los servidores MCP, porque los canales STDIO se usan exclusivamente para el protocolo y porque el servidor MCP se ejecuta como un subproceso del host de MCP, no como una herramienta de línea de comandos con la que normalmente interactuarías desde una terminal (técnicamente, un TTY).
Claude recomienda principalmente y pone a disposición los siguientes métodos y herramientas para depurar un servidor MCP:
MCP Inspector - MCP Inspector es una herramienta de línea de comandos dedicada que intercepta la comunicación entre el cliente y el servidor MCP, y te permite inspeccionar, depurar y rastrear el canal de comunicación, así como obtener información y conclusiones. A continuación, se muestra un ejemplo de cómo usarías el inspector MCP de JavaScript, disponible en el registro de npm:
npx @modelcontextprotocol/inspector <command> <arg1> <arg2>Nota: También existe un paquete de PyPI para los desarrolladores que crean servidores MCP en Python.
Registro - Una práctica útil es usar una herramienta de registro dedicada, como un sistema local de archivos de registro o un servicio remoto de registro basado en red, para recopilar información de un servidor MCP basado en HTTP o STDIO. En particular, mantener registros en archivos es naturalmente más accesible y pertinente para los servidores MCP que se comunican mediante STDIO.
¿En qué se diferencia MCP de las herramientas de OpenAI?
Las herramientas, también conocidas como uso de funciones en otras API y frameworks, permiten flujos de trabajo agénticos al exponer al modelo capacidades que puede ejecutar. Las herramientas son un detalle de implementación, mientras que Model Context Protocol es una especificación de nivel superior que establece contratos y estándares para definir esas herramientas y funciones.
¿MCP es como GraphQL?
Cuando se anunció MCP y ganó popularidad, los desarrolladores debatieron si, en esencia, reinventaba GraphQL, una alternativa a las API RESTful y un lenguaje de comunicación y consulta basado en JSON-RPC. Aunque existen similitudes, MCP no pretende reemplazar, replicar ni basarse en GraphQL.
MCP se creó específicamente para aprovechar y potenciar el comportamiento autónomo de los LLM y los datos disponibles. Antes de los LLM, los flujos de trabajo de OpenAI y de IA agéntica para function calling o tool calling obligaban a los desarrolladores a crear estas capacidades sin una forma estándar de definir cómo debía ser la interfaz. Además, la facilidad para descubrirlas dependía del modelo y del framework que eligieran los desarrolladores. MCP surgió para resolver ese problema y ofrecer una plataforma de comunicación estandarizada que proporciona acciones y datos mejorados mediante funciones de autodescubrimiento.
¿Quieres saber más sobre cómo crear aplicaciones con IA? Explora 10 prácticas recomendadas para desarrollar de forma segura con IA.
Buenas prácticas para desarrollar con IA de forma segura
10 consejos para ayudar a desarrolladores y profesionales de seguridad a mitigar eficazmente los posibles riesgos y aprovechar al máximo los beneficios del desarrollo con IA.