带Agno的定制MCP
此存储库演示了如何构建自定义 模型上下文协议(MCP) 服务器和客户端使用 硝酸银 代理框架。它的特点是:
- ✅ A工作 MCP服务器 (自定义工具实现)
- ✅ 蟒蛇 MCP客户端 由...驱动 Agno/Agno.tools
- ✅ 示例代理工作流、处理工具调用和异步管理
- ✅ 干净的示例架构,依赖性最小
______________________________________________________________________
📘 建筑
- MCP服务器(
mcp_server.py):服务于工具端点,例如网络搜索。 - 客户(
mcp_client.py):代理侧运行器使用agno.tools.MCPTools - 代理逻辑:处理查询、调用工具和处理结果。
______________________________________________________________________
特性
- 通过异步上下文管理
anyio和async with MCPTools(...). - 代理重试和错误处理(包括处理“设备上没有剩余空间”问题)。
- 用于添加新工具或扩展MCP接口的模板。
- 中包含的代理运行循环示例
mcp_client.py.
______________________________________________________________________
📁 编码结构
| 文件 | 描述 |
|---|---|
mcp_server.py | 带有示例工具实现的Python MCP服务器 |
mcp_client.py | 代理客户端发出查询并处理代理响应 |
requirements.txt | Python依赖关系: agno, anyio等等。 |
.venv/ | (可选)虚拟环境目录 |
config/config | 环境变量,如 SERPER_API_KEY & GROQ_API_KEY |
______________________________________________________________________
🔑 设置配置
在 config.py,定义:
class Config:
GROQ_API_KEY = ""
SERPER_API_KEY = ""