SmolAgentWithMCP
概述
______________________________________________________________________
用例
该项目非常适合希望:
- 将多个工具服务器(例如Brave Search、自定义MCP爬虫)集成到单个AI代理中。
- 使对话式AI代理能够使用外部工具来增强应答能力。
- 以最少的设置原型化和部署高级AI工作流程。
- 使用MCP协议使用自定义工具扩展代理。
示例场景:
- 使用实时网络搜索数据和自定义知识库回答查询的助手。
- 一个同时利用公共API和私有数据集/工具的研究代理。
- 一个自动化机器人,可以通过启用MCP的工具与外部服务进行交互。
______________________________________________________________________
特性
- 多工具编排: 连接到多个MCP工具服务器。
- 工具调用代理: 使用LLM来决定何时以及如何调用工具。
- 可通过以下方式配置
.env: 支持多个API密钥和环境设置。 - 异步工作流: 高效的异步工具管理。
- 可扩展: 轻松添加新的MCP工具或更改LLM模型。
______________________________________________________________________
项目结构
- smolagentwithmcp.py # Main agent source code
- requirements.txt # Python dependencies
- .env.example # Example env file
- README.md # Project documentation______________________________________________________________________
设置和安装
- 克隆存储库:
git clone https://github.com/ashishpatel26/SmolAgentWithMCP.git
cd SmolAgentWithMCP- 安装依赖项:
pip install -r requirements.txt- 配置环境变量:
- 复制 .env.example 向 .env 并填写您的API密钥。
cp .env.example .env- 运行代理:
python smolagentwithmcp.py______________________________________________________________________
代码工作流程图
flowchart TD
subgraph User Interaction
U([User]) -->|Query| AGENT[SmolAgentWithMCP]
end
AGENT -->|Loads| MCP1[MCP Tool Server 1: Brave Search]
AGENT -->|Loads| MCP2[MCP Tool Server 2: Custom]
AGENT -->|Initializes| LLM[LiteLLM Model]
U -->|Input| AGENT
AGENT -->|Decides tool usage| TOOLCALL[ToolCallingAgent]
TOOLCALL -->|Calls| MCP1
TOOLCALL -->|Calls| MCP2
MCP1 -->|Returns Data| TOOLCALL
MCP2 -->|Returns Data| TOOLCALL
TOOLCALL -->|Generates Answer| AGENT
AGENT -->|Output| U______________________________________________________________________
运作原理
- 初始化: 加载MCP工具服务器(如Brave Search、自定义爬虫)并配置LLM。
- 用户查询: 通过终端接受用户输入。
- 工具编排: 确定查询需要调用哪些工具。
- 执行: 调用工具,收集结果,并使用LLM生成最终响应。
- 异步管理: 异步处理多个工具集合和步骤。
- 输出: 以交互方式向用户返回答案。
______________________________________________________________________
配置
编辑 .env 设置API密钥:
BRAVE_API_KEY=your_brave_search_api_key
OPENAI_API_KEY=your_openai_api_key______________________________________________________________________
需求
smolagentspython-dotenvmcplitellm
______________________________________________________________________
许可证
MIT许可证。看 许可证 了解详情。
______________________________________________________________________
贡献
欢迎投稿!请打开问题或PR以获取功能请求、错误修复或增强。
______________________________________________________________________
