MCP ExplorerExplorer

Azdo Mcp

@mmruesch12on 10 months ago
1 MIT
FreeCommunity
AI Systems
An MCP server for Azure DevOps, enabling AI interaction with work items, pull requests, and wikis.

Overview

What is Azdo Mcp

azdo-mcp is an MCP server designed for Azure DevOps, enabling AI interactions with work items, pull requests, and wikis.

Use cases

Use cases for azdo-mcp include automating work item management, facilitating pull request reviews, and enhancing documentation processes through wiki page management.

How to use

To use azdo-mcp, install the required dependencies, configure environment variables in a .env file, build the server, and add the server configuration to your MCP settings in either VSCode or Claude Desktop.

Key features

Key features of azdo-mcp include Work Items Management (create, list, get), Pull Request Operations (create, list, get, comment, diff), and Wiki Page Management (create, edit).

Where to use

azdo-mcp can be used in software development environments where Azure DevOps is utilized, particularly for teams looking to enhance their workflow with AI assistance.

Content

Azure DevOps MCP Server

An MCP (Model Context Protocol) server that provides integration with Azure DevOps, allowing AI assistants to interact with Azure DevOps work items, pull requests, and wikis.

azure-devops Server MCP server

Features

  • Work Items Management (create, list, get)
  • Pull Request Operations (create, list, get, comment, diff)
  • Wiki Page Management (create, edit)

Setup

  1. Install dependencies:
npm install
  1. Configure environment variables (create a .env file):
AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-org
AZURE_DEVOPS_PAT=your-personal-access-token
AZURE_DEVOPS_PROJECT=default-project
AZURE_DEVOPS_REPOSITORY=default-repo
  1. Build the server:
npm run build

Installation

Add the server configuration to your MCP settings:

For VSCode

On macOS/Linux

Add to ~/.vscode/cline_mcp_settings.json or the Cursor/Roo equivalent:

{
  "mcpServers": {
    "azure-devops": {
      "command": "node",
      "args": [
        "/path/to/azure-devops-mcp/build/index.js"
      ],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "your-org-url",
        "AZURE_DEVOPS_PAT": "your-pat",
        "AZURE_DEVOPS_PROJECT": "your-project",
        "AZURE_DEVOPS_REPOSITORY": "your-repo"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

On Windows

Add to %USERPROFILE%\.vscode\cline_mcp_settings.json or the Cursor/Roo equivalent:

{
  "mcpServers": {
    "azure-devops": {
      "command": "node",
      "args": [
        "C:/path/to/azure-devops-mcp/build/index.js"
      ],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "your-org-url",
        "AZURE_DEVOPS_PAT": "your-pat",
        "AZURE_DEVOPS_PROJECT": "your-project",
        "AZURE_DEVOPS_REPOSITORY": "your-repo"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Available Tools

Work Items

list_work_items

Lists work items in a project.

{
  "project": string,        // Required
  "types"?: string[],      // Optional: Filter by work item types
  "states"?: string[],     // Optional: Filter by states
  "assignedTo"?: string    // Optional: Filter by assigned user
}

get_work_item

Get details of a specific work item.

{
  "project": string,       // Required
  "id": number            // Required: Work item ID
}

create_work_item

Create a new work item.

{
  "project": string,       // Required
  "type": string,         // Required: e.g., "Task", "Bug"
  "title": string,        // Required
  "description"?: string, // Optional
  "assignedTo"?: string  // Optional
}

Pull Requests

list_pull_requests

List pull requests in a repository.

{
  "status"?: "active" | "completed" | "abandoned"  // Optional
}

get_pull_request

Get details of a specific pull request.

{
  "pullRequestId": number  // Required
}

create_pull_request

Create a new pull request.

{
  "title": string,         // Required
  "description": string,   // Required
  "sourceBranch": string, // Required
  "targetBranch": string, // Required
  "reviewers"?: string[]  // Optional: Array of reviewer email addresses
}

create_pull_request_comment

Add a comment to a pull request.

{
  "pullRequestId": number,                                      // Required
  "content": string,                                           // Required
  "threadId"?: number,                                         // Optional: For replies
  "filePath"?: string,                                         // Optional: For file comments
  "lineNumber"?: number,                                       // Optional: For line comments
  "status"?: "active"|"fixed"|"pending"|"wontfix"|"closed"    // Optional: Thread status
}

get_pull_request_diff

Get the diff for a pull request.

{
  "pullRequestId": number,  // Required
  "filePath"?: string,     // Optional: Specific file to get diff for
  "iterationId"?: number   // Optional: Specific iteration to get diff for
}

Wiki

create_wiki_page

Create a new wiki page.

{
  "project": string,    // Required
  "wiki": string,      // Required
  "path": string,      // Required
  "content": string    // Required
}

edit_wiki_page

Edit an existing wiki page.

{
  "project": string,    // Required
  "wiki": string,      // Required
  "path": string,      // Required
  "content": string,   // Required
  "etag": string       // Required: For concurrency control
}

Development

Run in development mode with environment variables:

npm run dev

Note

Unless explicitly specified in the tool arguments, the project and repository parameters will use default values from your environment configuration.

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers