RainyCodeWizard/azure-devops-mcp-server
If you are the rightful owner of azure-devops-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Azure DevOps MCP Server integrates Azure DevOps services with Claude Desktop/Cline, enabling seamless interaction and automation.
Azure DevOps MCP Server
This Model Context Protocol (MCP) server provides integration with Azure DevOps, allowing Claude Desktop/Cline to interact with Azure DevOps services.
Prerequisites
- Node.js (v20 LTS or higher)
- npm (comes with Node.js)
- An MCP compatible client
- Azure DevOps account with access tokens
Installation
Installing via Smithery
To install Azure DevOps Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @RainyCodeWizard/azure-devops-mcp-server --client claude
Manual Installation
- Clone this repository:
git clone https://github.com/RainyCodeWizard/azure-devops-mcp-server.git
cd azure-devops-mcp-server
- Install dependencies:
npm install
- 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)
- Go to Azure DevOps and sign in
- Click on your profile picture in the top right
- Select "Security"
- Click "New Token"
- Give your token a name and select the required scopes:
Code (read, write)
- For Pull Request operationsWork Items (read, write)
- For Work Item managementBuild (read, execute)
- For Pipeline operationsWiki (read, write)
- For Wiki operationsProject and Team (read)
- For Project and Board information
- Copy the generated token
2. Configure MCP Settings for Client Apps
Add the server configuration to your Cline MCP settings file:
- For Cline VSCode extension:
%APPDATA%/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
- For Claude desktop app:
%LOCALAPPDATA%/Claude/claude_desktop_config.json
Add the following configuration to the mcpServers
object:
{
"mcpServers": {
"azure-devops": {
"command": "node",
"args": ["/absolute/path/to/azure-devops-server/build/index.js"],
"env": {
"AZURE_DEVOPS_ORG": "your-organization",
"AZURE_DEVOPS_PAT": "your-personal-access-token",
"AZURE_DEVOPS_PROJECT_ID": "your-project-id"
},
"disabled": false,
"autoApprove": []
}
}
}
Replace the following values:
/absolute/path/to/azure-devops-server
: The absolute path to where you cloned this repositoryyour-organization
: Your Azure DevOps organization nameyour-project-id
: Your Azure DevOps project IDyour-personal-access-token
: The PAT you generated in step 1
Available Tools
Work Items
get_work_item
: Get a work item by IDlist_work_items
: Query work items using WIQLcreate_work_item
: Create a new work item (Bug, Task, User Story)update_work_item
: Update an existing work item
Boards
get_boards
: Get available boards in the project
Git
list_repositories
: List all Git repositories in the project- Returns: List of repositories with ID, name, default branch, size, and URLs
get_file
: Get the content of a specific file from the repository- Parameters:
repositoryId
: ID of the repositorypath
: Path to the file in the repository (e.g., "src/index.ts")branch
: Branch name to get the file from (optional, defaults to main)version
: Specific version (commit ID) to get the file from (optional)
- Returns: File content with metadata including:
- File path
- File size
- File content
- Last commit ID
- Last modified date
- Parameters:
compare_branches
: Compare two branches and get commit history between them- Parameters:
repositoryId
: ID of the repository to compare branches insourceBranch
: Source branch name (e.g., "develop")targetBranch
: Target branch name (e.g., "main")maxCommits
: Maximum number of commits to return (optional, defaults to 100)historyMode
: Git history mode to use (optional, defaults to "simplified")simplified
: Standard git log behavior (default)first-parent
: Only show first parent of merge commitsfull
: Show all commits including merge commitsfull-simplify-merges
: Show all commits but simplify merge history
includeDetails
: Include detailed commit information (optional, defaults to false)- When true, includes:
- Full commit message
- List of changed files with:
- File path
- Change type (add, edit, delete)
- Number of lines added/deleted
- When true, includes:
- Returns: List of commits with commit ID, author, date, and message
- Parameters:
Pipelines
list_pipelines
: List all pipelines in the projecttrigger_pipeline
: Execute a pipeline
Pull Requests
list_pull_requests
: List pull requestscreate_pull_request
: Create a new pull requestupdate_pull_request
: Update a pull requestget_pull_request
: Get pull request details
Wiki
get_wikis
: List all wikis in the projectget_wiki_page
: Get a wiki pagecreate_wiki
: Create a new wikiupdate_wiki_page
: Create or update a wiki page
Projects
list_projects
: List all projects in the Azure DevOps organization
Verification
- Restart Cline (or VSCode) after adding the configuration
- The Azure DevOps MCP server should now be listed in Cline's capabilities
- You can verify the installation using the MCP Inspector:
npm run inspector
Troubleshooting
-
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
-
If you get authentication errors:
- Verify your PAT hasn't expired
- Ensure the PAT has all necessary scopes
- Double-check the organization and project ID
-
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:
- Make your changes in the
src
directory - Run
npm run watch
for development - Build with
npm run build
when ready - Test using the inspector:
npm run inspector
License
MIT License - See for details