用途
这是一个 Model Context Protocol (MCP) 服务器,核心用途是提供对 Azure Resource Graph 查询的访问能力。借助该服务器,用户可以跨 Azure 订阅检索 Azure 资源的详细信息,例如资源 ID、名称、类型和位置等。它适合需要在开发环境中快速查询和监控 Azure 资源的场景。
主要能力
- 使用 Resource Graph 查询 Azure 资源。
- 默认查询返回资源 ID、名称、类型和位置。
- 支持自定义 Resource Graph 查询。
- 使用 Azure DefaultAzureCredential 进行身份验证。
- 提供工具
query-resources:从 Azure Resource Graph 检索资源及其详情。该工具接受两个可选参数:subscriptionId(可选):Azure 订阅 ID,默认为已配置的 ID。query(可选):自定义 Resource Graph 查询,默认为Resources | project id, name, type, location。
使用方式
环境要求
- Node.js 已安装。
- 拥有 Azure 订阅。
- 已安装 Azure CLI 并登录,或配置了其他 Azure 凭据。
运行 MCP 服务器
可以通过 Cursor IDE 或 Visual Studio Code 运行 MCP 服务器。
选项 1:Cursor IDE 集成
- 将仓库克隆到本地机器(例如
C:\YOUR_WORKSPACE\azure-resource-graph-mcp-server)。 - 构建项目。
- 打开 Cursor 设置(JSON)并添加相应配置(需确保更新路径以匹配本地仓库位置)。
- 重启 Cursor IDE 以应用更改。
选项 2:VS Code 集成
- 将仓库克隆到本地机器。
- 按
Ctrl+Shift+P,输入 "Settings (JSON)" 并选择 "Preferences: Open User Settings (JSON)",打开 VS Code 设置(JSON)。 - 添加相应配置。
- 保存
settings.json文件。 - 重启 VS Code 以应用更改。
MCP 服务器随后可在 VS Code 中通过 cursor 集成使用。
环境设置
- 首先确保已通过运行
az login登录 Azure CLI。这一步对于本地开发至关重要,因为 DefaultAzureCredential 会自动使用 Azure CLI 凭据。 - 设置环境变量:
- 复制
.env.example为.env。 - 用实际的订阅 ID 更新
.env中的AZURE_SUBSCRIPTION_ID。 - 其他变量(
AZURE_TENANT_ID、AZURE_CLIENT_ID、AZURE_CLIENT_SECRET)在使用 Azure CLI 身份验证时是可选的。
- 复制
- 确保配置了正确的 Azure 凭据。服务器使用 DefaultAzureCredential,支持:
- Azure CLI
- Managed Identity
- Visual Studio Code 凭据
- 环境变量
如果使用环境变量,请设置:
AZURE_SUBSCRIPTION_IDAZURE_TENANT_IDAZURE_CLIENT_IDAZURE_CLIENT_SECRET
开发
- 在
src目录中进行更改。 - 使用
npm run build构建。 - 通过运行服务器测试更改。
适用场景
- 在 Cursor IDE 或 VS Code 中跨订阅查询 Azure 资源。
- 需要在开发流程中快速获取 Azure 资源清单和属性。
- 通过自定义 Resource Graph 查询进行更精细的资源检索。
限制
- 需要 Node.js 环境、Azure 订阅和有效的 Azure 凭据。
- 服务器包含针对以下情况的健壮错误处理:Azure 客户端初始化失败、查询执行错误、无效的查询或参数。
- 本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。
关于具体的构建命令、配置 JSON 内容以及安装步骤,资料中未提供完整细节,因此暂未提供。