Cargando

El cliente MCP funciona como el puente de comunicación entre tu servidor y los servidores MCP. Piénsalo como tu punto de acceso a todas las herramientas que proporciona un servidor MCP. Cuando necesitas usar herramientas o servicios externos, el cliente se encarga de todo el paso de mensajes y los detalles del protocolo por ti.

Comunicación agnóstica al transporte

Una de las principales fortalezas de MCP es ser agnóstico al transporte, una forma elegante de decir que el cliente y el servidor pueden comunicarse entre sí usando diferentes métodos de comunicación. La configuración más común ejecuta tanto el cliente como el servidor MCP en la misma máquina, donde se comunican a través de la entrada/salida estándar.

Pero no estás limitado a ese enfoque. Los clientes y servidores MCP también pueden conectarse a través de:

  • HTTP
  • WebSockets
  • Varios otros protocolos de red

Tipos de mensajes

Una vez conectados, el cliente y el servidor intercambian tipos de mensajes específicos definidos en la especificación de MCP. Los principales tipos de mensajes con los que trabajarás son:

ListToolsRequest/ListToolsResult: El cliente le pregunta al servidor "¿qué herramientas proporcionas?" y recibe una lista de herramientas disponibles.

CallToolRequest/CallToolResult: El cliente le pide al servidor que ejecute una herramienta específica con ciertos argumentos, y luego recibe los resultados.

Ejemplo de flujo completo

Así es como todas las piezas funcionan juntas en un escenario real. Supongamos que un usuario pregunta "¿Qué repositorios tengo?" - aquí está el flujo de comunicación completo:

El proceso comienza cuando un usuario envía una consulta a tu servidor. Tu servidor se da cuenta de que necesita proporcionarle a Claude una lista de herramientas disponibles antes de hacer la solicitud.

Tu servidor le pide herramientas al cliente MCP, que envía una ListToolsRequest al servidor MCP y recibe un ListToolsResult de vuelta.

Ahora tu servidor tiene todo lo necesario para hacer la solicitud inicial a Claude: tanto la pregunta del usuario como las herramientas disponibles.

Claude examina las herramientas y decide que necesita llamar a una para responder la pregunta. Responde con una solicitud de uso de herramientas.

Tu servidor le pide al cliente MCP que ejecute la herramienta que Claude solicitó. El cliente MCP envía una CallToolRequest al servidor MCP, que luego hace la solicitud real a GitHub.

GitHub devuelve los datos del repositorio, que fluyen de vuelta a través del servidor MCP como un CallToolResult, luego al cliente MCP, y finalmente a tu servidor.

Tu servidor envía los resultados de la herramienta de vuelta a Claude en un mensaje de seguimiento. Claude ahora tiene toda la información que necesita para formular una respuesta completa.

Finalmente, Claude responde con la respuesta formateada, que tu servidor devuelve al usuario.

Sí, este flujo involucra muchos pasos, pero cada componente tiene una responsabilidad clara. El cliente MCP abstrae la complejidad de la comunicación con el servidor, permitiéndote enfocarte en construir la lógica de tu aplicación. A medida que implementemos nuestro propio cliente y servidor MCP, verás cómo cada pieza se ajusta en la práctica.