Azure DevOps MCP Server

Azure DevOps MCP Server

Enables integration with Azure DevOps services, allowing interaction with work items, pull requests, pipelines, wikis, boards, and projects through natural language in Cline and other MCP clients.

Category
Visit Server

README

Azure DevOps MCP (ADO-MCP-Server) for Cline

smithery badge

This Model Context Protocol (MCP) server provides integration with Azure DevOps, allowing Cline and Roo Code to interact with Azure DevOps services.

The project repository is located at: https://github.com/cakriwut/ado-mcp-server

Prerequisites

  • Node.js (v20 LTS or higher)
  • npm (comes with Node.js)
  • A Cline installation
  • Azure DevOps account with access tokens

Installation

Installing via Smithery

To install Azure DevOps MCP Server (ADO-MCP-Server) automatically via Smithery:

npx -y @smithery/cli install @cakriwut/ado-mcp-server --client claude

Manual Installation

  1. Clone this repository:
git clone https://github.com/cakriwut/ado-mcp-server.git
cd ado-mcp-server
  1. Install dependencies:
npm install
  1. Build the server:
npm run build

Note: The build output (build/ directory) is not included in version control. You must run the build command after cloning the repository.

Configuration

1. Get Azure DevOps Personal Access Token (PAT)

  1. Go to Azure DevOps and sign in
  2. Click on your profile picture in the top right
  3. Select "Security"
  4. Click "New Token"
  5. Give your token a name and select the required scopes:
    • Code (read, write) - For Pull Request operations
    • Work Items (read, write) - For Work Item management
    • Build (read, execute) - For Pipeline operations
    • Wiki (read, write) - For Wiki operations
    • Project and Team (read) - For Project and Board information
  6. Copy the generated token

2. Configure MCP Settings

Add the server configuration to your MCP settings file:

For Roo Code (VSCode extension)

Configuration file location: %APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json

For Cline Desktop App

Configuration file location: %LOCALAPPDATA%/Claude/claude_desktop_config.json

Add the following configuration to the mcpServers object:

{
  "mcpServers": {
    "azure-devops-mcp-server": {
      "command": "node",
      "args": ["C:/absolute/path/to/ado-mcp-server/build/index.js"],
      "env": {
        "AZURE_DEVOPS_ORG": "your-organization",
        "AZURE_DEVOPS_PAT": "your-personal-access-token",
        "AZURE_DEVOPS_PROJECT": "your-project-name"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Replace the following values:

  • C:/absolute/path/to/ado-mcp-server: The absolute path to where you cloned this repository (use forward slashes)
  • your-organization: Your Azure DevOps organization name
  • your-project-name: Your Azure DevOps project name
  • your-personal-access-token: The PAT you generated in step 1

Important Notes for Windows Users

  • Use forward slashes (/) in the path, not backslashes ()
  • Provide the full absolute path to the build/index.js file
  • Restart Roo Code or Cline after making changes to the configuration

Available Tools

Work Items

  • get_work_item: Get a work item by ID
  • list_work_items: Query work items using WIQL
  • create_work_item: Create a new work item (Bug, Task, User Story)
  • update_work_item: Update an existing work item
  • search_work_items: Search for work items using text search
  • add_work_item_comment: Add a comment to a work item
  • get_work_item_comments: Get comments from a work item

Boards

  • get_boards: Get available boards in the project

Pipelines

  • list_pipelines: List all pipelines in the project
  • trigger_pipeline: Execute a pipeline

Pull Requests

  • list_pull_requests: List pull requests
  • create_pull_request: Create a new pull request
  • update_pull_request: Update a pull request

Wiki

  • get_wikis: List all wikis in the project
  • list_wiki_pages: List pages in a wiki
  • get_wiki_page: Get a wiki page by path
  • create_wiki: Create a new wiki
  • update_wiki_page: Create or update a wiki page
  • create_wiki_page: Create a new wiki page
  • search_wiki_page: Search for pages in a wiki by text

Projects

  • list_projects: List all projects in the Azure DevOps organization

Command Line Interface (CLI)

ADO-MCP-Server includes a command-line interface that allows you to interact with Azure DevOps directly from the terminal. The CLI is available as azure-devops-cli after building the project.

Environment Setup

Before using the CLI, set up your environment variables:

# PowerShell
$env:AZURE_DEVOPS_ORG = "your-organization"
$env:AZURE_DEVOPS_PROJECT = "your-project-name"
$env:AZURE_DEVOPS_PAT = "your-personal-access-token"

Common CLI Commands

Work Items

# Get a work item by ID
node .\build\cli\index.js work-item get -i 42

# Search for work items
node .\build\cli\index.js work-item search -s "bug"

# Create a new task
node .\build\cli\index.js work-item create -t "Task" -d '[{"op":"add","path":"/fields/System.Title","value":"New Task"}]'

# Add a comment to a work item
node .\build\cli\index.js work-item add-comment -i 42 -t "This is a comment added via CLI"

# Get comments from a work item
node .\build\cli\index.js work-item get-comments -i 42

Wiki

# List all wikis in the project
node .\build\cli\index.js wiki list

# Get a wiki page
node .\build\cli\index.js wiki page -w <wikiIdentifier> -p "/path/to/page" --include-content

# Search wiki pages
node .\build\cli\index.js wiki search -w <wikiIdentifier> -s "search term"

For more detailed CLI usage examples, see docs/wiki-cli-usage.md and docs/command-list.md.

Verification

  1. Restart Cline (or VSCode) after adding the configuration
  2. The Azure DevOps MCP server should now be listed in Cline's capabilities
  3. You can verify the installation using the MCP Inspector:
npm run inspector

Troubleshooting

  1. If the server isn't connecting:

    • Check that the path in your MCP settings is correct
    • Verify your Azure DevOps credentials
    • Check the Cline logs for any error messages
  2. If you get authentication errors:

    • Verify your PAT hasn't expired
    • Ensure the PAT has all necessary scopes
    • Double-check the organization and project names
  3. For other issues:

    • Run the inspector tool to verify the server is working correctly
    • Check the server logs for any error messages

Development

To modify or extend the server:

  1. Make your changes in the src directory
  2. Run npm run watch for development
  3. Build with npm run build when ready
  4. Test using the inspector: npm run inspector

Testing

The project includes test scripts for all MCP Server Commands. These tests help verify that the server can communicate with Azure DevOps correctly.

Prerequisites for Testing

  1. Make sure you have a valid .env file in the root directory with the following variables:

    AZURE_DEVOPS_ORG=your-organization
    AZURE_DEVOPS_PROJECT=your-project
    AZURE_DEVOPS_PAT=your-personal-access-token
    
  2. Install dependencies:

    npm install
    

Running Tests

Quick Tests

For a quick test of your Azure DevOps connection:

npm run test:quick

This runs a simple JavaScript test that only tests the list_projects command.

For a more comprehensive test of all MCP Server Commands:

npm run test:simple

This runs a simple JavaScript test that tests all the main commands in one file.

TypeScript Tests

To run all TypeScript tests:

npm test

To run tests for specific command categories:

npm run test:work-item     # Test Work Item Tools
npm run test:board         # Test Board Tools
npm run test:wiki          # Test Wiki Tools
npm run test:project       # Test Project Tools
npm run test:pipeline      # Test Pipeline Tools
npm run test:pull-request  # Test Pull Request Tools

See the tests/README.md file for more information about the tests.

License

MIT License - See LICENSE for details

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured