/ Directory / Playground / Azure DevOps MCP
● Official microsoft 🔑 Needs your key

Azure DevOps MCP

by microsoft · microsoft/azure-devops-mcp

Microsoft-built MCP that exposes Azure DevOps — work items, repos, pipelines, boards — to Claude with PAT auth.

Official Azure DevOps MCP. Read/write work items, browse repos, inspect pipelines, manage boards. Mirrors the surface of the GitHub MCP for Azure DevOps users.

Why use it

Key features

Live Demo

What it looks like in practice

ready

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "azure-devops-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@microsoft/azure-devops-mcp"
      ],
      "env": {
        "AZURE_DEVOPS_PAT": "${AZDO_PAT}",
        "AZURE_DEVOPS_ORG": "${AZDO_ORG}"
      }
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "azure-devops-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@microsoft/azure-devops-mcp"
      ],
      "env": {
        "AZURE_DEVOPS_PAT": "${AZDO_PAT}",
        "AZURE_DEVOPS_ORG": "${AZDO_ORG}"
      }
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "azure-devops-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@microsoft/azure-devops-mcp"
      ],
      "env": {
        "AZURE_DEVOPS_PAT": "${AZDO_PAT}",
        "AZURE_DEVOPS_ORG": "${AZDO_ORG}"
      }
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "azure-devops-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@microsoft/azure-devops-mcp"
      ],
      "env": {
        "AZURE_DEVOPS_PAT": "${AZDO_PAT}",
        "AZURE_DEVOPS_ORG": "${AZDO_ORG}"
      }
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "azure-devops-mcp",
      "command": "npx",
      "args": [
        "-y",
        "@microsoft/azure-devops-mcp"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "azure-devops-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@microsoft/azure-devops-mcp"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add azure-devops-mcp -- npx -y @microsoft/azure-devops-mcp

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use Azure DevOps MCP

Triage Azure DevOps work items

👤 Developers ⏱ ~15 min intermediate

When to use: Sprint planning; you want a Claude-assisted pass over the backlog.

Flow
  1. List
    list_work_items area=Foo state=New.✓ Copied
    → WIs returned
  2. Cluster
    Group by theme, propose owners.✓ Copied
    → Plan emerges
  3. Update
    Apply tags and assignees via tools.✓ Copied
    → Backlog tidied

Outcome: Backlog triage done with audit trail in ADO.

Combinations

Pair with other MCPs for X10 leverage

azure-devops-mcp + github-mcp-server

Cross-link GH PRs with ADO work items

Combine azure-devops-mcp with github-mcp-server: Cross-link GH PRs with ADO work items✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
list_work_items (see docs) Query WIs with filters 1 call
update_work_item (see docs) Patch a WI 1 call
list_pipelines (see docs) Pipelines in a project 1 call
retry_pipeline (see docs) Retry failed pipeline 1 call

Cost & Limits

What this costs to run

API quota
ADO API limits per org
Tokens per call
WI fields are small
Monetary
Free; ADO plan applies
Tip
Use project-scoped PAT — never an org-wide one

Security

Permissions, secrets, blast radius

Minimum scopes: vso.work vso.code
Credential storage: PAT in env var
Data egress: dev.azure.com
Never grant: vso.*_manage scopes unless required

Troubleshooting

Common errors and fixes

401

PAT expired or wrong scopes

Project not found

Use the exact project name including casing

Alternatives

Azure DevOps MCP vs others

AlternativeWhen to use it insteadTradeoff
gitlab-mcp-zereightYou're on GitLabDifferent platform

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills