MCP ExplorerExplorer

Mcp Cliente

@pichu2707on 14 days ago
1 MIT
FreeCommunity
AI Systems
En esta ocasión hacemos un desarrollo de lado de cliente

Overview

What is Mcp Cliente

mcp-cliente is a client implementation of the Model Context Protocol (MCP) that connects to local or remote MCP servers, allowing interaction with external tools using language models like Claude from Anthropic.

Use cases

Use cases include building chatbots that utilize external APIs for real-time data, automating tasks by querying language models, and developing applications that require dynamic tool execution based on user input.

How to use

To use mcp-cliente, set up a virtual environment, install dependencies, and run the client to connect to an MCP server. Use the console interface to send queries interactively.

Key features

Key features include connection management to MCP servers, communication with the Claude model, dynamic execution of tools based on model decisions, and an interactive console for user queries.

Where to use

mcp-cliente can be used in various fields such as natural language processing, AI development, and applications requiring integration of language models with external APIs.

Content

Python
uv

MCP Cliente

Creación de un MCP a través de cliente.

Este repositorio contiene una implementación funcional de un cliente MCP (Model Context Protocol) que se conecta a un servidor local o remoto y permite interactuar con herramientas externas mediante modelos como Claude de Anthropic.

El código ha sido adaptado y extendido a partir del ejemplo oficial de MCP disponible en:
🔗 modelcontextprotocol.io/quickstart/client

🚀 ¿Qué es MCP?

Model Context Protocol (MCP) es un protocolo abierto para conectar modelos de lenguaje con herramientas y entornos de ejecución. Este cliente permite:

  • Conectarse a un servidor MCP que exponga herramientas (por ejemplo, APIs del tiempo).
  • Usar modelos como Claude para resolver consultas del usuario.
  • Ejecutar herramientas de forma dinámica si el modelo lo decide.

🏗️ Estructura del Cliente

  • MCPClient: Clase principal que gestiona:
    • Conexión al servidor MCP.
    • Comunicación con el modelo Claude.
    • Ejecución de herramientas y procesamiento de respuestas.
  • connect_to_server: Establece conexión con un script .py o .js que actúa como servidor MCP.
  • process_query: Envía la consulta al modelo, detecta si quiere usar una herramienta y ejecuta la llamada.
  • chat_loop: Interfaz de consola para enviar consultas de forma interactiva.

⚙️ Requisitos

  • Python 3.10+
  • Cuenta y API key de Anthropic
  • Un servidor MCP (ej. script Python o JS que defina herramientas)

Instala las dependencias:

Debemos de crear un entorno virutal para poder descargar ahí las librerías que fueran necesarias y tenerlo en un lugar “aislado para nuestro trabajo”.

uv init mcp-client
#Entramos en la carpeta que nos ha creado
cd mcp-client

#Creamos el entorno virtual
uv venv

#Activamos el entorno virtual en Windows
.venv/Script/activate

#Instalamos los recursos necesarios
uv add mcp anthropic python-dotenv

Crearemos un archivo de nombre client.py con el siguiente código en Windowds:

New-Item client.py
uv add mcp anthropic python-dotenv

Es aconsejable porque no lo vamos a utilizar quitar el main.py que nos crea por defecto.

Para el trabajo y la parte de API con Anthropic en este caso también sería útil utilizar un .env y guardar ahí las claves.

New-Item .env

para poner en marcha el proyecto en la terminal deberas poner:

uv run .\client.py ..\weather\weather.py

Aquí tenemos un uv run .\client.py para arrancar pero necesita un segundo atributo que es el servidor que hayamos creado que en este caso usamos el del tiempo de EEUU que creamos anteriormente.

Proyecto de cliente

Este proyecto viene junto con el creado de MCP también de conexión rápida sobre el tiempo de EEUU que he dejado el enlace, es decir, sería aconsejable empezar si esto está siendo un comienzo para ti en la introducción de los MCP que vayas primero a ese repositorio y lo descargues.

Para cualquier duda puedes escribirme en mi correo de javilazaro

Tools

No tools

Comments