多工具代理系统

一个模块化、可扩展的代理系统,使用MCP协议连接多个工具服务器(数学、文本工具、代码执行等)到FastAPI后端和简单的前端界面,利用Azure OpenAI进行自然语言理解。

  • by balogunadebola
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 balogunadebola/multi-server-mcp

使用说明

多MCP代理项目

一个模块化、可扩展的代理系统,使用MCP(模型上下文协议)将多个工具服务器(数学、文本实用程序、代码执行等)连接到FastAPI后端和简单的web前端。该代理利用Azure OpenAI进行自然语言理解,并可以通过本地和远程的其他MCP服务器进行扩展。


特性

  • FastAPI 后端 用于处理用户查询和为前端提供服务
  • 朗链代理 由Azure OpenAI提供支持
  • MCP协议 用于工具服务器集成
  • 本地MCP服务器 用于数学、文本实用程序和代码执行
  • 支持外部MCP服务器 通过 .vscode/mcp.json (见下文注释)
  • 简单的HTML前端 用于用户交互

项目结构

Multi MCP/
│
├── main.py                  # FastAPI backend
├── client.py                # Agent logic and MCP client config
├── math_server.py           # Math operations MCP server
├── text_utilities_server.py # Text summarization, translation, keyword extraction MCP server
├── code_execution_server.py # Code execution MCP server
├── frontend.html            # Web UI
├── requirements.txt         # Python dependencies
├── .env                     # Environment variables (not committed)
└── .vscode/
    └── mcp.json             # External MCP server configs (see below)

安装说明

1.克隆存储库

git clone <https://github.com/balogunadebola/Multi-Server-MCP.git>
cd Multi MCP

2.安装Python依赖项

pip install -r requirements.txt

3.配置环境变量

创建一个 .env 使用Azure OpenAI凭据在项目根目录中创建文件:

AZURE_OPENAI_API_KEY=your-azure-openai-key
AZURE_OPENAI_ENDPOINT=your-azure-endpoint
AZURE_OPENAI_VERSION=2023-05-15

4.(可选)配置外部MCP服务器

编辑 .vscode/mcp.json 添加或修改外部MCP服务器。 注: 动态跑步者喜欢 uvx/uvenv 已弃用且不受支持。对于外部服务器,使用直接HTTP端点或在本地运行服务器并使用指向它 command 和 args.


运行应用程序

启动FastAPI服务器:

python main.py

这将:

  • 启动后端 http://127.0.0.1:8000/
  • 启动所有配置的MCP服务器(数学、文本实用程序、代码执行和任何 .vscode/mcp.json 使用有效的本地运行程序)

打开 frontend.html 在浏览器中使用web界面。


可用的MCP服务器和工具

数学服务器(math_server.py)

  • 加法、减法、乘法、除法、平方

文本实用程序服务器(text_utilities_server.py)

  • 自动文摘
  • 翻译(占位符)
  • 关键词提取

代码执行服务器(code_execution_server.py)

  • 运行Python代码
  • 模拟JavaScript执行(占位符)
  • 运行shell命令

外部服务器(通过 .vscode/mcp.json)

  • 您可以通过指定外部MCP服务器的HTTP端点或本地脚本来添加它们。不支持动态远程跑步器。

扩展系统

  • 通过创建Python脚本并使用FastMCP装饰器模式注册工具来添加新的本地MCP服务器。
  • 通过编辑添加外部服务器 .vscode/mcp.json (仅限HTTP端点或本地脚本)。
  • 更新 client.py 和 main.py 如果添加新的本地服务器。

安全说明

  • 代码执行服务器可以运行任意Python和shell代码。 请谨慎使用,切勿暴露给不受信任的用户。
  • 保持你的 .env 文件安全,永远不要将其提交给版本控制。

鸣谢


许可证

MIT许可证