¿Qué es un servidor MCP?

¿Qué es un servidor MCP? Tools, resources y prompts explicados | We.Inc

Un servidor MCP es un programa que ofrece tools, resources y prompts a aplicaciones de IA mediante el Model Context Protocol. Mira los mensajes JSON reales, paso a paso.

¿Qué es un servidor MCP?

Un servidor MCP es un programa que da a las aplicaciones de IA algo con lo que trabajar mediante el Model Context Protocol: tools que pueden invocar, resources que pueden leer y prompts que los usuarios pueden elegir. La aplicación se conecta a través de un cliente MCP, y ambas partes intercambian mensajes JSON-RPC 2.0 por stdio en local o por Streamable HTTP en remoto.

Las tres cosas que puede ofrecer un servidor

Recorre abajo un intercambio real paso a paso. Cada paso muestra el JSON que envía un cliente y lo que responde el servidor, con las formas de mensaje de la especificación actual (versión 2026-07-28). Leer los mensajes en bruto es la forma más rápida de dejar de ver un servidor como algo mágico.

Preguntas frecuentes

¿Un servidor MCP es lo mismo que una API?

Normalmente envuelve una. Un servidor típico recurre a una API o base de datos existente y describe esas operaciones de forma estándar, para que cualquier aplicación compatible con MCP pueda descubrirlas e invocarlas sin código de integración a medida.

¿Un servidor MCP se ejecuta en mi ordenador o en la nube?

En cualquiera de los dos. Un servidor local lo arranca la aplicación y se comunica por la entrada y la salida estándar. Un servidor remoto se ejecuta en otro lugar y se accede a él por Streamable HTTP, donde puede atender a muchos clientes.

¿Un servidor MCP contiene un modelo de lenguaje?

No. El servidor solo ofrece tools, resources y prompts. La aplicación host es dueña del modelo y decide qué enviarle. La especificación marca como obsoleto el sampling solicitado por el servidor a partir de la versión 2026-07-28.

¿Qué cambió en la versión 2026-07-28 del protocolo?

El protocolo pasó a ser sin estado: cada petición lleva la versión del protocolo y las capacidades en su campo _meta, y los servidores responden a una petición server/discover obligatoria. Las notificaciones de cambio ahora son opcionales mediante un stream subscriptions/listen.

¿Quién aprueba la invocación de una tool?

El host. La documentación del protocolo sugiere diálogos de aprobación, ajustes de permisos y registros de actividad, pero aplicarlos es tarea de la aplicación, así que un servidor nunca debe suponer que una persona revisó una invocación.

Host, cliente y servidor

Dos capas: datos y transporte

Lo que el cliente puede ofrecer a cambio

¿Stdio o Streamable HTTP?

Cómo elegir un transporte

Cómo es una plantilla de resource

Una plantilla de resource con un parámetro en la URI

Los clientes encuentran las plantillas con resources/templates/list, rellenan las llaves y leen el resultado con resources/read.

1. Descubrimiento

server/discover es opcional para el cliente, pero todo servidor debe responderlo. El objeto capabilities indica qué primitivas existen; listChanged significa que el servidor puede notificar cambios en las tools.

2. Listar tools

Cada tool lleva un name, una description y un inputSchema escrito en JSON Schema. El host se los pasa al modelo para que sepa qué puede invocar.

3. Invocar una tool

El nombre debe coincidir exactamente con la tool listada y los argumentos deben encajar con su inputSchema. Los resultados vuelven como un array content, aquí con un único elemento de texto.

4. Notificación de cambio

Las notificaciones no tienen id, así que nada les responde. El cliente solo recibe esta porque abrió un stream subscriptions/listen pidiendo toolsListChanged.

Recorre un intercambio MCP

Elige un paso

El cliente envía

El servidor responde

Copiar petición

Copiar respuesta

Paso {n} de {v}

Empieza gratis · Sin tarjeta de crédito

Relacionado: Guías

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio