MCP.so
Sign In

Azure DevOps MCP Server

@AzureDevOpsAPI

About Azure DevOps MCP Server

An MCP server for Azure DevOps

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "azureDevOps": {
      "command": "npx",
      "args": [
        "-y",
        "@tiberriver256/mcp-server-azure-devops"
      ],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization",
        "AZURE_DEVOPS_AUTH_METHOD": "azure-identity",
        "AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name"
      }
    }
  }
}

Tools

46

Get details of the authenticated user (id, displayName, email)

List all Azure DevOps organizations accessible to the current authentication

List all projects in an organization

Get details of a specific project

Get comprehensive details of a project including process, work item types, and teams

Get details of a specific repository

Get detailed information about a repository including statistics and refs

List repositories in a project

Get content of a file or directory from a repository

Displays a hierarchical tree view of files and directories across multiple Azure DevOps repositories within a project, based on their default branches

Displays a hierarchical tree view of files and directories within a single repository starting from an optional path

Create a new branch from an existing one

Create a commit on an existing branch using file changes. - Provide plain branch names (no "refs/heads/"). - ⚠️ Each file path may appear only once per commit request—combine all edits to a file into a single change entry. - Prefer multiple commits when you have sparse or unrelated edits; smaller focused commits keep review context clear. 🎯 RECOMMENDED: Use the SEARCH/REPLACE format (much easier, no line counting!). **Option 1: SEARCH/REPLACE format (EASIEST)** Simply provide the exact text to find and replace: ```json { "changes": [{ "path": "src/api/services/function-call.ts", "search": "return axios.post(apiUrl, payload, requestConfig);", "replace": "return axios.post(apiUrl, payload, requestConfig).then(r => { processResponse(r); return r; });" }] } ``` The server fetches the file, performs the replacement, and generates the diff automatically. No line counting, no hunk headers, no context lines needed! **Option 2: UNIFIED DIFF format (Advanced)** If you prefer full control, provide complete unified diffs: - Each patch MUST have complete hunk headers: @@ -oldStart,oldLines +newStart,newLines @@ - CRITICAL: Every @@ marker MUST include line numbers. Do NOT use @@ without line ranges. - Include 3-5 context lines before and after changes. - For deletions: `--- a/filepath` and `+++ /dev/null` - For additions: `--- /dev/null` and `+++ b/filepath` Example unified diff: ```json { "changes": [{ "patch": "diff --git a/file.yaml b/file.yaml\n--- a/file.yaml\n+++ b/file.yaml\n@@ -4,7 +4,7 @@ spec:\n spec:\n type: ClusterIP\n ports:\n- - port: 8080\n+ - port: 9090\n targetPort: http\n" }] } ```

List recent commits on a branch including file-level diff content for each commit

List work items in a project

Get details of a specific work item

Create a new work item

Update an existing work item

Add or remove links between work items

Get comments and discussion history for a specific work item

Search for code across repositories in a project

Search for content across wiki pages in a project

Search for work items across projects in Azure DevOps

Create a new pull request, including reviewers, linked work items, and optional tags

Get a pull request by ID (no repositoryId required; best for Azure DevOps Server where PR IDs are project-scoped)

List pull requests in a repository

Get comments from a specific pull request

Add a comment to a pull request (repositoryId optional; derived from pullRequestId when omitted)

Update an existing pull request with new properties, manage reviewers and work items, and add or remove tags

Get the files changed in a pull request, their unified diffs, source/target branch names, and the status of policy evaluations

Summarize the latest status checks and policy evaluations for a pull request. - Surfaces pipeline and run identifiers so you can jump straight to the blocking validation. - Pair with pipeline tools (e.g., get_pipeline_run, pipeline_timeline) to inspect failures in depth.

Update the status of a comment thread in a pull request (repositoryId optional; derived from pullRequestId when omitted)

List pipelines in a project

Get details of a specific pipeline

List recent runs for a pipeline

Get details for a specific pipeline run

Download a file from a pipeline run artifact and return its textual content

