MCP Azure DevOps Server
# MCP Azure DevOps Server
> **⚠️ NOTICE: Official Server Available**
>
> **Please use the official Microsoft Azure DevOps MCP server instead:**
>
> **https://github.com/microsoft/azure-devops-mcp**
>
> This repository is no longer maintained. The official Microsoft server provides better support, ongoing maintenance, and the latest features.
---
A Model Context Protocol (MCP) server enabling AI assistants to interact with Azure DevOps services.
## Overview
This project implements a Model Context Protocol (MCP) server that allows AI assistants (like Claude) to interact with Azure DevOps, providing a bridge between natural language interactions and the Azure DevOps REST API.
## Features
Currently implemented:
### Work Item Management
- **Query Work Items**: Search for work items using WIQL queries
- **Get Work Item Details**: View complete work item information
- **Create Work Items**: Add new tasks, bugs, user stories, and other work item types
- **Update Work Items**: Modify existing work items' fields and properties
- **Add Comments**: Post comments on work items
- **View Comments**: Retrieve the comment history for a work item
- **Parent-Child Relationships**: Establish hierarchy between work items
### Project Management
- **Get Projects**: View all accessible projects in the organization
- **Get Teams**: List all teams within the organization
- **Team Members**: View team membership information
- **Team Area Paths**: Retrieve area paths assigned to teams
- **Team Iterations**: Access team iteration/sprint configurations
Planned features:
- **Pipeline Operations**: Query pipeline status and trigger new pipeline runs
- **Pull Request Handling**: Create, update, and review Pull Requests
- **Sprint Management**: Plan and manage sprints and iterations
- **Branch Policy Administration**: Configure and manage branch policies
## Getting Started
### Prerequisites
- Python 3.10+
- Azure DevOps account with appropriate permissions
- Personal Access Token (PAT) with necessary scopes for Azure DevOps API access
### Installation
```bash
# Clone the repository
git clone https://github.com/Vortiago/mcp-azure-devops.git
cd mcp-azure-devops
# Install in development mode
uv pip install -e ".[dev]"
# Install from PyPi
pip install mcp-azure-devops
```
### Configuration
Create a `.env` file in the project root with the following variables:
```
AZURE_DEVOPS_PAT=your_personal_access_token
AZURE_DEVOPS_ORGANIZATION_URL=https://your-organization.visualstudio.com or https://dev.azure.com/your-organisation
```
Note: Make sure to provide the full URL to your Azure DevOps organization.
### Running the Server
```bash
# Development mode with the MCP Inspector
mcp dev src/mcp_azure_devops/server.py
# Install in Claude Desktop
mcp install src/mcp_azure_devops/server.py --name "Azure DevOps Assistant"
```
## Usage Examples
### Query Work Items
```
Show me all active bugs assigned to me in the current sprint
```
### Create a Work Item
```
Create a user story in the ProjectX with the title "Implement user authentication" and assign it to john.doe@example.com
```
### Update a Work Item
```
Change the status of bug #1234 to "Resolved" and add a comment explaining the fix
```
### Team Management
```
Show me all the team members in the "Core Development" team in the "ProjectX" project
```
### View Project Structure
```
List all projects in my organization and show me the iterations for the Development team
```
## Development
The project is structured into feature modules, each implementing specific Azure DevOps capabilities:
- `features/work_items`: Work item management functionality
- `features/projects`: Project management capabilities
- `features/teams`: Team management features
- `utils`: Common utilities and client initialization
For more information on development, see the [CLAUDE.md](CLAUDE.md) file.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- Built with [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk)
- Uses [Azure DevOps Python API](https://github.com/microsoft/azure-devops-python-api)
TDQS
Scored across 21 tools
Most tools have clearly distinct purposes, such as create_work_item vs. update_work_item or get_work_item vs. query_work_items. However, there is some potential overlap between get_work_item_comments and add_work_item_comment, as both deal with comments, but their distinct actions (retrieve vs. add) help differentiate them. The tools generally target specific resources and actions, reducing confusion.
All tool names follow a consistent verb_noun pattern using snake_case, such as create_work_item, get_work_item, and update_work_item. The naming is predictable and readable throughout, with no deviations or mixed conventions, making it easy for agents to understand the tool's purpose from its name.
With 21 tools, the count is slightly high but reasonable for the Azure DevOps domain, which involves managing projects, teams, processes, and work items. It covers a broad scope without being excessive, though it might feel heavy compared to simpler servers. Each tool appears to serve a specific function, justifying its inclusion.
The tool set provides comprehensive coverage for Azure DevOps operations, including CRUD for work items (create, get, update, query), project and team management, process and template handling, and comment functionality. There are no obvious gaps; it supports full lifecycle management and essential workflows, ensuring agents can perform typical tasks without dead ends.