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

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

site icon
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服务器的开发场景。

核心功能

  1. 快速部署:通过Azure Functions快速部署MCP服务器到云端。
  2. 安全设计:使用密钥和HTTPS进行安全通信,支持OAuth认证和网络隔离。
  3. 多语言支持:提供.NET/C#、Node.js/TypeScript和Python的示例代码。
  4. 本地调试:支持在本地机器上进行调试和运行。
  5. 工具集成:支持与VS Code和GitHub Copilot集成。

适用场景

  1. 云端MCP服务器部署:适用于需要在云端运行MCP服务器的场景。
  2. 本地开发和调试:适用于开发者在本地机器上进行MCP服务器的开发和调试。
  3. 安全通信:适用于需要安全通信和认证的场景。

工具列表

  1. MCP Inspector:用于调试和监控MCP服务器的工具。
  2. VS Code - Copilot Edits:用于与MCP服务器交互的工具。

常见问题解答

  1. 如何获取系统密钥:可以通过Azure门户或CLI命令获取系统密钥。
  2. 如何连接远程MCP服务器:需要在URL中包含系统密钥或设置x-functions-key头。

使用教程

使用依赖

  1. .NET 8 SDK:安装命令参考.NET 8 SDK下载页面
  2. Azure Functions Core Tools:安装命令参考官方文档
  3. Azure Developer CLI:安装命令参考官方文档

安装教程

  1. 启动Azuriteshell docker run -p 10000:10000 -p 10001:10001 -p 10002:10002 \ mcr.microsoft.com/azure-storage/azurite
  2. 运行MCP服务器shell cd src func start

调试方式

  1. VS Code - Copilot Edits
    • 添加MCP服务器URL:http://0.0.0.0:7071/runtime/webhooks/mcp/sse
    • 在Copilot聊天模式下输入提示以触发工具。
  2. MCP Inspector
    • 安装并运行MCP Inspector: shell npx @modelcontextprotocol/inspector node build/index.js
    • 设置传输类型为SSE并连接MCP服务器。

部署到Azure

  1. 运行azd命令shell azd up
  2. 启用VNet(可选): bash azd env set VNET_ENABLED true

清理资源

  1. 删除资源shell azd down

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。