MCP客户端教程
对构建MCP(模型上下文协议)客户端的初学者友好的介绍。
什么是MCP?
MCP(模型上下文协议)允许像Claude这样的AI模型连接到外部工具和数据源。该项目展示了:
- 如何在Python中构建MCP客户端
- 如何连接到MCP服务器
- 如何让Claude通过MCP使用工具
项目结构
client.py-MCP客户端实现simple_server.py-带有计算器工具的MCP服务器示例main.py-运行客户端的入口点
设置
- 安装依赖项:
uv pip install mcp anthropic python-dotenv- 确保你有一个
.env使用您的Anthropic API密钥文件:
ANTHROPIC_API_KEY=your_actual_key_here运行客户端
python main.py这将:
- 连接到简单计算器MCP服务器
- 启动交互式聊天循环
- 让你问克劳德需要使用计算器工具的问题
查询示例
试着问:
- “42加58等于多少?”
- “7乘以8”
- “请问候爱丽丝”
- 将15和20相加,然后将结果乘以3
运作原理
- 客户端连接 到MCP服务器(
simple_server.py) - 服务器广告 其可用工具(添加、相乘、问候)
- 你问了一个问题 通过客户
- 克劳德决定 如果需要使用任何工具
- 客户端执行 服务器上的工具
- 克劳德制定 使用该工具得出最终答案
关键组件
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身份验证。
