ado-mcp-server
The Azure DevOps MCP Server integrates Azure DevOps services with applications like Cline and Roo Code, offering extensive capabilities for managing work items, pipelines, and wikis. It features a command-line interface for executing various Azure DevOps operations directly from the terminal.
Azure DevOps MCP (ADO-MCP-Server) for Cline
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
- Clone this repository:
git clone https://github.com/cakriwut/ado-mcp-server.git
cd ado-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
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 nameyour-project-name
: Your Azure DevOps project nameyour-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 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 itemsearch_work_items
: Search for work items using text searchadd_work_item_comment
: Add a comment to a work itemget_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 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 request
Wiki
get_wikis
: List all wikis in the projectlist_wiki_pages
: List pages in a wikiget_wiki_page
: Get a wiki page by pathcreate_wiki
: Create a new wikiupdate_wiki_page
: Create or update a wiki pagecreate_wiki_page
: Create a new wiki pagesearch_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 and .
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 names
-
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
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
-
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
-
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 file for more information about the tests.
License
MIT License - See for details