Documentación Oficial de MCP en Español
  1. Conceptos
Documentación Oficial de MCP en Español
  • Empezar
    • Introducción
    • Servidores de ejemplo
    • Clientes de ejemplo
    • Inicio rápido
      • Para desarrolladores de servidores
      • Para desarrolladores de clientes
      • Para usuarios de Claude Desktop
  • Tutoriales
    • Construyendo MCP con LLMs
    • Depuración
    • Inspector
  • Conceptos
    • Arquitectura central
    • Recursos
    • Indicaciones
    • Herramientas
    • Muestreo
    • Raíces
    • Transportes
  • Desarrollo
    • Qué hay de nuevo
    • Hoja de ruta
    • Contribuyendo
  1. Conceptos

Arquitectura central

Aquí está la traducción del contenido en formato Markdown:
Understand how MCP connects clients, servers, and LLMs
El Model Context Protocol (MCP) está construido sobre una arquitectura flexible y extensible que permite una comunicación fluida entre las aplicaciones e integraciones de LLM. Este documento cubre los componentes y conceptos arquitectónicos centrales.

Overview#

MCP sigue una arquitectura cliente-servidor donde:
Hosts son aplicaciones LLM (como Claude Desktop o IDEs) que inician conexiones
Clients mantienen conexiones 1:1 con servidores, dentro de la aplicación host
Servers proporcionan contexto, herramientas y prompts a los clientes
image-20250312145458026

Core components#

Protocol layer#

La capa de protocolo gestiona el framing de mensajes, el enlace de solicitud/respuesta y los patrones de comunicación de alto nivel.
TypeScript
Python
Las clases clave incluyen:
Protocol
Client
Server

Transport layer#

La capa de transporte gestiona la comunicación real entre clientes y servidores. MCP soporta múltiples mecanismos de transporte:
1.
Stdio transport
Utiliza la entrada/salida estándar para la comunicación
Ideal para procesos locales
2.
HTTP with SSE transport
Utiliza Server-Sent Events para mensajes de servidor a cliente
HTTP POST para mensajes de cliente a servidor
Todos los transportes utilizan JSON-RPC 2.0 para intercambiar mensajes. Consulte la specification para obtener información detallada sobre el formato de mensaje de Model Context Protocol.

Message types#

MCP tiene estos tipos principales de mensajes:
1.
Requests esperan una respuesta del otro lado:
2.
Results son respuestas exitosas a las solicitudes:
3.
Errors indican que una solicitud falló:
4.
Notifications son mensajes unidireccionales que no esperan una respuesta:

Connection lifecycle#

1. Initialization#

image.png
1.
El cliente envía la solicitud initialize con la versión del protocolo y las capacidades.
2.
El servidor responde con su versión del protocolo y capacidades.
3.
El cliente envía la notificación initialized como acuse de recibo.
4.
Comienza el intercambio normal de mensajes.

2. Message exchange#

Después de la inicialización, se admiten los siguientes patrones:
Request-Response: El cliente o el servidor envían solicitudes, el otro responde
Notifications: Cualquiera de las partes envía mensajes unidireccionales

3. Termination#

Cualquiera de las partes puede terminar la conexión:
Cierre limpio a través de close()
Desconexión del transporte
Condiciones de error

Error handling#

MCP define estos códigos de error estándar:
Los SDK y las aplicaciones pueden definir sus propios códigos de error por encima de -32000.
Los errores se propagan a través de:
Respuestas de error a las solicitudes
Eventos de error en los transportes
Controladores de errores a nivel de protocolo

Implementation example#

Aquí hay un ejemplo básico de implementación de un servidor MCP:
TypeScript
Python

Best practices#

Transport selection#

1.
Local communication
Utilice el transporte stdio para procesos locales
Eficiente para la comunicación en la misma máquina
Gestión sencilla de procesos
2.
Remote communication
Utilice SSE para escenarios que requieran compatibilidad con HTTP
Considere las implicaciones de seguridad, incluida la autenticación y la autorización

Message handling#

1.
Request processing
Valide las entradas a fondo
Utilice esquemas con seguridad de tipos
Maneje los errores con elegancia
Implemente tiempos de espera
2.
Progress reporting
Utilice tokens de progreso para operaciones largas
Informe el progreso de forma incremental
Incluya el progreso total cuando se conozca
3.
Error management
Utilice códigos de error apropiados
Incluya mensajes de error útiles
Limpie los recursos en caso de errores

Security considerations#

1.
Transport security
Utilice TLS para conexiones remotas
Valide los orígenes de la conexión
Implemente la autenticación cuando sea necesario
2.
Message validation
Valide todos los mensajes entrantes
Sane las entradas
Verifique los límites de tamaño de los mensajes
Verifique el formato JSON-RPC
3.
Resource protection
Implemente controles de acceso
Valide las rutas de los recursos
Supervise el uso de recursos
Limite la velocidad de las solicitudes
4.
Error handling
No filtre información confidencial
Registre los errores relevantes para la seguridad
Implemente una limpieza adecuada
Maneje escenarios DoS

Debugging and monitoring#

1.
Logging
Registre los eventos del protocolo
Realice un seguimiento del flujo de mensajes
Supervise el rendimiento
Registre errores
2.
Diagnostics
Implemente comprobaciones de estado
Supervise el estado de la conexión
Realice un seguimiento del uso de recursos
Perfile el rendimiento
3.
Testing
Pruebe diferentes transportes
Verifique el manejo de errores
Verifique los casos extremos
Pruebe la carga de los servidores
Previous
Inspector
Next
Recursos
Built with