Azure Resource Graph MCP Server

Consulte e recupere informações de recursos do Azure entre assinaturas usando o Azure Resource Graph.

Documentação

Demo

MCP Server Demo

Fluxo

Request Flow

Azure Resource Graph MCP Server

Este é um servidor Model Context Protocol (MCP) que fornece acesso a consultas do Azure Resource Graph. Ele permite recuperar informações sobre recursos do Azure em suas assinaturas usando consultas do Resource Graph.

MseeP.ai Security Assessment Badge

Recursos

  • Consultar recursos do Azure usando consultas do Resource Graph
  • A consulta padrão retorna ID do recurso, nome, tipo e localização
  • Suporta consultas personalizadas do Resource Graph
  • Usa Azure DefaultAzureCredential para autenticação

Pré-requisitos

  • Node.js instalado
  • Assinatura do Azure
  • Azure CLI instalado e conectado, ou outras credenciais do Azure configuradas

Executando o Servidor MCP

Você pode executar o servidor MCP usando o Cursor IDE ou o Visual Studio Code.

Opção 1: Integração com Cursor IDE

Para integrar o servidor MCP com o Cursor IDE:

  1. Clone este repositório para sua máquina local (ex.: C:\YOUR_WORKSPACE\azure-resource-graph-mcp-server)
  2. Compile o projeto:
npm install
npm run build
  1. Abra as Configurações do Cursor (JSON) e adicione a seguinte configuração:
{
  "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"
      },
    }
  }
}

Nota: Certifique-se de atualizar o caminho para corresponder ao local do seu repositório local.

  1. Reinicie o Cursor IDE para aplicar as alterações

Opção 2: Integração com VS Code

Para integrar o servidor MCP com o Visual Studio Code:

  1. Clone este repositório para sua máquina local
  2. Compile o projeto:
npm install
npm run build
  1. Abra as Configurações do VS Code (JSON) pressionando Ctrl+Shift+P, digite "Settings (JSON)" e selecione "Preferences: Open User Settings (JSON)"
  2. Adicione a seguinte configuração:
{
    "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"
                },
            }
        }
    }
}

Nota: Certifique-se de atualizar o caminho para corresponder ao local do seu repositório local.

  1. Salve o arquivo settings.json
  2. Reinicie o VS Code para aplicar as alterações

O servidor MCP agora estará disponível para uso no VS Code com integração de cursor.

Uso

O servidor fornece a seguinte ferramenta:

query-resources

Recupera recursos e seus detalhes do Azure Resource Graph.

Parâmetros:

  • subscriptionId (opcional): ID da assinatura do Azure (padrão: ID configurado)
  • query (opcional): Consulta personalizada do Resource Graph (padrão: "Resources | project id, name, type, location")

Configuração do Ambiente

  1. Primeiro, certifique-se de estar conectado ao Azure CLI executando:

    az login
    

    Este passo é crucial para o desenvolvimento local, pois o DefaultAzureCredential usará automaticamente suas credenciais do Azure CLI.

  2. Configure suas variáveis de ambiente:

    • Copie .env.example para .env
    • Atualize AZURE_SUBSCRIPTION_ID em .env com seu ID real de assinatura
    • Outras variáveis (AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET) são opcionais ao usar autenticação do Azure CLI
  3. Certifique-se de ter credenciais do Azure configuradas corretamente. O servidor usa DefaultAzureCredential, que suporta:

    • Azure CLI
    • Managed Identity
    • Credenciais do Visual Studio Code
    • Variáveis de ambiente
  4. Se usar variáveis de ambiente, configure:

    • AZURE_SUBSCRIPTION_ID
    • AZURE_TENANT_ID
    • AZURE_CLIENT_ID
    • AZURE_CLIENT_SECRET

Tratamento de Erros

O servidor inclui tratamento robusto de erros para:

  • Falhas de inicialização do cliente Azure
  • Erros de execução de consultas
  • Consultas ou parâmetros inválidos

Desenvolvimento

Para trabalhar neste projeto:

  1. Faça alterações no diretório src
  2. Compile usando npm run build
  3. Teste suas alterações executando o servidor

Licença

Este projeto é licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.