模型上下文协议客户端

一个用于构建MCP客户端的项目,支持AI模型如Claude连接外部工具和数据源。

  • by maneeshmenongit
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 maneeshmenongit/learning-mcp-client

使用说明

MCP客户端教程

对构建MCP(模型上下文协议)客户端的初学者友好的介绍。

什么是MCP?

MCP(模型上下文协议)允许像Claude这样的AI模型连接到外部工具和数据源。该项目展示了:

  • 如何在Python中构建MCP客户端
  • 如何连接到MCP服务器
  • 如何让Claude通过MCP使用工具

项目结构

  • client.py -MCP客户端实现
  • simple_server.py -带有计算器工具的MCP服务器示例
  • main.py -运行客户端的入口点

设置

  1. 安装依赖项:
uv pip install mcp anthropic python-dotenv
  1. 确保你有一个 .env 使用您的Anthropic API密钥文件:
ANTHROPIC_API_KEY=your_actual_key_here

运行客户端

python main.py

这将:

  1. 连接到简单计算器MCP服务器
  2. 启动交互式聊天循环
  3. 让你问克劳德需要使用计算器工具的问题

查询示例

试着问:

  • “42加58等于多少?”
  • “7乘以8”
  • “请问候爱丽丝”
  • 将15和20相加,然后将结果乘以3

运作原理

  1. 客户端连接 到MCP服务器(simple_server.py)
  2. 服务器广告 其可用工具(添加、相乘、问候)
  3. 你问了一个问题 通过客户
  4. 克劳德决定 如果需要使用任何工具
  5. 客户端执行 服务器上的工具
  6. 克劳德制定 使用该工具得出最终答案

关键组件

MCPClient(client.py)

  • connect_to_server() -建立与MCP服务器的连接
  • process_query() -处理Claude工具使用的“代理循环”
  • chat_loop() -交互式提问界面

简单服务器(Simple_Server.py)

  • 实现基本工具:加法、乘法、问候
  • 显示MCP的服务器端结构

后续步骤

  • 尝试社区服务器:参见 社区_服务器.md 适用于即用型服务器
    • 文件系统:用自然语言读/写文件
    • GitHub:管理问题和PR
    • PostgreSQL:查询数据库
    • 还有更多!
  • 尝试使用不同的工具创建自己的MCP服务器
  • 扩展客户端以同时处理多个服务器

社区服务器快速入门

查看工作示例:

  • demo_filesystem.py -使用自然语言与文件交互
  • demo_github.py -管理GitHub存储库
  • enhanced_client.py -同时支持Python和Node.js服务器

看 社区_服务器.md 完整指南。

身份验证设置

此项目为GitHub配置了SSH身份验证。