多代理系统连接工具

MCP with Autogen是一个多代理系统连接工具,用于将Autogen LLM客户端连接到一个或多个MCP工具服务器,支持HTTP/SSE MCP服务器连接和本地MCP服务器启动。

  • by nabajitdey
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 nabajitdey/mcp-autogen

使用说明

MCP与Autogen🎯

这是将Autogen LLM客户端连接到一个或多个MCP(模型上下文协议)工具服务器的多代理系统的一个非常基本的实现。您可以将其用作从头开始制作MCP工作流程的蓝图。 🚀

特性✨

  • 连接到可流式传输的HTTP/SSE MCP服务器以发现和调用工具。 🌐
  • 作为子流程启动基于stdio的MCP适配器或本地stdio MCP服务器。 🧰
  • 使用多个助手代理(计算器、mcpdoc、asser)和一个UserProxy代理。 🤖👤
  • 通过提及配置的令牌来终止对话(默认值: TERMINATION). 🛑
  • 将交互流式传输到控制台。 🖥️

先决条件✅

  • Python 3.11+🐍
  • 有效的OpenAI API密钥(或兼容的LLM客户端凭据)🔑
  • 项目依赖关系(见要求)📦
  • 您计划使用的任何MCP适配器二进制文件/脚本(例如。, uvx,本地stdio MCP服务器)📂

设置⚙️

  1. 克隆存储库并更改到项目目录:

    • 克隆
    • cd-mcp autogen
  2. 检查仓库中是否有mcpdoc目录。如果你没有,克隆langchain ai mcpdoc仓库。

    • https://github.com/langchain-ai/mcpdoc
  3. 创建并激活虚拟环境:

    • python-m venv.venv
    • 在Windows上:.venv\Scripts\activate
    • 在macOS/Linux上:source.vev/bin/activate
  4. 安装依赖项:

    • pip安装-r要求.txt🧩
  5. 配置环境变量(创建 .env 文件或导出):

    • OPENAI_API_KEY=您的_API_KEY
    • OPENAI_MODEL=gpt-4#或其他兼容型号
  6. 确保MCP适配器可执行文件可用:

    • 更新路径 app.py 为了 uvx_path 或stdio服务器命令(例如。, "python", ["stdio-mcp-server/app.py"]) 🔧

跑步▶️

  • 运行HTTP MCP服务器:

    • python\http mcp服务器\app.py
  • 运行主异步应用程序:

    • python app.py
  • 示例配置点 app.py:

    • HTTP/SSE MCP服务器URL: http://127.0.0.1:8000/mcp
    • Stdio MCP适配器参数(mcpdoc示例)和 uvx_path
    • 本地stdio MCP服务器命令: python stdio-mcp-server/app.py
  • 试着向代理提问,从计算到找到数字的最小值和最大值,再到了解langgraph的不同模块。您将在不同的MCP服务器上看到LLM工具调用的工作流程。在这里添加一些此类对话的片段。

运行时,Console UI会流式传输团队聊天。UserProxy代理可以通过控制台提示交互式输入。当终止令牌(例如。, TERMINATION)被提及。

HTTP传输上本地托管的MCP服务器的控制台日志。

定制🛠️

  • 通过编辑添加/删除代理或交换工具集 app.py.
  • 尝试使用不同的MCP服务器或真实世界的适配器。 🌍
  • 通过修改来更改终止令牌 TextMentionTermination 参数。
  • 通过更新来交换LLM OPENAI_MODEL 以及LLM客户端配置。

故障排除🩺

  • 如果MCP子进程启动失败,请验证命令/路径和权限。
  • 确保对HTTP MCP服务器的网络访问和正确的URL/端口。
  • 检查环境变量以及是否安装了依赖项。