使用 API 管理产品管理 MCP 服务器

本文介绍如何将一个或多个 MCP 服务器打包到 API 管理产品中,以便使用者完成组织已用于 REST API 的同一订阅、审批和策略分配工作流。   

Prerequisites

为什么将产品用于 MCP 服务器

产品是 API 管理中的封装单位。 它们控制哪些使用者可以订阅、是否需要审批、哪些策略(如配额)以及产品/服务在开发人员门户中的显示方式。 由于 MCP 服务器是一流的 API 管理资源,因此它们支持相同的产品基元。 

典型方案:

  • 销售工具产品包含 CRM MCP 服务器、定价 MCP 服务器和报价 MCP 服务器:一个订阅即可访问全部三个。 

  • 具有不同配额的免费和付费计划。 

  • 按团队订阅的拒付报告。 

将 MCP 服务器添加到产品

可以直接从 MCP 服务器的设置页将 MCP 服务器添加到现有产品,而无需导航到“产品”边栏选项卡。 

  1. Azure 门户中,转到 API 管理实例。 
  2. 在边栏菜单中,选择 API>MCP 服务器,然后选择要管理的 MCP 服务器。 
  3. 选择 “设置”,然后选择“ 产品 ”选项卡。
  4. 选择要向其添加 MCP 服务器的一个或多个现有产品。 选择“保存”。 

或者,若要首先创建新产品,请转到 “产品>+ 添加”,然后完成表单。 然后返回到 MCP 服务器的 “设置>产品 ”选项卡以绑定它。 有关创建产品的信息,请参阅 教程:创建和管理产品

订阅和获取密钥

使用者可以订阅包含 MCP 服务器的产品,并按照以下步骤接收访问它所需的密钥:

  1. 在开发人员门户中,使用者选择产品并选择 “订阅”。 如果需要审批,管理员将批准该请求。 

  2. 使用者接收主密钥和辅助密钥。 同一密钥授权调用产品中的每个 MCP 服务器。 

  3. 使用者将 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 响应会流式传输,读取正文会中断流。