mcpField
🤖
🤖 MCP Server Examples with AutoGen

🤖 MCP Server Examples with AutoGen

本地服务
github.com/SaM-92AI 与智能体2980 周前更新

关于 🤖 MCP Server Examples with AutoGen

这是一个以 AutoGen 展示 MCP 工具集成的示例项目,面向构建 AI Agent 的开发者。示例将本地数学工具与远程 Apify 网页浏览工具接入同一个 Agent,分别通过 Stdio 和 SSE 通信。

主要功能

  1. 01AutoGen Agent 调用 MCP 工具
  2. 02通过 Stdio 接入本地数学服务
  3. 03通过 SSE 接入 Apify 服务
  4. 04演示计算与网页浏览任务

适用场景

  1. 01让 Agent 计算算术问题
  2. 02搜索并总结近期新闻

MCP 相关

项目展示 AutoGen 如何连接本地 Stdio MCP 服务和远程 SSE MCP 服务,并让 Agent 使用两者提供的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🤖 使用 AutoGen 的 MCP 服务示例

本仓库提供了一个实用演示,展示如何在 AutoGen 框架内使用 Model Context Protocol (MCP) 将工具与 AI Agent 集成。

演示的关键特性:

  • 双 MCP 集成: 展示如何将 AutoGen Agent 连接到:
    • 一个使用 Stdio 传输的本地工具服务(math_server.py)。
    • 一个使用 Server-Sent Events (SSE) 传输的远程工具服务(Apify 的 RAG Web Browser Actor)。
  • 本地工具示例: 一个通过 math_server.py 在本地运行的简单计算器(add、multiply)。
  • 远程工具示例: 通过 Apify 的 MCP 服务利用其 RAG Web Browser Actor进行网页搜索和内容检索。
  • AutoGen Agent: 一个配置为使用这两组工具来回答用户查询的 AssistantAgent。

目标: 说明 MCP 的灵活性,使 AI Agent 能够通过标准化通信协议(Stdio 和 SSE)访问本地或远程托管的各类工具。

场景: 示例 Agent 回答两个不同的问题:

  1. 一个数学问题((3 + 5) x 12?),预期使用本地的 math_server.py。
  2. 一个获取最新新闻的请求(“总结伊朗与美国谈判的最新消息……”),预期使用远程 Apify 网页浏览工具。

MCP 工作流

📚 使用的库和框架

  • AutoGen:AI Agent 框架(autogen_agentchat、autogen_core、autogen_ext)
  • MCP:用于工具集成的 Model Context Protocol
  • Python-dotenv:用于环境变量管理
  • OpenAI API:用于大模型能力
  • Apify API:用于网页浏览能力

🛠️ 设置

请仔细按照以下步骤设置你的环境:

  1. 前提条件:

    • 确保已安装 Python 3.12。
    • 如果尚未安装 uv,请安装:
      pip install uv
      
  2. 导航到项目目录:

    cd mcp_autogen_sse_stdio
    
  3. 创建并激活虚拟环境:

    # Create virtual environment using uv
    uv venv --python 3.12
    
    # Activate the virtual environment
    source .venv/bin/activate  # On macOS/Linux
    # OR
    .\.venv\Scripts\activate  # On Windows
    
  4. 安装依赖项:

    # Install project dependencies
    uv pip install -e .
    

    故障排除说明:如果你在安装 MCP 命令行时遇到任何问题,可以手动安装:

    uv add "mcp[cli]"
    
  5. 配置环境变量:

    • 在 mcp_autogen_sse_stdio 目录中创建一个 .env 文件。
    • 添加你的 API 密钥:
      OPENAI_API_KEY=your_openai_api_key_here
      APIFY_API_KEY=your_apify_api_key_here
      
    • 从 Apify MCP 服务页面获取你的 Apify API 密钥

🚀 运行项目

  1. 确保你处于父目录中(即项目目录的上一级):

    cd ..
    
  2. 使用 uv 运行主脚本:

    uv run mcp_autogen_sse_stdio/main.py
    

这将运行演示,它会:

  1. 使用 Apify 工具总结有关伊朗与美国谈判的新闻
  2. 使用本地数学工具解决一个简单的数学问题:(3 + 5) x 12

🔌 了解 MCP (Model Context Protocol)

MCP 是一个标准化 AI 模型与工具之间通信的协议。本示例演示了两种使用 MCP 的方式:

1. 本地工具 (StdioServerParams)
  • 使用标准输入/输出进行通信
  • 工具在你的本地机器上运行
  • 示例:我们的 math_server.py 提供简单的数学运算
2. 远程工具 (SseServerParams)
  • 使用 Server-Sent Events (SSE) 进行通信
  • 工具在远程服务上运行(如 Apify)
  • 示例:通过 Apify 的 rag-web-browser 提供网页浏览能力

📝 代码详解

我们的 main.py 演示了:

  1. 环境搭建:

    • 加载 API 密钥并对其进行验证
  2. 工具配置:

  3. 创建 Agent:

    • 创建一个同时具备这两套工具的 AutoGen 助手
    • 使用 GPT-4 作为基础模型
  4. 任务执行:

    • 运行两个演示任务,展示两种工具的实际应用
    • 通过网页浏览进行新闻摘要
    • 通过数学计算解决算术问题

🔄 通信流程

User → AutoGen Agent → MCP Tools → Results → User

这个示例展示了使用 MCP 将不同类型的工具集成到一个 Agent 中是多么容易!

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。