该项目包含一个使用 .NET Web 应用程序实现的 Model Context Protocol (MCP) 服务器。该应用程序设计用于部署到 Azure 应用服务。
此项目使用 OAuth OBO,允许用户通过 MCP 进行身份验证,并赋予 MCP 代表用户访问下游 API 的能力。在此示例中,它已获得访问 Azure 资源管理器 API 的权限。
MCP 服务器提供了一个遵循 Model Context Protocol 规范的 API,允许 AI 模型在推理过程中请求额外的上下文信息。
src/ - 包含主要的 C# 项目文件
Program.cs - MCP 服务器的入口点Tools/ - 包含可以通过 MCP 协议由模型使用的自定义工具
AzureResourceManagerTools.cs - 执行基本 Azure 资源管理器操作的工具infra/ - 使用 Bicep 编写的 Azure 基础设施代码
main.bicep - 主基础设施定义resources.bicep - 资源定义main.bicepparam - 部署参数cd src
dotnet restore
dotnet run
http://localhost:5000 可用服务器提供了这些工具:
get_subscriptions - 获取 Azure 订阅列表get_resource_groups - 获取特定 Azure 订阅中的资源组列表http://localhost:5000
获取我的 Azure 订阅
npx @modelcontextprotocol/inspector
HTTPhttp://localhost:5000
登录到 Azure:
azd auth login
初始化环境:
azd env new
部署应用程序:
azd up
授予管理员同意(Entra 门户 UI)- 仅首次执行:
这将:
使用 Web 应用的 URL:
https://<webappname>.azurewebsites.net
按照与本地应用相同的步骤进行操作,但使用你的应用服务 URL:
https://<webappname>.azurewebsites.net
当你完成与应用及相关资源的工作后,可以使用以下命令从 Azure 删除函数应用及其相关资源,避免产生进一步的成本:
azd down