SuperAPI AI 工具集

azure-resource-graph-mcp-server

这是一个基于 Model Context Protocol (MCP) 的服务器,用于访问 Azure Resource Graph 查询。它允许用户通过 Resource Graph 查询跨订阅检索 Azure 资源信息,包括使用默认查询返回资源 ID、名称、类型和位置,并支持自定义查询。该服务器使用 Azure DefaultAzureCredential 进行身份验证,需要 Node.js 环境、Azure 订阅,以及已安装并登录的 Azure CLI 或其他配置的 Azure 凭据。它可以在 Cursor IDE 或 Visual Studio Code 中运行和集成。

访问官网

工具介绍

用途

这是一个 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 集成

  1. 将仓库克隆到本地机器(例如 C:\YOUR_WORKSPACE\azure-resource-graph-mcp-server)。
  2. 构建项目。
  3. 打开 Cursor 设置(JSON)并添加相应配置(需确保更新路径以匹配本地仓库位置)。
  4. 重启 Cursor IDE 以应用更改。

选项 2:VS Code 集成

  1. 将仓库克隆到本地机器。
  2. 按 Ctrl+Shift+P,输入 "Settings (JSON)" 并选择 "Preferences: Open User Settings (JSON)",打开 VS Code 设置(JSON)。
  3. 添加相应配置。
  4. 保存 settings.json 文件。
  5. 重启 VS Code 以应用更改。

MCP 服务器随后可在 VS Code 中通过 cursor 集成使用。

环境设置

  1. 首先确保已通过运行 az login 登录 Azure CLI。这一步对于本地开发至关重要,因为 DefaultAzureCredential 会自动使用 Azure CLI 凭据。
  2. 设置环境变量:
    • 复制 .env.example 为 .env。
    • 用实际的订阅 ID 更新 .env 中的 AZURE_SUBSCRIPTION_ID。
    • 其他变量(AZURE_TENANT_ID、AZURE_CLIENT_ID、AZURE_CLIENT_SECRET)在使用 Azure CLI 身份验证时是可选的。
  3. 确保配置了正确的 Azure 凭据。服务器使用 DefaultAzureCredential,支持:
    • Azure CLI
    • Managed Identity
    • Visual Studio Code 凭据
    • 环境变量

如果使用环境变量,请设置:

  • AZURE_SUBSCRIPTION_ID
  • AZURE_TENANT_ID
  • AZURE_CLIENT_ID
  • AZURE_CLIENT_SECRET

开发

  • 在 src 目录中进行更改。
  • 使用 npm run build 构建。
  • 通过运行服务器测试更改。

适用场景

  • 在 Cursor IDE 或 VS Code 中跨订阅查询 Azure 资源。
  • 需要在开发流程中快速获取 Azure 资源清单和属性。
  • 通过自定义 Resource Graph 查询进行更精细的资源检索。

限制

  • 需要 Node.js 环境、Azure 订阅和有效的 Azure 凭据。
  • 服务器包含针对以下情况的健壮错误处理:Azure 客户端初始化失败、查询执行错误、无效的查询或参数。
  • 本项目采用 MIT 许可证,详情请参阅 LICENSE 文件。

关于具体的构建命令、配置 JSON 内容以及安装步骤,资料中未提供完整细节,因此暂未提供。