Provides tools for managing Git repositories in Azure DevOps, including listing repositories, branches, commits, file contents, and creating or deleting branches.
Enables GitHub Copilot in VS Code to interact with Azure DevOps through natural language queries for managing work items, repositories, and branches.
Azure DevOps MCP Server
A Model Context Protocol (MCP) server that provides tools for interacting with Azure DevOps. This server enables AI assistants to manage work items, repositories, branches, commits, and more.
Features
Work Items: Query, create, update, delete work items and add comments
Git Repositories: List repos, branches, commits, and file contents
Branch Management: Create and delete branches
Project Information: List projects and get project details
Prerequisites
Node.js 18 or higher
An Azure DevOps organization
A Personal Access Token (PAT) with appropriate permissions
Installation
Configuration
Environment Variables
Variable | Required | Description |
| Yes | Personal Access Token |
| Yes | Organization URL (e.g., |
| No | Default project name |
Generating a Personal Access Token
Go to Azure DevOps → User Settings → Personal Access Tokens
Click "New Token"
Configure the following scopes:
Work Items: Read & Write
Code: Read & Write
Project and Team: Read
Copy the generated token
Claude Desktop Configuration
Add to your claude_desktop_config.json (typically located at %APPDATA%\Claude\claude_desktop_config.json on Windows or ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
VS Code with GitHub Copilot Configuration
To use this MCP server with GitHub Copilot in VS Code:
Enable MCP support in VS Code (requires GitHub Copilot Chat extension):
Open VS Code Settings (Ctrl+, or Cmd+,)
Search for "mcp"
Enable
GitHub > Copilot > Chat > MCP: Enabled
Configure the MCP server by adding to your VS Code
settings.json:
Alternatively, create a .vscode/mcp.json file in your workspace:
Restart VS Code after configuration changes.
Use the tools in GitHub Copilot Chat by asking questions like:
"List all active bugs in Azure DevOps"
"Create a new task titled 'Fix login bug'"
"Show me the branches in the main repository"
Note: MCP support in GitHub Copilot requires the latest version of the GitHub Copilot Chat extension. If you don't see MCP settings, update your extension.
Implementation Status
This is an MVP implementation covering 20 of the 100 tools defined in the full specification.
Implemented
Category | Tools | Status |
Work Items (Core) | 7 | ✅ Complete |
Git Repositories | 10 | ✅ Complete |
Projects | 2 | ✅ Complete |
Users | 1 | ✅ Complete |
Not Yet Implemented
Category | Tools | Description |
Work Item Linking | 3 | link_work_items, remove_work_item_link, get_linked_work_items |
Work Item Attachments | 4 | add/remove attachments, list attachments |
Boards | 5 | get boards, columns, swimlanes, move cards |
Teams & Iterations | 5 | list_teams, get_team_members, iterations, area_paths |
Pull Requests | 11 | Full PR lifecycle, reviewers, comments, merging |
Pipelines | 7 | list/run/cancel pipelines, get logs |
Builds (Classic) | 6 | list/queue/cancel builds, get logs |
Releases | 9 | release definitions, deployments, approvals |
Wiki | 7 | wiki pages CRUD |
Test Plans | 7 | test plans, suites, cases, runs, results |
Artifacts | 5 | feeds and packages |
Service Connections | 2 | list and get service endpoints |
Variable Groups | 2 | list and get variable groups |
Users (Extended) | 2 | search_users, get_user |
Notifications | 1 | list_subscriptions |
Dashboards | 2 | list and get dashboards |
Branch Policies | 2 | list and get policies |
Total: 20 implemented / 100 specified
Available Tools
Work Items
Tool | Description |
| Query work items using WIQL |
| Get full details of a work item |
| Create a new work item |
| Update an existing work item |
| Delete or recycle a work item |
| Add a comment to a work item |
| Search work items by keyword |
Git
Tool | Description |
| List all repositories in a project |
| Get repository details |
| List branches in a repository |
| Get branch details with latest commit |
| List commits in a repository |
| Get commit details with file changes |
| Get content of a file |
| List files in a repository path |
| Create a new branch |
| Delete a branch |
Projects
Tool | Description |
| List all projects in the organization |
| Get project details |
| Get authenticated user info |
Example Usage
Query Active Bugs
Create a Task
List Repository Branches
Development
Troubleshooting
Common PAT Issues
401 Unauthorized: PAT may be expired or invalid
403 Forbidden: PAT lacks required scope permissions
404 Not Found: Project or resource doesn't exist, or PAT can't access it
Connection Issues
Verify
ADO_ORG_URLis correct (should behttps://dev.azure.com/orgname)Ensure PAT hasn't expired
Check that PAT has access to the target project
License
MIT