MCP funciona con una arquitectura cliente-servidor sobre JSON-RPC. Un servidor MCP es un pequeno programa que expone un conjunto de herramientas, recursos y prompts a traves de una interfaz estandarizada. Un cliente MCP — tipicamente una aplicacion de IA como Claude Desktop, Cursor o Windsurf — descubre lo que ofrece el servidor y pone esas capacidades a disposicion del modelo. Cuando el modelo decide usar una herramienta, el cliente envia una solicitud JSON-RPC al servidor, obtiene el resultado y lo retroalimenta a la conversacion. La capa de transporte es flexible: los servidores pueden comunicarse por stdio (para procesos locales), HTTP con server-sent events (para servicios remotos) o HTTP streaming (el transporte mas nuevo, que combina solicitud-respuesta y streaming en una sola conexion).
Construir un servidor MCP es deliberadamente sencillo. En Python, puedes usar el SDK oficial mcp y tener un servidor funcional en unas 20 lineas de codigo — decoras una funcion con @server.tool(), le das una descripcion y parametros tipados, y el SDK se encarga de JSON-RPC, generacion de schemas y transporte. En TypeScript, el paquete @modelcontextprotocol/sdk funciona de la misma manera. El servidor declara sus capacidades al inicializarse (que herramientas tiene, si soporta recursos o prompts), y el cliente negocia lo que quiere usar. Esto significa que puedes empezar en pequeno — un servidor que simplemente envuelve la API interna de tu empresa — y agregar capacidades de forma incremental.
El verdadero poder de MCP sobre integraciones de herramientas a medida se hace evidente cuando consideras el problema combinatorio que resuelve. Antes de MCP, si tenias 10 aplicaciones de IA y 10 herramientas, necesitabas 100 integraciones personalizadas. Con MCP, necesitas 10 servidores y 10 clientes — cada uno construido una sola vez. Este es exactamente el mismo patron que hizo exitoso al USB: estandariza la interfaz y el ecosistema escala. En la practica, esto significa que un servidor MCP de Postgres construido por un desarrollador funciona con Claude, Cursor, Zed y cualquier otro cliente compatible con MCP sin modificacion. El ecosistema de servidores MCP ya incluye cientos de servidores construidos por la comunidad para bases de datos, APIs, herramientas de desarrollo y servicios en la nube.
Hay algunas sutilezas importantes que los profesionales deben conocer. Primero, los servidores MCP vienen en dos sabores: servidores locales que corren en tu maquina (excelentes para acceso a archivos, bases de datos locales, herramientas de desarrollo) y servidores remotos que corren como servicios alojados (mejores para infraestructura compartida, integraciones SaaS). Segundo, la seguridad es una consideracion real — un servidor MCP tiene los permisos que tenga el proceso que lo ejecuta, asi que un servidor mal configurado podria exponer datos sensibles. El protocolo incluye un paso de negociacion de capacidades, pero el control de acceso y la autenticacion para servidores remotos aun estan evolucionando. Tercero, MCP no es lo mismo que tool use — es una capa de transporte y descubrimiento que esta por debajo del tool use. Un modelo que soporte llamadas a herramientas puede trabajar con MCP, pero MCP tambien maneja cosas como suscripciones a recursos (contexto que se actualiza en vivo) y plantillas de prompts que van mas alla de simples llamadas a funciones.
Anthropic abrio el codigo de MCP a fines de 2024, y la adopcion ha sido notablemente rapida. Para principios de 2025, era soportado por Claude, Cursor, Windsurf, Zed, Sourcegraph y muchos otros. La especificacion sigue evolucionando — la adicion de transporte HTTP streaming, autenticacion basada en OAuth para servidores remotos y elicitation (permitir que los servidores pidan informacion al usuario durante el flujo) llegaron en 2025. Si estas decidiendo entre construir una integracion de herramienta personalizada y construir un servidor MCP, la ruta MCP casi siempre gana: obtienes compatibilidad con cada cliente MCP de forma gratuita, y el protocolo es lo suficientemente simple como para que el costo de migracion sea cercano a cero.