Azure Functions 的模型上下文协议绑定概述

模型上下文协议(MCP)是一种客户端-服务器协议,旨在使语言模型和代理能够更有效地发现和使用外部数据源和工具。

重要

Azure Functions MCP 扩展目前以预览版提供。 在扩展正式发布之前,你可能需要对触发器和绑定 API 进行更改。
应避免在生产应用中使用预览版扩展。

Azure Functions MCP 扩展允许使用 Azure Functions 创建远程 MCP 服务器。 这些服务器可以托管 MCP 工具触发器函数,MCP 客户端(如语言模型和代理)可以查询和访问以执行特定任务。

Action 类型
从 MCP 工具调用请求运行函数 触发

重要

MCP 扩展目前不支持 PowerShell 应用。

先决条件

  • 需要 2.0.2 或更高版本的 Microsoft.Azure.Functions.Worker.Sdk 包。

安装扩展

注释

对于 C#,Azure Functions MCP 扩展仅支持 隔离的辅助角色模型

通过采用首选方式安装此 NuGet 包 ,将扩展添加到项目:

Microsoft.Azure.Functions.Worker.Extensions.Mcp

安装捆绑包

MCP 扩展预览版是预览 扩展捆绑包的一部分,该捆绑包是在 host.json 项目文件中指定的。

若要在应用中使用此预览捆绑包,请将项目 host.json 文件中的现有 extensionBundle 对象替换为以下 JSON 对象:

"extensionBundle": {
  "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
  "version": "[4.*, 5.0.0)"
}

host.json 设置

本部分介绍版本 2.x 及更高版本中可用于此绑定的配置设置。 host.json 文件中的设置将应用于函数应用实例中的所有函数。 下面的示例 host.json 文件仅包含此绑定的 2.x 版及更高版本设置。 若要详细了解版本 2.x 及更高版本中的函数应用程序配置设置,请参阅 Azure Functions 的 host.json 参考

注释

在扩展不再处于预览状态之前,不会更新其 host.json JSON 架构,并且特定的属性和行为可能会更改。 在预览期间,你可能会在编辑器中看到警告,指出 mcp 该部分无法识别。 可以安全地忽略这些警告。

可用于 host.json 定义 MCP 服务器信息。

{
  "version": "2.0",
  "extensions": {
    "mcp": {
      "instructions": "Some test instructions on how to use the server",
      "serverName": "TestServer",
      "serverVersion": "2.0.0"
    }    
  }
}
资产 DESCRIPTION
指示 描述客户端如何访问远程 MCP 服务器。
serverName 远程 MCP 服务器的友好名称。
serverVersion 远程 MCP 服务器的当前版本。

在远程 MCP 服务器中创建工具终结点