
Getting Started with Remote MCP Servers using Azure Functions (.NET/C#)

2025.04.10
36
Bicep远程MCP服务器Azure Functions云端部署开发效率
Remote MCP with Azure Functions (.NET/C#) 是一个基于Azure Functions的远程MCP服务器模板,允许用户快速构建和部署自定义的MCP服务器到云端。该服务器通过密钥和HTTPS进行安全设计,并支持通过EasyAuth和API Management进行OAuth认证,以及通过VNET进行网络隔离。
View on GitHub
Overview
基本能力
产品定位
Remote MCP with Azure Functions (.NET/C#) 是一个用于快速构建和部署远程MCP服务器的模板,适用于需要在云端运行MCP服务器的开发场景。
核心功能
- 快速部署:通过Azure Functions快速部署MCP服务器到云端。
- 安全设计:使用密钥和HTTPS进行安全通信,支持OAuth认证和网络隔离。
- 多语言支持:提供.NET/C#、Node.js/TypeScript和Python的示例代码。
- 本地调试:支持在本地机器上进行调试和运行。
- 工具集成:支持与VS Code和GitHub Copilot集成。
适用场景
- 云端MCP服务器部署:适用于需要在云端运行MCP服务器的场景。
- 本地开发和调试:适用于开发者在本地机器上进行MCP服务器的开发和调试。
- 安全通信:适用于需要安全通信和认证的场景。
工具列表
- MCP Inspector:用于调试和监控MCP服务器的工具。
- VS Code - Copilot Edits:用于与MCP服务器交互的工具。
常见问题解答
- 如何获取系统密钥:可以通过Azure门户或CLI命令获取系统密钥。
- 如何连接远程MCP服务器:需要在URL中包含系统密钥或设置
x-functions-key
头。
使用教程
使用依赖
- .NET 8 SDK:安装命令参考.NET 8 SDK下载页面。
- Azure Functions Core Tools:安装命令参考官方文档。
- Azure Developer CLI:安装命令参考官方文档。
安装教程
- 启动Azurite:
shell docker run -p 10000:10000 -p 10001:10001 -p 10002:10002 \ mcr.microsoft.com/azure-storage/azurite
- 运行MCP服务器:
shell cd src func start
调试方式
- VS Code - Copilot Edits:
- 添加MCP服务器URL:
http://0.0.0.0:7071/runtime/webhooks/mcp/sse
。 - 在Copilot聊天模式下输入提示以触发工具。
- 添加MCP服务器URL:
- MCP Inspector:
- 安装并运行MCP Inspector:
shell npx @modelcontextprotocol/inspector node build/index.js
- 设置传输类型为
SSE
并连接MCP服务器。
- 安装并运行MCP Inspector:
部署到Azure
- 运行azd命令:
shell azd up
- 启用VNet(可选):
bash azd env set VNET_ENABLED true
清理资源
- 删除资源:
shell azd down