项目简介

Azure Functions MCP扩展是一个官方微软项目,允许开发者在Azure Functions平台上构建符合Model Context Protocol标准的服务器。通过此扩展,Azure Functions应用可以作为MCP服务器,向AI客户端提供工具调用能力。

主要功能

  • MCP工具触发器:在Azure Functions中定义可由AI代理调用的工具函数
  • 多语言支持:支持.NET、Python、TypeScript和Java等多种编程语言栈
  • 工具属性定义:支持定义工具参数的名称、类型、描述和必填要求
  • 可扩展架构:利用Azure Functions的无服务器特性,提供高可用性和自动伸缩能力
  • 会话管理:支持客户端会话的创建和维护
  • 多种传输协议:支持Stdio、SSE和WebSocket等传输方式
  • 配置管理:通过host.json文件灵活配置服务器行为

安装步骤

  1. 创建Azure Functions项目
  2. 添加相应的MCP扩展包
  3. 配置host.json文件,设置服务器名称、版本和用户说明

服务器配置

在host.json文件中配置MCP扩展:

{
  "version": "2.0",
  "extensions": {
    "mcp": {
      "instructions": "服务器使用说明文本",
      "serverName": "MyMcpServer",
      "serverVersion": "1.0.0"
}

配置参数说明:

  • 'instructions':向客户端提供的服务器使用说明
  • 'serverName':MCP服务器名称
  • 'serverVersion':服务器版本号

基本使用方法

  1. 使用'[McpToolTrigger]'属性标记函数作为MCP工具
  • 通过'[McpToolProperty]'属性定义工具参数
  • 支持的工具参数类型:string、number、integer、boolean、object及其数组形式
  • 工具函数可以接收参数并返回结果,供AI客户端调用

示例项目

微软提供了多个语言的示例项目:

  • C# (.NET):Azure-Samples/remote-mcp-functions-dotnet
  • Python:Azure-Samples/remote-mcp-functions-python
  • TypeScript (Node.js):Azure-Samples/remote-mcp-functions-typescript
  • Java:Azure-Samples/remote-mcp-functions-java

信息

分类

开发者工具