使用说明
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服务器)📂
设置⚙️
-
克隆存储库并更改到项目目录:
- 克隆
- cd-mcp autogen
-
检查仓库中是否有mcpdoc目录。如果你没有,克隆langchain ai mcpdoc仓库。
https://github.com/langchain-ai/mcpdoc
-
创建并激活虚拟环境:
- python-m venv.venv
- 在Windows上:.venv\Scripts\activate
- 在macOS/Linux上:source.vev/bin/activate
-
安装依赖项:
- pip安装-r要求.txt🧩
-
配置环境变量(创建
.env文件或导出):- OPENAI_API_KEY=您的_API_KEY
- OPENAI_MODEL=gpt-4#或其他兼容型号
-
确保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
- HTTP/SSE MCP服务器URL:
-
试着向代理提问,从计算到找到数字的最小值和最大值,再到了解langgraph的不同模块。您将在不同的MCP服务器上看到LLM工具调用的工作流程。在这里添加一些此类对话的片段。
运行时,Console UI会流式传输团队聊天。UserProxy代理可以通过控制台提示交互式输入。当终止令牌(例如。, TERMINATION)被提及。
HTTP传输上本地托管的MCP服务器的控制台日志。
定制🛠️
- 通过编辑添加/删除代理或交换工具集
app.py. - 尝试使用不同的MCP服务器或真实世界的适配器。 🌍
- 通过修改来更改终止令牌
TextMentionTermination参数。 - 通过更新来交换LLM
OPENAI_MODEL以及LLM客户端配置。
故障排除🩺
- 如果MCP子进程启动失败,请验证命令/路径和权限。
- 确保对HTTP MCP服务器的网络访问和正确的URL/端口。
- 检查环境变量以及是否安装了依赖项。
