Documentación Oficial de MCP en Español
  1. Inicio rápido
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. Inicio rápido

Para desarrolladores de clientes

Claro, aquí está la traducción al español del contenido proporcionado, respetando tus requisitos:

Comienza a construir tu propio cliente que pueda integrarse con todos los servidores MCP.#

En este tutorial, aprenderás cómo construir un cliente chatbot impulsado por LLM que se conecta a servidores MCP. Es útil haber revisado el inicio rápido del servidor que te guía a través de los conceptos básicos para construir tu primer servidor.

Python#

Puedes encontrar el código completo para este tutorial aquí.

Requisitos del sistema#

Antes de comenzar, asegúrate de que tu sistema cumpla con estos requisitos:
Computadora Mac o Windows
Última versión de Python instalada
Última versión de uv instalada

Configurando tu entorno#

Primero, crea un nuevo proyecto de Python con uv:

Configurando tu clave API#

Necesitarás una clave API de Anthropic desde la Consola de Anthropic.
Crea un archivo .env para guardarla:
Agrega tu clave al archivo .env:
Agrega .env a tu .gitignore:
¡Asegúrate de mantener tu ANTHROPIC_API_KEY segura!

Creando el Cliente#

Estructura Básica del Cliente#

Primero, configuremos nuestras importaciones y creemos la clase básica del cliente:

Gestión de la Conexión al Servidor#

A continuación, implementaremos el método para conectarnos a un servidor MCP:

Lógica de Procesamiento de Consultas#

Ahora agreguemos la funcionalidad central para procesar consultas y manejar llamadas a herramientas:

Interfaz de Chat Interactiva#

Ahora agregaremos el bucle de chat y la funcionalidad de limpieza:

Punto de Entrada Principal#

Finalmente, agregaremos la lógica de ejecución principal:
Puedes encontrar el archivo completo client.py aquí.

Componentes Clave Explicados#

1. Inicialización del Cliente#

La clase MCPClient se inicializa con la gestión de sesiones y clientes API
Utiliza AsyncExitStack para una gestión adecuada de los recursos
Configura el cliente Anthropic para las interacciones de Claude

2. Conexión al Servidor#

Admite servidores Python y Node.js
Valida el tipo de script del servidor
Configura los canales de comunicación adecuados
Inicializa la sesión y enumera las herramientas disponibles

3. Procesamiento de Consultas#

Mantiene el contexto de la conversación
Maneja las respuestas de Claude y las llamadas a herramientas
Gestiona el flujo de mensajes entre Claude y las herramientas
Combina los resultados en una respuesta coherente

4. Interfaz Interactiva#

Proporciona una interfaz de línea de comandos simple
Maneja la entrada del usuario y muestra las respuestas
Incluye manejo básico de errores
Permite una salida elegante

5. Gestión de Recursos#

Limpieza adecuada de los recursos
Manejo de errores para problemas de conexión
Procedimientos de apagado elegantes

Puntos Comunes de Personalización#

1.
Manejo de Herramientas
Modifica process_query() para manejar tipos de herramientas específicos
Agrega manejo de errores personalizado para las llamadas a herramientas
Implementa el formato de respuesta específico de la herramienta
2.
Procesamiento de Respuestas
Personaliza cómo se formatean los resultados de las herramientas
Agrega filtrado o transformación de respuestas
Implementa el registro personalizado
3.
Interfaz de Usuario
Agrega una GUI o interfaz web
Implementa una salida de consola enriquecida
Agrega historial de comandos o autocompletado

Ejecutando el Cliente#

Para ejecutar tu cliente con cualquier servidor MCP:
Si continúas con el tutorial del clima desde el inicio rápido del servidor, tu comando podría verse así: python client.py .../weather/src/weather/server.py
El cliente:
1.
Se conectará al servidor especificado
2.
Enumerará las herramientas disponibles
3.
Iniciará una sesión de chat interactiva donde puedes:
Ingresar consultas
Ver las ejecuciones de herramientas
Obtener respuestas de Claude
Aquí hay un ejemplo de cómo debería verse si está conectado al servidor meteorológico desde el inicio rápido del servidor:
img

Cómo Funciona#

Cuando envías una consulta:
1.
El cliente obtiene la lista de herramientas disponibles del servidor
2.
Tu consulta se envía a Claude junto con las descripciones de las herramientas
3.
Claude decide qué herramientas (si las hay) usar
4.
El cliente ejecuta cualquier llamada de herramienta solicitada a través del servidor
5.
Los resultados se envían de vuelta a Claude
6.
Claude proporciona una respuesta en lenguaje natural
7.
La respuesta se te muestra

Mejores prácticas#

1.
Manejo de Errores
Siempre envuelve las llamadas a herramientas en bloques try-catch
Proporciona mensajes de error significativos
Maneja elegantemente los problemas de conexión
2.
Gestión de Recursos
Utiliza AsyncExitStack para una limpieza adecuada
Cierra las conexiones cuando termines
Maneja las desconexiones del servidor
3.
Seguridad
Almacena las claves API de forma segura en .env
Valida las respuestas del servidor
Sé cauteloso con los permisos de las herramientas

Solución de problemas#

Problemas con la ruta del servidor#

Verifica que la ruta a tu script del servidor sea correcta
Utiliza la ruta absoluta si la ruta relativa no funciona
Para los usuarios de Windows, asegúrate de usar barras diagonales (/) o barras diagonales invertidas escapadas (\) en la ruta
Verifica que el archivo del servidor tenga la extensión correcta (.py para Python o .js para Node.js)
Ejemplo de uso correcto de la ruta:

Tiempo de respuesta#

La primera respuesta puede tardar hasta 30 segundos en regresar
Esto es normal y sucede mientras:
El servidor se inicializa
Claude procesa la consulta
Se están ejecutando las herramientas
Las respuestas posteriores suelen ser más rápidas
No interrumpas el proceso durante este período de espera inicial

Mensajes de error comunes#

Si ves:
FileNotFoundError: Verifica la ruta de tu servidor
Connection refused: Asegúrate de que el servidor esté en ejecución y la ruta sea correcta
Tool execution failed: Verifica que las variables de entorno requeridas de la herramienta estén configuradas
Timeout error: Considera aumentar el tiempo de espera en la configuración de tu cliente
Previous
Para desarrolladores de servidores
Next
Para usuarios de Claude Desktop
Built with