基于框架的MCP(服务器和客户端)
使用MCP工具和MCP服务器构建用户管理代理的Python实现
🎯 任务概述
使用简单的工具创建和运行MCP服务器。使用MCP客户端实现简单的用户管理代理,该代理将使用创建的服务器中的MCP工具。
🎓 学习目标
通过探索和参与这个项目,你会学到:
- 如何配置简单的MCP服务器
- 如何配置客户端并连接到MCP服务器
- 如何使用MCP服务器上的工具创建简单代理
- MCP的主要特征
🏗️ 建筑
task/
├── agent/
│ ├── models/
│ │ └──message.py ✅ Complete
│ ├── app.py 🚧 TODO: implement logic
│ ├── promps.py 🚧 TODO: write system prompt
│ ├── dial_client.py 🚧 TODO: implement logic
│ └── mcp_cleint.py 🚧 TODO: implement logic
└── mcp_server/
├── server.py 🚧 TODO: implement logic
├── user_client.py ✅ Complete
└── Dockerfile ✅ Complete#
📋 需求
- python:3.11或更高
- 依赖项:列在
requirements.txt - API访问:具有适当权限的DIAL API密钥
- 网络:用于内部API访问的EPAM VPN连接
- Docker和Docker Compose
- 邮递员
✍️ 任务:
如果主分支中的任务对你来说很难,那么切换到 with-detailed-description 分支
您需要实现用户管理代理,它将能够在用户管理服务中执行CRUD操作。
创建并运行MCP服务器:
可选:在Postman中使用MCP服务器
- 导入 mcp.postman收藏 给邮递员
- 制造
init呼叫并获取mcp-session-id在响应标头中 - 制造
init-notification.注意你需要使用mcp-session-id检索自init请求。它应该返回202状态 - 获取工具(别忘了
mcp-session-id).它应该使用工具返回流。 - 呼叫计算器(别忘了
mcp-session-id).它应该返回流工具执行结果。
创建并运行代理:
- 打开 mcp客户端 并实施所有 *TODO*
- 打开 拨号客户端 并实施所有 *TODO*
- 打开 提示 并写入系统提示
- 打开 应用 并实施所有 *TODO*
- 运行应用程序 mcp客户端 并测试它是否连接到MCP服务器并正常工作
- 尝试使用以下解决方案
fetch MCPhttps://remote.mcpservers.org/fetch/mcp并检查差异init步骤(他们有什么和没有什么)
可选:支持(用户管理和获取)MCP服务器:
- 请记住,我们在MCP客户端和MCP服务器之间有一对一的连接!
- 您需要考虑如何更改当前流以支持来自不同MCP服务器的工具并实现它
- 最后,你应该有一个能够从WEB获取有关某些人的信息并将其保存到用户服务的代理
- 提示:问题所在 拨号客户端
______________________________________________________________________
#
