本文介绍如何将一个或多个 MCP 服务器打包到 API 管理产品中,以便使用者完成组织已用于 REST API 的同一订阅、审批和策略分配工作流。
Prerequisites
API 管理实例。 若要创建一个实例,请参阅“创建Azure API 管理实例”。
实例中至少有一台 MCP 服务器。 请参阅 将 REST API 公开为 MCP 服务器 或 公开现有 MCP 服务器。
在 API 管理中管理产品的权限(API 管理服务参与者角色或等效角色)。
为什么将产品用于 MCP 服务器
产品是 API 管理中的封装单位。 它们控制哪些使用者可以订阅、是否需要审批、哪些策略(如配额)以及产品/服务在开发人员门户中的显示方式。 由于 MCP 服务器是一流的 API 管理资源,因此它们支持相同的产品基元。
典型方案:
销售工具产品包含 CRM MCP 服务器、定价 MCP 服务器和报价 MCP 服务器:一个订阅即可访问全部三个。
具有不同配额的免费和付费计划。
按团队订阅的拒付报告。
将 MCP 服务器添加到产品
可以直接从 MCP 服务器的设置页将 MCP 服务器添加到现有产品,而无需导航到“产品”边栏选项卡。
- 在 Azure 门户中,转到 API 管理实例。
- 在边栏菜单中,选择 API>MCP 服务器,然后选择要管理的 MCP 服务器。
- 选择 “设置”,然后选择“ 产品 ”选项卡。
- 选择要向其添加 MCP 服务器的一个或多个现有产品。 选择“保存”。
或者,若要首先创建新产品,请转到 “产品>+ 添加”,然后完成表单。 然后返回到 MCP 服务器的 “设置>产品 ”选项卡以绑定它。 有关创建产品的信息,请参阅 教程:创建和管理产品。
订阅和获取密钥
使用者可以订阅包含 MCP 服务器的产品,并按照以下步骤接收访问它所需的密钥:
在开发人员门户中,使用者选择产品并选择 “订阅”。 如果需要审批,管理员将批准该请求。
使用者接收主密钥和辅助密钥。 同一密钥授权调用产品中的每个 MCP 服务器。
使用者将 MCP 客户端(例如,Visual Studio Code或 Claude Desktop)配置为在
Ocp-Apim-Subscription-Key标头中发送密钥。
Tip
若要在不中断使用者的情况下轮换订阅密钥,请重新生成辅助密钥,更新客户端以使用它,然后重新生成主密钥。
设置配额和速率限制
使用产品范围的 策略 来限制每个订阅或每个使用者的使用量。 例如:
配额策略会对较长时间窗口内的调用次数执行上限限制(例如,按月)。
rate-limit 策略实施短时间窗口限流(例如每分钟)。
quota-by-key 策略根据
context.Subscription.Id或 JWT 声明来确定计数器键,从而使每个消费者都有自己的桶。
Note
这些策略对工具呼叫请求进行计数。
若要限制 MCP 服务器上的一个干扰工具,请对工具名称设置计数器键:
<quota-by-key calls="50" renewal-period="60"
counter-key="@(context.Variables.GetValueOrDefault<string>("gen_ai.tool.name",,""))" />
Important
不要通过附加到绑定了 MCP 服务器的产品的策略访问 context.Response.Body。 MCP 响应会流式传输,读取正文会中断流。