MCP协议客户端

一个基于Python的MCP协议客户端,用于与MCP服务器交互并使用Claude AI处理查询。

  • by pavanbaddi
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 pavanbaddi/mcp_client

使用说明

MCP客户端

基于Python的模型上下文协议(MCP)客户端实现,支持使用Claude AI与MCP服务器进行交互。

特性

  • 连接到Python或JavaScript MCP服务器
  • 使用Claude 3 Sonnet处理查询
  • 交互式聊天循环界面
  • 动态工具发现和执行
  • 基于异步/等待的实现
  • 通过dotenv支持环境变量

先决条件

  • Python 3.x
  • Anthropic API密钥(设置于 .env 文件)
  • MCP服务器实现(Python或JavaScript)

安装

  1. 克隆存储库
  2. 安装依赖项:
pip install mcp-python-sdk anthropic python-dotenv
  1. 创建一个 .env 文件并添加您的Anthropic API密钥:
ANTHROPIC_API_KEY=your_api_key_here

用法

通过提供MCP服务器脚本的路径来运行客户端:

python client.py path/to/your/server_script.py

python client.py /d/mcp-servers/app2/main.py

连接后,您可以在交互式聊天循环中输入查询。客户将:

  1. 使用Claude处理您的查询
  2. 从MCP服务器发现并执行可用工具
  3. 显示结果

键入“quit”退出聊天循环。

建筑

客户端基于以下主要组件构建:

  • MCPClient:处理服务器连接和查询处理的主客户端类
  • ClientSession:管理与服务器的MCP协议会话
  • Anthropic:处理与Claude AI的通信
  • AsyncExitStack:管理异步资源和清理

错误处理

客户端包括强大的错误处理功能,用于:

  • 服务器脚本路径无效
  • 连接问题
  • 查询处理错误
  • 工具执行失败

许可证

[此处为许可证信息]