mcp-azure-devops
An open-source Model Context Protocol (MCP) server for seamless integration with Azure DevOps.
Mission
To create a robust, open-source Model Context Protocol (MCP) server that provides seamless integration with Azure DevOps. This server will empower AI agents to interact with Azure DevOps projects, managing work items, wikis, and repositories, thereby streamlining development workflows.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Core Features
The MCP server will expose a set of tools to interact with Azure DevOps, categorized by area:
Work Item Management (CRUD)
create_work_item
(supports Epic, User Story, Task, Bug)get_work_item
(by ID)update_work_item
(by ID)delete_work_item
(by ID)search_work_items
(using WIQL - Work Item Query Language)
Wiki Management (CRUD)
create_wiki_page
get_wiki_page
(by path)update_wiki_page
(by path)delete_wiki_page
(by path)list_wiki_pages
Repository Management (Read-only)
list_repositories
list_files
(in a repository)get_file_content
Project Scoping
set_project_context
: A special tool to set the active project for subsequent commands.clear_project_context
: To revert to the organization-level scope.
Getting Started
This guide will walk you through setting up the mcp-azure-devops
server.
Prerequisites
- Python 3.10 or higher
pip
andvenv
for managing Python packages
Installation Steps
Clone the Repository:
git clone https://github.com/xrmghost/mcp-azure-devops.git cd mcp-azure-devops
Create and Activate a Virtual Environment:It's highly recommended to use a virtual environment to manage the project's dependencies.
# For Windows python -m venv .venv .\.venv\Scripts\activate # For macOS/Linux python3 -m venv .venv source .venv/bin/activate
Install Dependencies:Install the project and its dependencies in editable mode.
pip install -e .
Configuration
Generate an Azure DevOps Personal Access Token (PAT):
- Navigate to your Azure DevOps organization.
- Go to User settings > Personal Access Tokens.
- Click + New Token.
- Give your token a name (e.g.,
mcp-server-token
). - Select the organization.
- Set the expiration date.
- For the scopes, you will need to grant the following permissions at a minimum:
- Work Items: Read & write
- Wiki: Read & write
- Code: Read
- Click Create and copy the token immediately. You will not be able to see it again.
Configure the MCP Server in Cline:
- Open your
cline_mcp_settings.json
file. -
Note: The location of this file can vary. A common location on Windows is
C:\Users\<YourUsername>\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
. If you can't find it, you can search your user's home directory for the file. - Add a new entry for the
mcp-azure-devops
server. The command should bemcp-azure-devops
.
Here is an example configuration. You must use the full, absolute path to the
mcp-azure-devops.exe
executable created inside your virtual environment.{ "mcpServers": { "mcp-azure-devops": { "command": "C:\\path\\to\\your\\project\\mcp-azure-devops\\.venv\\Scripts\\mcp-azure-devops.exe", "args": [], "env": { "AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization", "AZURE_DEVOPS_PAT": "your-personal-access-token" }, "disabled": false, "autoApprove": [] } } }
- Replace
your-organization
with your Azure DevOps organization name andyour-personal-access-token
with the PAT you generated.
- Open your
Restart Cline:Restart your Cline application to load the new MCP server.
Acknowledgements
This project was inspired by the mcp-atlassian
server, which provides similar functionality for Jira and Confluence. You can find it here: https://github.com/pashpashpash/mcp-atlassian.