返回市场
小巧MCP代理

小巧MCP代理

作者:ashishpatel268 星标更新:2025-07-15

项目介绍

SmolAgentWithMCP

概述

SmolAgentWithMCP 是一个基于Python的AI代理框架,它连接多个模型上下文协议(MCP)工具服务器,并通过大型语言模型(LLM)进行编排。支持Brave Search和其他兼容MCP的工具,使强大的、工具增强的问题回答工作流程成为可能。该代理利用了smolagentsLiteLLM 和 MCP 协议,提供灵活、可扩展和现代的AI工具。


使用场景

此项目适用于希望:

  • 将多个工具服务器(如Brave Search、自定义MCP爬虫)集成到单一AI代理中。
  • 启用对话式AI代理使用外部工具以增强其回答能力。
  • 原型设计并部署高级AI工作流,且设置简单。
  • 使用MCP协议扩展代理功能的开发者和研究人员。

示例场景:

  • 使用实时网络搜索数据和自定义知识库回答查询的助手。
  • 利用公共API和私有数据集/工具的研究代理。
  • 能够通过启用MCP的工具与外部服务交互的自动化机器人。

特性

  • 多工具编排: 连接到多个MCP工具服务器。
  • 工具调用代理: 使用LLM决定何时以及如何调用工具。
  • 通过.env配置: 支持多个API密钥和环境设置。
  • 异步工作流: 高效的异步工具管理。
  • 可扩展性: 容易添加新的MCP工具或更改LLM模型。

项目结构

- smolagentwithmcp.py         # 主代理源代码
- requirements.txt            # Python依赖项
- .env.example                # 示例环境文件
- README.md                   # 项目文档

设置与安装

  1. 克隆仓库:

    git clone https://github.com/ashishpatel26/SmolAgentWithMCP.git
    cd SmolAgentWithMCP
    
  2. 安装依赖项:

    pip install -r requirements.txt
    
  3. 配置环境变量:

    • 复制.env.example.env并填写您的API密钥。
    cp .env.example .env
    
  4. 运行代理:

    python smolagentwithmcp.py
    

代码工作流图

flowchart TD
    subgraph 用户交互
        U([用户]) -->|查询| AGENT[SmolAgentWithMCP]
    end
    AGENT -->|加载| MCP1[MCP工具服务器1: Brave Search]
    AGENT -->|加载| MCP2[MCP工具服务器2: 自定义]
    AGENT -->|初始化| LLM[LiteLLM模型]
    U -->|输入| AGENT
    AGENT -->|决定工具使用| TOOLCALL[工具调用代理]
    TOOLCALL -->|调用| MCP1
    TOOLCALL -->|调用| MCP2
    MCP1 -->|返回数据| TOOLCALL
    MCP2 -->|返回数据| TOOLCALL
    TOOLCALL -->|生成答案| AGENT
    AGENT -->|输出| U

工作原理

  1. 初始化: 加载MCP工具服务器(如Brave Search、自定义爬虫)并配置LLM。
  2. 用户查询: 通过终端接受用户输入。
  3. 工具编排: 确定为查询调用哪些工具。
  4. 执行: 调用工具,收集结果,并使用LLM生成最终响应。
  5. 异步管理: 异步处理多个工具集合和步骤。
  6. 输出: 交互式地返回答案给用户。

配置

编辑.env以设置您的API密钥:

BRAVE_API_KEY=your_brave_search_api_key
OPENAI_API_KEY=your_openai_api_key

要求

参见requirements.txt

  • smolagents
  • python-dotenv
  • mcp
  • litellm

许可证

MIT许可证。详情见LICENSE


贡献

欢迎贡献!请打开问题或PR提出功能请求、错误修复或改进。


致谢