# Azure

> Manage Azure resources across 40+ services from an AI agent — Microsoft's official MCP.

[Canonical HTML page](https://top-mcps.com/mcp/azure) · [server.json](https://top-mcps.com/mcp/azure.json) · [methodology](https://top-mcps.com/about/methodology)

## Install

### Claude Desktop — `claude_desktop_config.json`

Paste under mcpServers. Fully quit and reopen Claude after editing.

```json
{
  "mcpServers": {
    "azure": {
      "command": "npx",
      "args": [
        "-y",
        "@azure/mcp@latest",
        "server",
        "start"
      ]
    }
  }
}
```

### Claude Code — `CLI or .mcp.json`

Run from your repo. Commit .mcp.json to share with your team.

```shell
claude mcp add azure -- npx -y @azure/mcp@latest server start
```

### Cursor — `.cursor/mcp.json`

Global path: ~/.cursor/mcp.json. Reload window after editing.

```json
{
  "mcpServers": {
    "azure": {
      "command": "npx",
      "args": [
        "-y",
        "@azure/mcp@latest",
        "server",
        "start"
      ]
    }
  }
}
```

### VS Code — `.vscode/mcp.json`

VS Code uses the "servers" key (not "mcpServers").

```jsonc
{
  "servers": {
    "azure": {
      "command": "npx",
      "args": [
        "-y",
        "@azure/mcp@latest",
        "server",
        "start"
      ]
    }
  }
}
```

### Windsurf — `~/.codeium/windsurf/mcp_config.json`

Open via Cascade → hammer icon → Configure.

```json
{
  "mcpServers": {
    "azure": {
      "command": "npx",
      "args": [
        "-y",
        "@azure/mcp@latest",
        "server",
        "start"
      ]
    }
  }
}
```

### Cline — `cline_mcp_settings.json`

Open via the Cline sidebar → MCP Servers → Edit.

```json
{
  "mcpServers": {
    "azure": {
      "command": "npx",
      "args": [
        "-y",
        "@azure/mcp@latest",
        "server",
        "start"
      ]
    }
  }
}
```

### Continue — `~/.continue/config.json`

Continue uses modelContextProtocolServers with a transport block.

```json
{
  "experimental": {
    "modelContextProtocolServers": [
      {
        "transport": {
          "type": "stdio",
          "command": "npx",
          "args": [
            "-y",
            "@azure/mcp@latest",
            "server",
            "start"
          ]
        }
      }
    ]
  }
}
```

### Codex CLI — `~/.codex/config.toml`

Codex uses TOML. Each server is a [mcp_servers.<name>] subtable.

```shell
# ~/.codex/config.toml
[mcp_servers.azure]
command = "npx"
args = [
  "-y",
  "@azure/mcp@latest",
  "server",
  "start",
]
```

### Zed — `~/.config/zed/settings.json`

Zed calls them "context_servers". Settings live-reload on save.

```jsonc
{
  "context_servers": {
    "azure": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@azure/mcp@latest",
          "server",
          "start"
        ]
      }
    }
  }
}
```

### ChatGPT — `ChatGPT → Apps directory`

Azure doesn't ship a hosted HTTPS endpoint today. ChatGPT supports remote MCP servers only — to use this server in ChatGPT you'll need to deploy it to a public HTTPS URL first (e.g. via Cloudflare Workers or Vercel) or wait for an official remote build.

```none

```

## At a glance

- **Maintainer:** Microsoft
- **Transport:** stdio
- **Auth model:** OAuth 2.1
- **Required secrets:** None
- **Supported clients:** Claude, Cursor, VS Code, GitHub Copilot, Any MCP-compatible client
- **License:** MIT
- **Language:** C#
- **Latest version:** latest
- **Last verified:** 2026-07-16
- **GitHub stars:** 3,471 (fetched 2026-07-17T12:42:37.329Z)
- **Score:** 89/100 (rubric 2026-04 — see https://top-mcps.com/about/methodology)
- **Source:** https://github.com/microsoft/mcp

## Quick answer

**What it does.** Surfaces Azure control-plane and data-plane operations across 40+ services (Storage, Cosmos DB, Key Vault, AKS, Monitor, SQL, App Service, Container Apps) as MCP tools, authenticated via Azure Identity.

**Best for:**
- Querying Azure resources by natural language
- Reading Azure Monitor + Log Analytics
- AKS and Container Apps inspection
- Key Vault and Storage operations
- Credential-free auth via managed identity

**Not for:**
- AWS or GCP workloads
- Environments without Azure Identity available
- Unattended production mutations without review

## Description

Microsoft's official Azure MCP (MIT, part of the microsoft/mcp catalog) exposes 40+ Azure service areas — Storage, Cosmos DB, Key Vault, AKS, App Service, Monitor, SQL, Container Apps, and more — as MCP tools. It authenticates through the standard Azure Identity SDK, so an agent inherits your `az login` session or a managed identity rather than a pasted key.

## Why it matters

Azure is one of the three hyperscalers. A first-party MCP that reuses DefaultAzureCredential means no long-lived secret in the config and the same RBAC an operator already has.

## Key features

- 40+ Azure service areas
- Azure Identity (DefaultAzureCredential) — no pasted key
- npm, Python, and .NET distributions
- Local stdio or self-hosted remote
- Official Microsoft, MIT

## FAQ

### How does authentication work?

Through the Azure Identity SDK (DefaultAzureCredential): it uses your `az login` session, environment variables, or a managed identity. No API key is stored in the MCP config.

### Which language is it written in?

.NET/C#, but it ships as an npm package (`@azure/mcp`), a Python package, and a .NET tool so you can run it however your stack prefers.

### How many services does it cover?

Over 40 Azure service areas including Storage, Cosmos DB, Key Vault, AKS, App Service, Monitor, SQL, and Container Apps.

## Changelog

- **2026-07-16** — Refreshed install snippets and fact sheet; verified for 2026.
- **2025-05-01** — Initial directory listing.
