MCP协议客户端

一个Python MCP客户端,可连接任何MCP兼容服务器,通过Claude交互式聊天循环与其工具交互。

  • by Minokainduwara
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Minokainduwara/MCP-Client

使用说明

MCP客户端

一个Python MCP(模型上下文协议)客户端,连接到任何兼容MCP的服务器,并允许您通过交互式聊天循环通过Claude与其工具进行交互。

运作原理

客户端连接到MCP服务器(Python或Node.js),发现其可用工具,并通过Claude路由您的自然语言查询。Claude决定调用哪些工具,客户端通过MCP协议执行它们,并将结果反馈给Claude以生成最终响应。

You → Query → Claude (claude-sonnet-4-5) → Tool call → MCP Server → Result → Claude → Response

先决条件

  • Python 3.10+
  • 紫外线 (用于运行Python MCP服务器)
  • Node.js(用于运行JavaScript MCP服务器)
  • 人类API密钥

安装

  1. 克隆存储库:
git clone https://github.com/Minokainduwara/MCP-Client.git
cd MCP-Client
  1. 安装依赖项:
pip install anthropic mcp python-dotenv
  1. 创建一个 .env 项目根目录中的文件:
ANTHROPIC_API_KEY=your-api-key-here

⚠️ 永远不要承诺你的 .env 文件。添加到 .gitignore.

用法

通过将路径传递给任何MCP服务器脚本来运行客户端:

# Connect to a Python MCP server
python client.py path/to/server.py

# Connect to a JavaScript MCP server
python client.py path/to/server.js

连接后,您将看到列出的可用工具,并可以开始键入查询:

Connected to server with tools: ['search', 'read_file', 'write_file']

MCP Client Started!
Type your queries or 'quit' to exit.

Query: Search for the latest news about MCP

类型 quit 退出。

项目结构

MCP-Client/
├── client.py       # Main MCP client implementation
├── .env            # API key (not committed)
└── README.md

关键类和方法

MCPClient

方法 说明
connect_to_server(path) 连接到a .py 或 .js MCP服务器和可用工具列表
process_query(query) 向Claude发送查询,处理工具调用,返回最终响应
chat_loop() 运行交互式REPL
cleanup() 关闭服务器连接并清理资源

支持的服务器类型

类型 使用的命令 要求
python.py) uv run uv 已安装
JavaScript(.js) node 已安装Node.js

环境变量

变量 描述
ANTHROPIC_API_KEY 您的Anthropic API密钥(必需)

许可证

麻省理工学院