MCP Server vs MCP Client: diferencias, roles y ejemplos
En Model Context Protocol (MCP), un server y un client cumplen roles distintos. El MCP server expone capacidades. El MCP client las consume desde una aplicación de IA, un agente o un entorno de desarrollo.
Entender esa diferencia evita confusiones. MCP no es una herramienta única ni un chatbot. Es una forma estandarizada de conectar modelos y agentes con datos, servicios y acciones externas.
Resumen rápido
| Rol | Qué hace | Ejemplo |
|---|---|---|
| MCP Server | Expone herramientas, recursos o prompts | Un servidor que permite consultar una base de datos |
| MCP Client | Se conecta al server y usa sus capacidades | Un editor con agente que llama herramientas MCP |
| Agente | Decide cuándo usar una herramienta | Un asistente que consulta datos y crea un reporte |
El server define qué existe. El client permite usarlo. El agente decide cómo combinarlo dentro de una tarea.
Qué es un MCP Server
Un MCP server es un proceso que ofrece capacidades a través del protocolo MCP. Es el lado que define qué se puede hacer y con qué restricciones.
Puede exponer tres tipos de capacidades:
- Tools (Herramientas): acciones ejecutables con parámetros estructurados. Ej:
create_issue,query_database,send_message. - Resources (Recursos): datos legibles por URI. Ej:
file:///project/main.ts,github://repo/issues. - Prompts: plantillas de prompts predefinidas para estandarizar interacciones con un servicio.
Por ejemplo, un server de GitHub podría exponer una herramienta para listar issues, leer pull requests o crear comentarios. Un server de base de datos podría permitir consultas controladas con parámetros. Un server de calendario podría mostrar eventos o crear reuniones.
El punto clave es que el server debe limitar qué acciones existen y qué permisos aplican. No es el modelo quien decide qué puede hacer; es el server quien lo restringe.
Qué es un MCP Client
Un MCP client es la aplicación que se conecta a uno o varios MCP servers. Es el lado que descubre las capacidades disponibles y las pone a disposición del modelo o agente.
Puede ser:
- un editor de código (Cursor, Windsurf, Zed),
- una app de chat (Claude Desktop),
- una plataforma de agentes,
- una aplicación interna corporativa,
- una herramienta de automatización,
- cualquier software compatible con MCP.
El client descubre las capacidades disponibles y las presenta al modelo como herramientas utilizables. Si el server dice "puedo consultar tickets", el client permite que el agente use esa capacidad bajo las reglas configuradas.
Cómo se comunican server y client
La comunicación sigue un flujo estructurado:
- El client inicia conexión con el server (via stdio, SSE, o WebSocket).
- El server declara sus capacidades (tools, resources, prompts).
- El usuario pide una tarea al agente.
- El modelo decide si necesita una herramienta para responder.
- El client llama al server con los parámetros indicados por el modelo.
- El server ejecuta la acción y devuelve el resultado.
- El modelo usa el resultado para continuar o finalizar su respuesta.
MCP ayuda a que esta integración sea repetible y estandarizada. Sin un protocolo común, cada herramienta termina con una integración propia, lo que aumenta mantenimiento y errores.
Ejemplo práctico
Imagina un agente que debe responder: "¿Qué clientes tuvieron tickets abiertos esta semana y cuáles requieren seguimiento?"
Un MCP server podría exponer:
list_open_tickets— lista tickets abiertos con filtros de fecha.get_customer_profile— obtiene perfil y historial del cliente.create_follow_up_task— crea una tarea de seguimiento.
El MCP client, dentro de la app de IA, conectaría esas herramientas al agente. El agente podría:
- llamar
list_open_ticketscon filtro de esta semana, - agrupar resultados por cliente,
- llamar
get_customer_profilepara cada cliente relevante, - redactar un resumen con prioridades,
- llamar
create_follow_up_taskpara los que requieren seguimiento.
El valor no está en que el modelo "sepa" los tickets, sino en que pueda acceder a una herramienta autorizada para obtenerlos y actuar.
MCP Server no es una API cualquiera
Una API expone endpoints. Un MCP server expone capacidades pensadas para ser descubiertas y usadas por agentes o modelos.
La diferencia práctica está en:
- descripción de herramientas: cada tool tiene nombre, descripción y esquema de parámetros que el modelo puede entender,
- parámetros estructurados: JSON Schema con tipos, required, validaciones,
- resultados legibles por modelos: respuestas concisas y estructuradas, no HTML crudo,
- permisos asociados: el server define qué cuenta y qué permisos usa cada acción,
- integración con clientes compatibles: cualquier cliente MCP puede usar el server,
- trazabilidad del uso: logs de qué agente llamó qué herramienta cuándo.
MCP no elimina APIs. Muchas veces un MCP server envuelve APIs existentes para hacerlas utilizables por agentes. Es una capa de adaptación, no un reemplazo.
Qué revisar antes de usar un MCP Server
Antes de conectar un server a tu cliente, revisa:
- Qué herramientas expone: ¿qué acciones puede ejecutar?
- Qué datos puede leer: ¿tiene acceso a información sensible?
- Qué acciones puede ejecutar: ¿puede modificar, crear o eliminar?
- Cómo autentica usuarios: ¿usa OAuth, API key, token?
- Si registra logs: ¿puedes auditar qué se hizo?
- Qué pasa ante errores: ¿hay manejo de timeouts, reintentos?
- Si limita operaciones peligrosas: ¿hay confirmación para acciones destructivas?
- Si soporta permisos por usuario: ¿cada usuario ve solo lo que puede?
- Quién mantiene el server: ¿es oficial, comunitario o propio?
No conectes un server solo porque existe. Un agente con herramientas mal delimitadas puede causar errores reales.
Qué revisar antes de construir un MCP Server
Si vas a construir tu propio MCP server, empieza por un caso de uso acotado.
Buenas prácticas:
- Herramientas pequeñas y claras: una tool = una acción específica.
- Nombres descriptivos:
create_support_ticket>do_thing. - Parámetros validados: JSON Schema con tipos, enum, required.
- Errores explícitos: mensajes que el modelo pueda interpretar y comunicar.
- Permisos estrictos: scope mínimo, credenciales dedicadas.
- Logs auditables: registro de cada llamada con parámetros y resultado.
- Resultados concisos: no devuelvas 50KB si 500 bytes bastan.
- Documentación del alcance: qué hace, qué no hace, qué requiere.
Evita herramientas demasiado generales como ejecutar_sql_libre o hacer_cualquier_request_http salvo que el entorno tenga controles fuertes.
MCP y seguridad
La seguridad no viene gratis por usar MCP. El protocolo ordena la conexión, pero los permisos siguen siendo responsabilidad del sistema.
Riesgos comunes:
- exponer herramientas demasiado amplias,
- mezclar credenciales de usuarios,
- no auditar acciones,
- permitir escritura sin aprobación,
- no validar parámetros,
- confiar en prompts como si fueran permisos.
La regla es simple: el modelo no debe ser la barrera de seguridad. La barrera debe estar en la herramienta, el server y la infraestructura.
Clientes MCP populares
Algunos de los clientes MCP más usados:
- Claude Desktop: el cliente de referencia de Anthropic. Soporta MCP nativamente.
- Cursor: editor con IA que soporta MCP para conectar herramientas de desarrollo.
- Windsurf: otro editor con IA compatible con MCP.
- Zed: editor ligero con soporte MCP.
- Agentes personalizados: cualquier aplicación puede implementar el protocolo MCP como cliente.
Preguntas frecuentes
¿Necesito MCP para conectar una API?
No siempre. Si la integración es simple y única, una llamada directa con function calling puede bastar. MCP conviene cuando quieres reutilizar herramientas en distintos agentes o clientes.
¿Un MCP Client puede conectarse a varios servers?
Sí. Esa es una de las ventajas clave: un agente puede usar capacidades de varios sistemas bajo una interfaz consistente. Un cliente puede tener conectados simultáneamente servers de GitHub, Postgres, Slack y Google Drive.
¿Un MCP Server puede usar APIs internas?
Sí. De hecho, muchos servers actúan como adaptadores sobre APIs, bases de datos o servicios existentes. El server envuelve la API y la expone con el formato estandarizado de MCP.
¿MCP funciona solo con Claude?
No. Aunque fue creado por Anthropic, es un protocolo abierto. Cualquier cliente puede implementarlo. Ya hay soporte en Cursor, Windsurf, Zed y otros.
Fuentes y recursos recomendados
- Model Context Protocol — documentación principal del protocolo.
- MCP specification — especificación técnica de MCP.
- Anthropic: Introducing MCP — anuncio original y contexto.
Conclusión
MCP Server y MCP Client son dos lados de la misma arquitectura. El server expone capacidades. El client las conecta al entorno de IA. El agente decide cómo usarlas.
La adopción correcta empieza con límites claros: qué herramienta, para qué usuario, con qué permisos y con qué trazabilidad. MCP no es magia que hace seguro tu sistema; es un protocolo que hace ordenada la integración. La seguridad sigue siendo tuya.
