MCP Azure logo

MCP Azure

Governed Azure inventory and resource operations through ARM, with mode controls, allowlists, confirmations, and audit logging.

Install MCP Azure

Pick your client, then add it in one click or paste the config.

STDIONode.js
~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "mcp-azure": {
      "command": "npx",
      "args": [
        "-y",
        "@dockndevai/mcp-azure"
      ],
      "env": {
        "AZURE_TENANT_ID": "YOUR_VALUE_HERE",
        "AZURE_CLIENT_ID": "YOUR_VALUE_HERE",
        "AZURE_CLIENT_SECRET": "YOUR_VALUE_HERE",
        "AZURE_SUBSCRIPTION_ID": "YOUR_VALUE_HERE"
      }
    }
  }
}

Settings → Developer → Edit Config, merge this into mcpServers, then fully quit and reopen Claude Desktop.

Values are written into the snippet above so you can paste it as is. They never leave your browser.

Automated check passed— started and listed 5 tools correctly (7d ago).

Overview

mcp-azure MCP server connects MCP clients to Azure Resource Manager for resource inventory and controlled operations. It can list subscriptions, locations, resource groups, and resources, retrieve resources by ARM ID, manage tags, create or delete resource groups, and control VM power states. Access is constrained by operation modes, subscription and resource-group allowlists, protected groups, location rules, delete gates, confirmations, dry runs, and audit logs. Use it when an agent needs Azure visibility or bounded resource administration through an Entra ID service principal.

Use cases

  • Inventory Azure subscriptions and resource groups
  • Inspect resources within an Azure resource group
  • Apply environment and ownership tags to resources
  • Control the power state of virtual machines
  • Preview governed Azure administrative actions

Key features

  • Azure Resource Manager inventory
  • Subscription and resource-group scoping
  • VM start, stop, restart, and deallocate controls
  • Protected groups and location allowlists
  • Typed delete confirmation
  • Dry-run and JSON audit logging

Tools5

What MCP Azure lets your agent do. Expand a tool for its parameters.

Verified live~363 tokens of context

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 2d ago

Recent health check succeeded.

5/5 checks healthy over the last 36d

What it can do

From the 5 tools this server returned when we ran it; 5 declare their own safety hints.

Makes network requests · 5Read-only tools · 5
Network at startup3 connections
Files written at startupNone
Install scriptsNone
npm provenanceSigned build
Package age53 days
Maintainers1

Observed 2026-10-16 in an isolated sandbox. A description of reach, not a security audit.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 8h ago via OSV.dev · @dockndevai/mcp-azure (npm)

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars1Stargazers on the source repository.
npm downloads610Package downloads in the last 30 days.
Last commit5d agoMost recent push to the default branch.
Availability100%Our rolling endpoint + install checks that succeeded.
Install checkPassedOur sandbox started it and listed its tools.
Tools exposed5Callable tools this server registers over MCP.
Directory activity2 viewsConfig copies, upvotes, and views on AllMCPs.

How MCP Azure works

What mcp-azure does

The mcp-azure MCP server exposes Azure Resource Manager capabilities to MCP-compatible clients. ARM is the programmatic management layer behind the Azure Portal, so the server works with Azure subscriptions and resources through that API rather than through portal automation.

Its read operations cover subscription discovery, Azure locations, resource groups, resources within a group, and lookup of an individual resource by ARM ID. With the appropriate access mode, an agent can also create resource groups, merge tags onto resources, and start, stop, restart, or deallocate virtual machines. Delete operations are separated into admin-level tools for resource groups and individual resources.

How it works

The server runs over the standard MCP process model and can be launched with npx from the published @dockndevai/mcp-azure package. Azure authentication uses an Entra ID service principal, with tenant, client, secret, and subscription values supplied through environment variables.

Capabilities are selected by AZURE_MODE. In read-only mode, only inventory tools are registered. read-write adds resource-group creation, tagging, and VM power controls. admin adds deletion tools, but deletion still requires the separate delete setting and typed confirmation.

Governance checks apply before guarded operations run. Subscription and resource-group allowlists restrict scope, protected groups remain readable but cannot be changed, and a location allowlist limits where new resource groups may be created. Destructive or high-impact actions can request human approval through MCP elicitation. Clients without elicitation use the relevant allow-setting gate instead.

Setup and configuration

Add the package to Claude Code with claude mcp add, or configure it as an npx-based server in a client configuration file. The same command pattern supports clients such as Claude Desktop, Cursor, and Windsurf. Codex is also listed as an MCP-capable client for the project.

To run the mcp-azure MCP server, provide AZURE_TENANT_ID, AZURE_CLIENT_ID, AZURE_CLIENT_SECRET, and AZURE_SUBSCRIPTION_ID. Set AZURE_MODE according to the required access level; it defaults to read-only.

Optional controls include AZURE_SUBSCRIPTION_ALLOWLIST, AZURE_RESOURCE_GROUP_ALLOWLIST, AZURE_PROTECTED_RESOURCE_GROUPS, and AZURE_LOCATION_ALLOWLIST. Deletion requires both AZURE_MODE=admin and AZURE_ALLOW_DELETE=true. When confirmation is enabled, the supplied confirm value must match the target name. AZURE_DRY_RUN validates and logs write or administrative intent without applying it, while AZURE_AUDIT_LOG controls JSON audit lines written to stderr.

Tools and capabilities

Read tools, available from read-only upward:

  • list_subscriptions
  • list_locations
  • list_resource_groups
  • list_resources
  • get_resource

Write tools, available from read-write upward:

  • create_resource_group
  • tag_resource
  • control_vm

Admin tools, available only in admin mode and subject to delete controls:

  • delete_resource_group
  • delete_resource

These tools support workflows such as checking which region contains each resource group, inspecting resources in a group, applying tags, and changing a VM's power state.

Limitations and notes

The server does not provide unrestricted Azure access by default. Read-only mode is the default, and tools above the selected mode are not registered. Resource operations can also be refused by subscription, resource-group, protected-group, or location policy.

Deletion has multiple safeguards: administrative mode, the delete enablement variable, and typed confirmation. Dry-run mode returns after validation and intent logging, so it is suitable for checking policy behavior without making the requested change. Audit records are emitted as JSON lines to standard error when auditing is enabled.

The repository includes tests for governance modes, scope restrictions, location rules, deletion, and confirmation behavior. Running from source requires installing dependencies, building the project, and starting node dist/index.js with the environment configured.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about MCP Azure

mcp-azure is an MCP server that connects AI clients to Azure Resource Manager through an Entra ID service principal. Its main tools list subscriptions, locations, resource groups, and resources; retrieve resources by ARM ID; create groups; apply tags; control VM power; and, with admin safeguards, delete groups or resources.

Install it by running the published `@dockndevai/mcp-azure` package with `npx` in your MCP client configuration. Supply the Azure tenant, client, secret, and subscription environment variables, then choose an access mode such as `read-only`.

Yes, mcp-azure works with Cursor through an `npx` MCP server configuration. Add the package as a server command, pass the required Azure environment variables, and set the desired `AZURE_MODE`.

It requires admin mode, `AZURE_ALLOW_DELETE=true`, and typed confirmation for deletes. Destructive actions can also request interactive approval through MCP elicitation, while dry-run mode validates and logs intent without applying the operation.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMCP Azure AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mcp-azure?style=directory)](https://allmcps.com/mcp/mcp-azure)
HTML Embed
<a href="https://allmcps.com/mcp/mcp-azure"><img src="https://allmcps.com/api/badge/mcp-azure?style=directory" alt="MCP Azure on AllMCPs" /></a>