Azure资源查询服务

一个基于Azure Resource Graph的MCP服务器,用于跨订阅查询Azure资源信息。

  • by hardik-id
  • TypeScript
  • 本地部署
  • 18 星标
  • 更新于
在 GitHub 查看 hardik-id/azure-resource-graph-mcp-server

使用说明

演示

流动

Azure资源图MCP服务器

这是一个模型上下文协议(MCP)服务器,提供对Azure资源图查询的访问。它允许您使用资源图查询跨订阅检索有关Azure资源的信息。

特性

  • 使用资源图查询查询Azure资源
  • 默认查询返回资源ID、名称、类型和位置
  • 支持自定义资源图查询
  • 使用Azure DefaultAzureCredentials进行身份验证

先决条件

  • 已安装Node.js
  • Azure订阅
  • 已安装并登录Azure CLI,或配置了其他Azure凭据

运行MCP服务器

您可以使用Cursor IDE或Visual Studio Code运行MCP服务器。

选项1:游标IDE集成

要将MCP服务器与Cursor IDE集成,请执行以下操作:

  1. 将此存储库克隆到您的本地计算机(例如。, C:\YOUR_WORKSPACE\azure-resource-graph-mcp-server)
  2. 构建项目:
npm install
npm run build
  1. 打开游标设置(JSON)并添加以下配置:
{
  "mcpServers": {
    "azure-resource-graph-mcp-server": {
      "command": "node",
      "args": [
        "C:\\YOUR_WORKSPACE\\azure-resource-graph-mcp-server\\build\\index.js"
      ],
      "env": {
        "SUBSCRIPTION_ID": "xxxxxx-xx-xx-xx-xxxxxx"
      },
    }
  }
}

备注:确保更新路径以匹配您的本地存储库位置。

  1. 重新启动Cursor IDE以应用更改

选项2:VS代码集成

要将MCP服务器与Visual Studio代码集成,请执行以下操作:

  1. 将此存储库克隆到本地计算机
  2. 构建项目:
npm install
npm run build
  1. 按打开VS代码设置(JSON) Ctrl+Shift+P,键入“设置(JSON)”,然后选择“首选项:打开用户设置(JSON)”
  2. 添加以下配置:
{
    "mcp": {
        "servers": {
            "azure-resource-graph": {
                "type": "stdio",
                "command": "node",
                "args": [
                    "C:\\YOUR_WORKSPACE\\azure-resource-graph-mcp-server\\build\\index.js"
                ],
                "env": {
                  "SUBSCRIPTION_ID": "xxxxxx-xx-xx-xx-xxxxxx"
                },
            }
        }
    }
}

备注:确保更新路径以匹配您的本地存储库位置。

  1. 保存settings.json文件
  2. 重新启动VS Code以应用更改

MCP服务器现在可以在VS Code中使用游标集成。

用法

服务器提供以下工具:

查询资源

从Azure资源图中检索资源及其详细信息。

参数:

  • subscriptionId (可选):Azure订阅ID(默认为配置的ID)
  • query (可选):自定义资源图查询(默认为“资源|项目id、名称、类型、位置”)

环境设置

  1. 首先,请确保您已通过运行以下命令登录到Azure CLI:

    az login
    

    此步骤对于本地开发至关重要,因为DefaultAzureCredential将自动使用您的Azure CLI凭据。

  2. 设置环境变量:

    • 复制 .env.example 向 .env
    • 更新 AZURE_SUBSCRIPTION_ID 在……里面 .env 使用您的实际订阅ID
    • 其他变量(AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET)在使用Azure CLI身份验证时是可选的
  3. 请确保您配置了正确的Azure凭据。服务器使用DefaultAzureCredential,它支持:

    • Azure命令行界面
    • 管理身份
    • Visual Studio代码凭据
    • 环境变量
  4. 如果使用环境变量,请设置:

    • AZURE _订阅_ ID
    • AZURE_TENANT_ID
    • AZURE_CLIENT_ID
    • AZURE_CLIENT_SECRET

错误处理

该服务器包括强大的错误处理功能,用于:

  • Azure客户端初始化失败
  • 查询执行错误
  • 查询或参数无效

发展

要完成此项目,请执行以下操作:

  1. 在 src 目录
  2. 使用构建 npm run build
  3. 通过运行服务器测试您的更改

许可证

该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取详细信息。