项目简介

本项目 'mcp_autogen_sse_stdio' 演示了如何使用 Model Context Protocol (MCP) 将工具集成到 AutoGen 框架中,使 AI 智能体能够利用这些工具扩展其能力。

主要功能点:

  • 本地工具集成 (Stdio): 展示了如何通过 Stdio 传输协议集成和使用本地工具,例如提供的 'math_server.py' 示例,它提供简单的数学计算功能。
  • 远程工具集成 (SSE): 演示了如何通过 Server-Sent Events (SSE) 传输协议集成和使用远程工具,例如 Apify 的 RAG Web Browser Actor,用于网页浏览和信息检索。
  • AutoGen 智能体应用: 展示了如何配置 AutoGen 智能体,使其能够同时利用本地和远程工具来完成用户提出的任务。
  • MCP 协议实践: 通过实际代码示例,帮助理解 MCP 协议在 AI 智能体与工具集成中的作用和优势。

安装步骤:

  1. 环境准备: 确保已安装 Python 3.12 或更高版本。
  2. 安装 'uv' (如果未安装):
    pip install uv
  3. 克隆仓库:
    git clone https://github.com/SaM-92/mcp_autogen_sse_stdio
    cd mcp_autogen_sse_stdio
  4. 创建并激活虚拟环境:
    uv venv --python 3.12
    source .venv/bin/activate  # macOS/Linux
    .\.venv\Scripts\activate  # Windows
  5. 安装依赖:
    uv pip install -e .
    如果 'mcp[cli]' 安装有问题,可以尝试手动安装:
    uv add "mcp[cli]"
  6. 配置环境变量:
    • 在 'mcp_autogen_sse_stdio' 目录下创建 '.env' 文件。
    • 填入 OpenAI API 密钥和 Apify API 密钥:
      OPENAI_API_KEY=your_openai_api_key_here
      APIFY_API_KEY=your_apify_api_key_here
      Apify API 密钥需要从 Apify MCP Server 页面 获取。

服务器配置 (本地 Math Server):

要将 'math_server.py' 作为 MCP 服务器与 MCP 客户端连接,客户端需要配置以下信息:

{
  "server_name": "Math",
  "command": "python",
  "args": ["mcp_autogen_sse_stdio/math_server.py"]
}

配置参数说明:

  • server_name: 服务器名称,这里设置为 "Math",与 'math_server.py' 中 'FastMCP("Math")' 定义的名称一致。
  • command: 启动服务器的命令,这里使用 'python' 解释器。
  • args: 命令参数,指定 'math_server.py' 脚本的路径,用于运行本地数学工具服务器。

基本使用方法:

  1. 确保已完成安装和配置步骤。
  2. 返回到项目根目录的上一级目录: 'cd ..'
  3. 运行主脚本 'main.py':
    uv run mcp_autogen_sse_stdio/main.py
    该脚本会演示以下两个任务:
    • 使用 Apify 工具总结伊朗和美国谈判的最新新闻。
    • 使用本地数学工具计算 '(3 + 5) x 12' 的结果。

注意: 'main.py' 脚本本身是 MCP 客户端的示例,它配置并使用了本地的 'math_server.py' (Stdio 传输) 和远程的 Apify MCP Server (SSE 传输) 这两个 MCP 服务器。

信息

分类

AI与计算