AzureDevOpsMCP

conradprogrammer/AzureDevOpsMCP

3.2

If you are the rightful owner of AzureDevOpsMCP and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.

The Azure DevOps MCP Server enables seamless integration between Claude Code and on-premises Azure DevOps environments, facilitating efficient project management and collaboration.

Tools
19
Resources
0
Prompts
0

AzureDevOpsMCP

On-Prem Azure DevOps with your own MCP Server directly accessible by AI LLM such as Claude Code extension in VS Code Editor

Azure DevOps MCP Server

Organizing large LLM coding projects can be a challenge, especially when you want to keep your code repository on-premises. The Azure DevOps MCP Server bridges this gap by enabling Claude Code to interact directly with your on-premises Azure DevOps environment. This solution brings the power of Model Context Protocol (MCP) to your work items, Git repositories, and pipelines, making project management seamless and efficient.

Why Use This?

  • On-Premises Friendly: Designed for organizations that prefer to keep their code and project data behind their own firewall.
  • Integrated Workflow: Connects Claude Code to Azure DevOps for unified work item management, Git integration, and pipeline automation.
  • Streamlined Collaboration: Link commits to work items, manage pull requests, and track build status—all from your local setup.

Key Features

  • Work Item Management: Create, query, update, and link Epics, Features, User Stories, Tasks, and Bugs.
  • Git Integration: Link commits, view history, and manage pull requests directly.
  • Pipeline Automation: Trigger builds, monitor status, and retrieve logs with ease.

This solution is perfect for teams seeking robust, secure, and centralized project management for their LLM-driven coding workflows.

Azure DevOps MCP Server

Model Context Protocol server for Azure DevOps, enabling Claude Code to interact with work items, Git repositories, and pipelines.

Features

Work Item Management

  • Get, query, create, update work items
  • Manage Epics, Features, User Stories, Tasks, Bugs
  • Link and organize work items
  • Track progress and assignments

Git Integration

  • Link commits to work items
  • View commit history
  • Create and manage pull requests
  • Check PR status and reviews

Pipeline Automation

  • Trigger builds
  • Monitor pipeline status
  • Retrieve build logs

Quick Start

Prerequisites

  • .NET 10 Runtime
  • Azure DevOps Server (on-premises) or Azure DevOps Services
  • Claude Desktop with MCP support

Installation

  1. Clone and build:

    git clone <repository-url>
    cd AzureDevOpsMCP
    dotnet build
    
  2. Configure Azure DevOps connection:

    Edit src/AzureDevOpsMcp.Server/appsettings.json:

    {
      "AzureDevOps": {
        "ServerUrl": "http://your-server/DefaultCollection/",
        "ProjectName": "YourProject",
        "UseWindowsAuth": true,
        "TimeoutSeconds": 30
      }
    }
    
  3. Configure Claude Desktop:

    Add to your Claude Desktop MCP configuration:

    {
      "mcpServers": {
        "azure-devops": {
          "command": "dotnet",
          "args": ["run", "--project", "path/to/src/AzureDevOpsMcp.Server"]
        }
      }
    }
    
  4. Start using with Claude!

Available MCP Tools

Work Items

ToolDescription
devops_get_work_itemGet work item details by ID
devops_query_work_itemsExecute WIQL query
devops_get_my_workGet items assigned to current user
devops_get_next_taskGet next task to work on
devops_get_epicsGet all Epics
devops_get_storiesGet all User Stories
devops_get_tasksGet all Tasks
devops_create_work_itemCreate new work item
devops_update_work_itemUpdate work item fields
devops_change_stateChange work item state
devops_link_work_itemsLink two work items
devops_unlink_work_itemsRemove link between items

Git

ToolDescription
devops_link_commit_to_work_itemLink commit to work item
devops_get_commitsGet commit history
devops_create_pull_requestCreate pull request
devops_get_pull_request_statusGet PR status and reviews

Pipelines

ToolDescription
devops_trigger_pipelineTrigger a pipeline build
devops_get_pipeline_statusGet build status
devops_get_build_logsGet build logs

See for complete tool reference with parameters.

Example Usage with Claude

Get work item:

Show me work item #25

Create task:

Create a task called "Implement login validation" under user story #10

Query work:

What tasks are assigned to me?

Link commit:

Link commit a3f5c2d to work item #25

Create PR:

Create a pull request from feature/auth to main

Check build:

What's the status of build #123?

Configuration

appsettings.json

{
  "AzureDevOps": {
    "ServerUrl": "http://192.168.0.57/DefaultCollection/",
    "ProjectName": "Test001",
    "UseWindowsAuth": true,
    "TimeoutSeconds": 30
  }
}

Environment Variables (Override)

# Override PAT (switches to PAT auth)
$env:DEVOPS_PAT="your-token-here"

# Override server URL
$env:DEVOPS_SERVER_URL="http://different-server/Collection/"

# Override project
$env:DEVOPS_PROJECT="AnotherProject"

Development

Build

dotnet build

Run Tests

dotnet test

Run Locally

dotnet run --project src/AzureDevOpsMcp.Server

Architecture

  • MCP Protocol: stdio transport
  • Authentication: Windows Authentication or PAT
  • Azure DevOps Client: Official Microsoft libraries
  • Framework: .NET 10

Project Structure

AzureDevOpsMCP/
├── src/
│   └── AzureDevOpsMcp.Server/
│       ├── Configuration/       # Settings classes
│       ├── Connection/          # Azure DevOps connection
│       ├── Models/              # Data models
│       ├── Tools/               # MCP tool implementations
│       │   ├── WorkItems/       # Work item tools (12 tools)
│       │   ├── Git/             # Git tools (4 tools)
│       │   └── Pipelines/       # Pipeline tools (3 tools)
│       └── Program.cs           # Entry point
├── tests/
│   ├── AzureDevOpsMcp.Tests/           # Unit tests
│   └── AzureDevOpsMcp.IntegrationTests/ # Integration tests
├── deployment/                  # CI/CD configuration
│   └── azure-pipelines.yml
└── docs/
    └── tools.md                 # Tool reference

Troubleshooting

Connection Failed

  • Verify server URL in appsettings.json
  • Check network access to DevOps server
  • Ensure Windows Authentication is configured
  • Try accessing DevOps web UI to verify credentials

Project Not Found

  • Verify project name matches exactly (case-sensitive)
  • Check you have access to the project
  • Verify collection name in URL

Build Errors

  • Ensure .NET 10 SDK installed: dotnet --version
  • Restore packages: dotnet restore
  • Clean build: dotnet clean && dotnet build

License

MIT License

Contributing

Contributions welcome! See for guidelines.