使用 Azure Logic Apps 运行多个 MCP 服务器
Source: Dev.to
概览
模型上下文协议(Model Context Protocol,MCP)现在已成为向 AI 代理公开工具的标准方式。
使用 Azure Logic Apps,您可以创建并运行多个 MCP 服务器,让代理一起使用它们——既简洁又模块化。
在本指南中,我们将:
- 构建一个 Basic Arithmetic(基础算术)MCP 服务器
- 构建一个 Extended Arithmetic(扩展算术)MCP 服务器
- 将代理连接到这两个服务器
构建 MCP 服务器
创建 Logic App 工作流
每个操作都实现为单独的 Logic App 工作流,并作为 MCP 工具公开。典型的工作流步骤:
- 接受输入 – 通常是两个数字和一个操作标识符。
- 执行所需逻辑 – 如加法、减法等。
- 返回结构化响应 – MCP 客户端期望的 JSON 格式。
将工作流分组为 MCP 服务器
创建完各个工作流后,将它们分组为两个 MCP 服务器:
| 服务器 | 操作 |
|---|---|
| BasicArithmetic | Add(加)、Subtract(减)、Multiply(乘)、Divide(除) |
| ExtendedArithmetic | Power(幂)、Square Root(平方根)、Modulo(取模) |
当工作流被分组时,Azure Logic Apps 会自动将配置持久化到名为 mcpserver.json 的文件中。该文件包含:
- MCP 服务器定义
- 工作流(工具)映射
关键点: 分组后的工作流定义了 MCP 服务器,且这些定义会自动写入
mcpserver.json,无需手动操作。
服务器配置(mcpserver.json)
生成的 mcpserver.json 大致如下(为说明简化):
{
"servers": [
{
"name": "BasicArithmetic",
"tools": ["Add", "Subtract", "Multiply", "Divide"]
},
{
"name": "ExtendedArithmetic",
"tools": ["Power", "SquareRoot", "Modulo"]
}
]
}
每当您添加、删除或修改工作流时,文件会自动更新。
访问 MCP 服务器
注册后,每个 MCP 服务器都可以通过可预测的 URL 访问:
https://<your-app>.azurewebsites.net/api/mcpservers/<server-name>/mcp
示例:
- 基础服务器 →
https://<your-app>.azurewebsites.net/api/mcpservers/BasicArithmetic/mcp - 扩展服务器 →
https://<your-app>.azurewebsites.net/api/mcpservers/ExtendedArithmetic/mcp
URL 中的
<server-name>必须与您分组工作流时使用的名称完全匹配;无需额外配置。
将代理连接到多个 MCP 服务器
代理为每个服务器创建独立的 MCP 客户端连接:
- BasicArithmetic 客户端 → 访问加、减、乘、除。
- ExtendedArithmetic 客户端 → 访问幂、平方根、取模。
这种清晰的分离使得代理能够:
- 从一个服务器使用基础操作。
- 从另一个服务器使用高级操作。
- 像使用单一统一工具集一样工作。
当代理运行时,它会在两个 MCP 服务器之间无缝调用操作,结果会被正确解析。
多服务器模式的优势
- 关注点分离 – 每个服务器专注于特定工具集合。
- 模块化可扩展性 – 通过创建额外工作流并将其分组到新服务器,可轻松添加新操作。
- 独立可伸缩 – 可单独扩展服务器,而不影响其他服务器。
- 零代码接线 – 代理可以在无需额外配置的情况下连接多个服务器;端点 URL 是确定性的。
总体而言,从单个 Azure Logic Apps 实例运行多个 MCP 服务器,为 AI 代理提供了模块化、可组合的工具生态系统。