Back to MCP Servers

Azure DevOps MCP Server

Official Microsoft MCP server for Azure DevOps: repos, work items, pipelines, test plans, wikis, and advanced security with remote-first onboarding.

Developer Tools by Microsoft OAuth2 active
Overview

The Azure DevOps MCP Server is Microsoft's official integration that brings Azure DevOps context into AI agents. It acts as a thin abstraction layer over the Azure DevOps REST APIs, exposing projects, repositories, work items, pipelines, test plans, wikis, and Advanced Security alerts as MCP tools. Microsoft offers both a remote, hosted server at https://mcp.dev.azure.com/{organization} (the recommended path) and a local stdio server distributed as the @azure-devops/mcp npm package.

The server covers the full work item lifecycle (create, update, batch updates, comments, revisions, WIQL queries, backlogs, iterations, and team capacity), repository operations (branches, commits, pull requests, reviews, threads, file content), pipelines (build definitions, runs, logs, artifacts, stage control), test plans and suites, wiki authoring, and code/work item/wiki search. It authenticates via Microsoft account (browser-based sign-in for remote) or Azure CLI credentials for local use.

Notable as the canonical, Microsoft-maintained MCP for Azure DevOps. The README explicitly recommends the remote server, noting that future investment focuses on the remote experience and that the remote server will eventually replace the local one. Supported clients include VS Code with GitHub Copilot, Visual Studio 2022, Claude Code, Cursor, Opencode, and Kilocode.

Tools

Tool Description
core_list_projects List all projects in the Azure DevOps organization.
core_list_project_teams List teams within a project.
core_get_identity_ids Retrieve identity IDs by search filter.
work_list_iterations List all iterations in a project.
work_create_iterations Create new iterations in a project.
work_list_team_iterations Retrieve iterations for a specific team.
work_assign_iterations Assign iterations to a team.
work_get_iteration_capacities Get capacity for all teams in an iteration.
work_get_team_capacity Get capacity for a specific team in an iteration.
work_update_team_capacity Update team member capacity for an iteration.
work_get_team_settings Get team settings including default iteration and area.
wit_get_work_item Retrieve a work item by ID.
wit_get_work_items_batch_by_ids Retrieve multiple work items by IDs.
wit_create_work_item Create a new work item.
wit_update_work_item Update fields of a work item.
wit_update_work_items_batch Update multiple work items in batch.
wit_add_child_work_items Create child work items under a parent.
wit_work_items_link Link work items together.
wit_work_item_unlink Remove links from a work item.
wit_add_artifact_link Link artifacts (commits, builds, PRs) to work items.
wit_link_work_item_to_pull_request Link a work item to a pull request.
wit_list_work_item_comments List comments on a work item.
wit_add_work_item_comment Add a comment to a work item.
wit_update_work_item_comment Update an existing comment on a work item.
wit_list_work_item_revisions Get revision history of a work item.
wit_get_work_item_type Get details of a work item type.
wit_my_work_items List work items relevant to the current user.
wit_get_work_items_for_iteration Get work items in a specific iteration.
wit_list_backlogs List backlogs for a team.
wit_list_backlog_work_items Get work items in a backlog.
wit_get_query Get a work item query by ID or path.
wit_get_query_results_by_id Execute a query and get results.
wit_query_by_wiql Execute a WIQL query and return matching work items.
wit_get_work_item_attachment Download a work item attachment.
search_code Search for code across repositories.
search_wiki Search wiki pages by keywords.
search_workitem Search work items by text and filters.
testplan_list_test_plans List test plans in a project.
testplan_create_test_plan Create a new test plan.
testplan_list_test_suites List test suites in a test plan.
testplan_create_test_suite Create a test suite within a test plan.
testplan_add_test_cases_to_suite Add test cases to a test suite.
testplan_list_test_cases List test cases in a test suite.
testplan_create_test_case Create a new test case work item.
testplan_update_test_case_steps Update steps of an existing test case.
testplan_show_test_results_from_build_id Get test results for a specific build.
repo_list_repos_by_project List all repositories in a project.
repo_get_repo_by_name_or_id Get repository details by name or ID.
repo_list_branches_by_repo List all branches in a repository.
repo_list_my_branches_by_repo List branches created by the current user.
repo_get_branch_by_name Get details of a specific branch.
repo_create_branch Create a new branch from a source branch.
repo_search_commits Search for commits with comprehensive filters.
repo_list_pull_requests_by_repo_or_project List pull requests with optional filters.
repo_list_pull_requests_by_commits Find pull requests containing specific commits.
repo_get_pull_request_by_id Get details of a specific pull request.
repo_get_pull_request_changes Get file changes (diff) for a pull request.
repo_create_pull_request Create a new pull request.
repo_update_pull_request Update pull request properties and settings.
repo_update_pull_request_reviewers Add or remove reviewers from a pull request.
repo_vote_pull_request Cast a vote on a pull request.
repo_list_pull_request_threads List comment threads on a pull request.
repo_list_pull_request_thread_comments List comments in a specific thread.
repo_create_pull_request_thread Create a new comment thread on a pull request.
repo_update_pull_request_thread Update an existing pull request comment thread.
repo_reply_to_comment Reply to a pull request comment.
repo_list_directory List files and folders in a directory.
repo_get_file_content Get file content at a specific version.
wiki_list_wikis List wikis in an organization or project.
wiki_get_wiki Get details of a specific wiki.
wiki_list_pages List pages in a wiki.
wiki_get_page Get wiki page metadata without content.
wiki_get_page_content Retrieve wiki page content.
wiki_create_or_update_page Create or update a wiki page.
pipelines_create_pipeline Create a new pipeline with YAML configuration.
pipelines_get_builds Retrieve a list of builds with optional filters.
pipelines_get_build_status Get the status of a specific build.
pipelines_get_build_log Retrieve complete logs for a build.
pipelines_get_build_log_by_id Get a specific build log by log ID.
pipelines_get_build_changes Get changes (commits) associated with a build.
pipelines_get_build_definitions List build/pipeline definitions in a project.
pipelines_get_build_definition_revisions Get revision history of a build definition.
pipelines_run_pipeline Start a new pipeline run with optional parameters.
pipelines_get_run Get details of a specific pipeline run.
pipelines_list_runs List recent runs for a pipeline.
pipelines_update_build_stage Update a build stage (cancel, retry, or run).
pipelines_list_artifacts List artifacts for a build.
pipelines_download_artifact Download a pipeline artifact.
advsec_get_alerts Retrieve Advanced Security alerts for a repository.
advsec_get_alert_details Get detailed information about a specific security alert.
Setup Guide

