项目简介
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文件灵活配置服务器行为
安装步骤
- 创建Azure Functions项目
- 添加相应的MCP扩展包
- 配置host.json文件,设置服务器名称、版本和用户说明
服务器配置
在host.json文件中配置MCP扩展:
{ "version": "2.0", "extensions": { "mcp": { "instructions": "服务器使用说明文本", "serverName": "MyMcpServer", "serverVersion": "1.0.0" }
配置参数说明:
- 'instructions':向客户端提供的服务器使用说明
- 'serverName':MCP服务器名称
- 'serverVersion':服务器版本号
基本使用方法
- 使用'[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
信息
分类
开发者工具