Retrieve the timeline of stages and jobs for a pipeline run, to reduce the amount of data returned, you can filter by state and result

Retrieve a specific pipeline log using the timeline log identifier

Trigger a pipeline run

Get details of wikis in a project

Get the content of a wiki page

Create a new wiki in the project

Update content of a wiki page

List pages within an Azure DevOps wiki

Create a new page in a wiki. If the page already exists at the specified path, it will be updated.

Overview

What is Azure DevOps MCP Server?

A Model Context Protocol (MCP) server implementation for Azure DevOps, allowing AI assistants to interact with Azure DevOps APIs through a standardized protocol. It acts as a bridge between AI models and Azure DevOps resources, enabling secure access to projects, work items, repositories, pull requests, pipelines, wikis, and more.

How to use Azure DevOps MCP Server?

Install Node.js v16+, then run the server via npx with configuration. Provide environment variables for organization URL and authentication method (PAT, Azure Identity, or Azure CLI). Add the configuration to your Claude Desktop or Cursor AI MCP settings file. The server is invoked with npx -y @tiberriver256/mcp-server-azure-devops.

Key features of Azure DevOps MCP Server

  • Access and manage projects, work items, repositories, and more.
  • Create and update work items, branches, and pull requests.
  • Execute common DevOps workflows through natural language.
  • Access repository content via standardized resource URIs.
  • Supports multiple authentication methods (PAT, Azure Identity, Azure CLI).
  • Provides tools for search, pipelines, wikis, and user details.

Use cases of Azure DevOps MCP Server

  • List and create work items, branches, and pull requests from a chat interface.
  • Search code, wikis, and work items across Azure DevOps projects.
  • Retrieve file content from repositories and trigger pipeline runs.
  • Get project details and manage work item links programmatically.

FAQ from Azure DevOps MCP Server

What is the Azure DevOps MCP Server and how does it differ from direct Azure DevOps API usage?

It standardizes interaction with Azure DevOps via the Model Context Protocol, allowing AI assistants to perform DevOps operations through natural language without needing to manage API calls directly.

What authentication methods are supported?

Personal Access Token (PAT), Azure Identity (DefaultAzureCredential), and Azure CLI login. Configuration is set via the AZURE_DEVOPS_AUTH_METHOD environment variable.

What prerequisites are required to run the server?

Node.js v16+, npm or yarn, an Azure DevOps account with appropriate access, and valid authentication credentials (PAT, Azure Identity, or Azure CLI login).

What environment variables are required?

AZURE_DEVOPS_ORG_URL is mandatory. AZURE_DEVOPS_AUTH_METHOD defaults to azure-identity. AZURE_DEVOPS_PAT is needed only for PAT authentication. AZURE_DEVOPS_DEFAULT_PROJECT is optional.

Where does the server run and how is data handled?

The server runs locally or in your environment and acts as a bridge; data remains in Azure DevOps. The server does not store data externally.

Frequently asked questions

What is the Azure DevOps MCP Server and how does it differ from direct Azure DevOps API usage?

It standardizes interaction with Azure DevOps via the Model Context Protocol, allowing AI assistants to perform DevOps operations through natural language without needing to manage API calls directly.

What authentication methods are supported?

Personal Access Token (PAT), Azure Identity (DefaultAzureCredential), and Azure CLI login. Configuration is set via the `AZURE_DEVOPS_AUTH_METHOD` environment variable.

What prerequisites are required to run the server?

Node.js v16+, npm or yarn, an Azure DevOps account with appropriate access, and valid authentication credentials (PAT, Azure Identity, or Azure CLI login).

What environment variables are required?

`AZURE_DEVOPS_ORG_URL` is mandatory. `AZURE_DEVOPS_AUTH_METHOD` defaults to `azure-identity`. `AZURE_DEVOPS_PAT` is needed only for PAT authentication. `AZURE_DEVOPS_DEFAULT_PROJECT` is optional.

Where does the server run and how is data handled?

The server runs locally or in your environment and acts as a bridge; data remains in Azure DevOps. The server does not store data externally.

Comments

More Cloud & Infrastructure MCP servers