项目简介
AutoGen MCP Server 是一个基于 Model Context Protocol (MCP) 标准构建的后端服务器,它专注于将 Microsoft AutoGen 框架的能力以标准化的方式提供给 LLM 客户端。通过该服务器,您可以创建、配置和管理 AI 智能体,并进行多智能体对话,实现复杂的自然语言交互和协作任务。
主要功能点
- 智能体管理: 支持创建和管理多种类型的 AutoGen 智能体,包括 AssistantAgent 和 UserProxyAgent。您可以自定义智能体的角色设定 (system_message) 和配置参数。
- 多智能体对话: 支持一对一和多智能体群聊模式。您可以指定参与对话的智能体,并设定初始消息,服务器将负责协调智能体之间的对话流程。
- 灵活的配置: 允许通过配置文件 (config.json) 和环境变量 (.env) 定制服务器行为,包括 LLM 模型配置 (如 OpenAI API 密钥、模型选择、温度参数等) 和代码执行环境设置。
- 标准 MCP 接口: 遵循 Model Context Protocol 规范,通过 JSON-RPC 协议与客户端通信,提供标准化的工具调用接口,方便集成到各种 MCP 客户端应用中。
安装步骤
-
克隆仓库
git clone https://github.com/DynamicEndpoints/Autogen_MCP.git cd Autogen_MCP -
安装依赖
确保您已安装 Python 和 Node.js 环境。然后,分别安装 Python 和 Node.js 依赖:
pip install -e . # 安装 Python 依赖 cd src npm install # 安装 Node.js 依赖 (如果需要,根据实际情况安装 ts-node: npm install -g ts-node) cd .. -
配置环境变量
复制 '.env.example' 文件并重命名为 '.env',根据需要配置环境变量,例如 'OPENAI_API_KEY' 和 'AUTOGEN_MCP_CONFIG'(指向 'config.json' 文件的路径)。
cp .env.example .env # 编辑 .env 文件,设置 API 密钥等 -
配置服务器
复制 'config.json.example' 文件并重命名为 'config.json',根据需要配置服务器设置,例如 LLM 模型配置和代码执行配置。
cp config.json.example config.json # 编辑 config.json 文件,配置 LLM 和代码执行参数
服务器配置
以下是 MCP 客户端连接 AutoGen MCP Server 时需要配置的服务器信息 (JSON 格式):
{ "serverName": "autogen-mcp-server", "command": "node", "args": ["src/index.ts"], "transport": "stdio" }
配置参数说明:
- 'serverName': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器。
- 'command': 启动服务器的命令,这里使用 'node' (假设您已安装 Node.js 并将 'node' 命令添加到系统 PATH 环境变量中)。
- 'args': 传递给启动命令的参数,'["src/index.ts"]' 表示执行 'src' 目录下的 'index.ts' 文件作为服务器入口点。(请确保在 'Autogen_MCP' 仓库根目录下执行此命令,或者根据实际 'index.ts' 的路径进行调整)
- 'transport': 传输协议,这里使用 'stdio' (标准输入输出)。
注意: 如果您的 Node.js 环境配置或 'ts-node' 环境与上述配置不同,请根据实际情况调整 'command' 和 'args' 参数。例如,如果您使用 'ts-node' 直接运行 TypeScript 代码,可能需要将 'command' 设置为 'ts-node',并相应调整 'args'。 建议在 'Autogen_MCP' 仓库根目录下启动 MCP 服务器。
基本使用方法
-
启动服务器
在 'Autogen_MCP' 仓库根目录下,打开终端并执行以下命令启动服务器:
node src/index.ts服务器成功启动后,您应该能在终端看到类似 'AutoGen MCP server running on stdio' 的信息。
-
使用 MCP 客户端
配置您的 MCP 客户端,使其连接到上述配置的 AutoGen MCP Server。客户端通过发送 JSON-RPC 请求与服务器交互。
常用操作示例 (MCP 请求格式):
-
创建智能体 (create_agent)
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "name": "create_agent", "arguments": { "name": "tech_lead", "type": "assistant", "system_message": "You are a technical lead with expertise in software architecture and design patterns." } }, "id": "1" } -
一对一聊天 (execute_chat)
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "name": "execute_chat", "arguments": { "initiator": "agent1", "responder": "agent2", "message": "Let's discuss the system architecture." } }, "id": "2" } -
群聊 (execute_group_chat)
{ "jsonrpc": "2.0", "method": "call_tool", "params": { "name": "execute_group_chat", "arguments": { "agents": ["agent1", "agent2", "agent3"], "message": "Let's review the proposed solution." } }, "id": "3" }
请参考仓库的 README.md 文件和代码,了解更多可用的操作和参数详情。
-
信息
分类
AI与计算