使用说明
🤖 带有MCP的AI代理
一个端到端的实现 由MCP(模型上下文协议)驱动的AI代理 它通过MCP服务器集成外部工具,并使用LangChain/LangGraph执行智能工作流。
🚀 概述
该项目演示了如何构建 工具增强型人工智能代理 即:
- 通过SSE连接到MCP服务器
- 动态发现和使用外部工具
- 通过LLM推理执行工具调用
- 返回结构化和人类可读的响应
🧩 建筑
User Query
↓
AI Agent (MCPAgent)
↓
LLM (Gemini / other models)
↓
Tool Decision
↓
MCP Client
↓
MCP Server (MServer)
↓
External Tools (e.g., Web Search)
📦 关键组件
🔹 MServer
- MCP服务器实现
- 通过MCP协议公开工具
- 手柄:
- 工具注册
- 工具执行
- 基于SSE的通信
🔹 MCPAgent
- 集成LLM+MCP工具的AI代理
- 责任:
- 连接到MCP服务器
- 动态加载可用工具
- 执行工具调用工作流
- 格式化最终回复
🛠️ 特性
- ✅ MCP(模型上下文协议)集成
- ✅ 基于SSE的持久通信
- ✅ 动态工具发现
- ✅ 工具调用AI代理
- ✅ Gemini/LLM支持
- ✅ 异步架构
- ✅ 可扩展的工具框架
⚙️ 设置
1.克隆存储库
git clone https://github.com/brij-joe/ai_agent_with_mcp.git
cd ai_agent_with_mcp
2.创建虚拟环境
uv venv .venv
.venv\Scripts\activate # Windows
3.配置环境
Create a .env file: and copy your API key
GOOGLE_API_KEY=your_api_key
▶️ 运行项目
1.启动MCP服务器
python src/start_mcp.py
2.运行AI代理
python src/ask_agent.py
🧪 查询示例
告诉我今天的十大新闻亮点
🔧 示例工具
🌐 网络搜索(Tavilly API)
📊 (可扩展到数据库、API等)
🧠 运作原理
代理通过SSE连接到MCP服务器
动态加载可用工具
用户查询已发送到LLM
LLM决定是否调用工具
工具通过MCP服务器执行
生成并返回最终响应
📁 项目结构
src/
│
├── agents/
│ └── mcp_agent.py # MCPAgent implementation
├── agents/
│ └── mcp_agent.py # MCP Server implementation
├── start_mcp.py # MCP server (MServer)
├── ask_agent.py # Entry point for agent queries
├── app_constants.py # Configurations
⚠️ 已知挑战
SSE连接生命周期管理
异步流处理
工具执行同步
模型工具调用可靠性(取决于LLM)
🚀 未来的增强功能
🔄 MCP呼叫的重试和弹性
🧠 内存(矢量数据库集成)
🌐 多工具编排
📡 流媒体响应
📊 可观察性和追踪
🤝 贡献
欢迎投稿!请随时打开问题或提交pull请求。
📜 许可证
MIT许可证
🙌 致谢
语言链/语言图
MCP协议
Google Gemini API
📌 备注
这不是生产级。这是一个简单的概念演示。如需深入了解“带MCP的代理AI系统”的设计和架构,请随时联系:📧 brij_joe@yahoo.com