Prerequisites

  • An Azure DevOps organization and access with a Microsoft account
  • Node.js 20+ (for the local server)
  • An MCP-compatible client (VS Code + GitHub Copilot, Visual Studio 2022, Claude Code, Cursor, Opencode, or Kilocode)

Option 1: Remote server (recommended)

Microsoft hosts the server at https://mcp.dev.azure.com/{organization}. Authentication is browser-based using the Microsoft account that has access to your Azure DevOps organization.

Add this to your MCP client config (replace {organization} with your Azure DevOps org name):

{
  "servers": {
    "ado-remote-mcp": {
      "url": "https://mcp.dev.azure.com/{organization}",
      "type": "http"
    }
  }
}

Option 2: Local server (stdio)

Run via npx with your Azure DevOps organization name as the argument. Authentication uses Azure CLI credentials (az login).

{
  "inputs": [
    { "id": "ado_org", "type": "promptString", "description": "Azure DevOps organization name" }
  ],
  "servers": {
    "ado": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@azure-devops/mcp", "${input:ado_org}"]
    }
  }
}

Microsoft notes that the remote server will eventually replace the local server, and future investment is focused on the remote experience.

Use Cases
  • Triage and update sprint work: query the current iteration via WIQL, bulk-update assignees or states, and add comments without leaving the chat.
  • Drive code review from an agent: list open pull requests, fetch diffs, post review threads, add reviewers, and cast votes.
  • Automate release diagnostics: pull build logs, get failed stage details, retry stages, and correlate commits to failing tests.
  • Generate and maintain wiki documentation: search existing pages, fetch content, and create or update pages from agent-generated drafts.
  • Investigate Advanced Security alerts: list alerts for a repo, fetch alert details, and link findings back to work items for remediation.
Example Prompts
  • "Show all active bugs assigned to me in the Contoso project and add a comment asking for a repro on the three oldest."
  • "List the last 10 failed builds for the web-app pipeline and summarize the common failure reasons from their logs."
  • "Create a pull request from feature/login-refactor into main titled 'Refactor login flow', add @alice as a required reviewer, and link work item 4821."
  • "Run a WIQL query for all User Stories in iteration 'Sprint 42' that have no acceptance criteria, then update them with a placeholder."
  • "Fetch the Advanced Security alerts for the api repository and create a Task work item for each high-severity finding."
Pros
  • Official Microsoft-maintained server with comprehensive coverage across Boards, Repos, Pipelines, Test Plans, Wiki, and Advanced Security.
  • Hosted remote endpoint (https://mcp.dev.azure.com/{organization}) means zero local setup and browser-based Microsoft sign-in.
  • Broad client support: VS Code + GitHub Copilot, Visual Studio 2022, Claude Code, Cursor, Opencode, and Kilocode.
  • Open-source under MIT, so the tool surface and behavior are inspectable in the GitHub repo.
Limitations
  • Some tools are exposed only on the local server during rollout; the README notes the remote server will eventually supersede the local one but is still in transition.
  • The local stdio path requires Node.js 20+ and Azure CLI authentication, which is heavier than the remote option.
  • Tool surface is large and Azure DevOps-specific; agents may need careful prompting to choose the right tool among 80+ options.
Alternatives
  • GitHub MCP Server (github/github-mcp-server) for teams on GitHub instead of Azure Repos and Actions instead of Azure Pipelines.
  • GitLab MCP server for GitLab-hosted repos, issues, and CI.
  • Community Azure DevOps MCP implementations on npm/GitHub that predate Microsoft's official server (less complete and unmaintained).