# MCP Server for Azure DevOps
A comprehensive [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that provides AI assistants with full access to Azure DevOps services.
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
## π Quick Install
```bash
# Clone the repository
git clone https://github.com/sepal7/mcp-ado.git
cd mcp-ado
# Install dependencies
npm install
# Create .env file
cp .env.example .env
# Edit .env with your Azure DevOps credentials
# Test the connection
npm run test-connection
```
Then configure your IDE (see [Installation](#installation) section below).
## π¦ Available Tools (25+)
### Wiki (3 tools)
- `get_wiki_page` - Retrieve wiki page by ID or path
- `list_wiki_pages` - List all wiki pages in a project
- `search_wiki_pages` - Search wiki pages by content or title
### Repositories (5 tools)
- `list_repos` - List all repositories
- `get_repo` - Get repository details
- `get_repo_file` - Get file content from repository
- `list_repo_branches` - List branches in a repository
- `search_code` - Search code across repositories
### Work Items (5 tools)
- `get_work_item` - Get work item by ID
- `get_work_items` - Get multiple work items
- `query_work_items` - Query work items using WIQL
- `create_work_item` - Create new work item
- `update_work_item` - Update existing work item
### Pull Requests (3 tools)
- `list_pull_requests` - List pull requests
- `get_pull_request` - Get pull request details
- `get_pr_comments` - Get PR review comments
### Builds & Pipelines (4 tools)
- `list_builds` - List recent builds
- `get_build` - Get build details
- `list_pipelines` - List pipelines
- `get_pipeline_run` - Get pipeline run details
### Releases (2 tools)
- `list_releases` - List releases
- `get_release` - Get release details
### Test Plans (2 tools)
- `list_test_plans` - List test plans
- `get_test_plan` - Get test plan details
### Generic (1 tool)
- `ado_api_call` - Make any Azure DevOps REST API call
## π Comparison with Similar Projects
| Feature | This Project | Other MCP ADO Servers |
|---------|-------------|----------------------|
| **Total Tools** | 25+ | 5-15 |
| **Wiki Support** | β
Yes (3 tools) | β Limited/None |
| **Multi-Project** | β
Built-in | β Single project |
| **WIQL Queries** | β
Yes | β No |
| **Generic API Tool** | β
Yes | β No |
| **Helper Scripts** | β
PAT management | β No |
| **Documentation** | β
Comprehensive | β οΈ Basic |
**Key Differentiators:**
- Most comprehensive tool coverage (25+ vs 5-15)
- Multi-project support without reconfiguration
- Advanced features (WIQL queries, generic API tool)
- Better developer experience (helper scripts, comprehensive docs)
## β¨ Features
- **25+ MCP Tools** covering all major Azure DevOps services
- **Multi-Project Support** - Access any project in your organization without reconfiguration
- **WIQL Query Support** - Advanced work item querying using Work Item Query Language
- **Generic API Tool** - Make any Azure DevOps REST API call for future-proof extensibility
- **Helper Scripts** - Automated PAT token management and connection testing
- **Comprehensive Documentation** - Step-by-step guides for Cursor, VS Code, and deployment
## π Quick Start
### Prerequisites
- Node.js 18+ installed
- Azure DevOps Personal Access Token (PAT) with appropriate permissions
- VS Code with GitHub Copilot Chat extension, VS Code Insiders, or Cursor IDE
### Installation
#### π¦ Install from Source
```bash
# Clone the repository
git clone https://github.com/sepal7/mcp-ado.git
cd mcp-ado
# Install dependencies
npm install
# Create .env file
cp .env.example .env
# Edit .env with your values:
# AZURE_DEVOPS_ORG=YourOrganization
# AZURE_DEVOPS_PROJECT=YourProject
# AZURE_DEVOPS_PAT=your_pat_token_here
# Test the connection
npm run test-connection
```
Then configure manually (see detailed guides below).
For detailed setup instructions, see:
- [Cursor Setup Guide](docs/02-CURSOR-SETUP.md)
- [VS Code Setup Guide](docs/03-VSCODE-SETUP.md)
## π― Usage Examples
Once configured, use natural language to interact with Azure DevOps:
**Default Project:**
- "List all repositories"
- "Get work item #12345"
- "Show me pull requests"
**Other Projects:**
- "List repositories in the [ProjectName] project"
- "Get work items from the [ProjectName] project"
All tools support an optional `project` parameter to access any project in your organization.
## βοΈ Configuration
### Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| `AZURE_DEVOPS_ORG` | Yes | Your Azure DevOps organization name |
| `AZURE_DEVOPS_PROJECT` | Yes | Default project name |
| `AZURE_DEVOPS_PAT` | Yes | Personal Access Token |
| `APPLICATIONINSIGHTS_CONNECTION_STRING` | No | Optional telemetry connection string |
### Multi-Project Support
All MCP tools support an optional `project` parameter. When using Cursor or VS Code, mention the project name in your request:
```
"List repositories in the [ProjectName] project"
```
The AI assistant automatically extracts the project name and passes it to the MCP tool.
## π Project Structure
```
mcp-ado/
βββ server.js # Main MCP server implementation
βββ package.json # Node.js dependencies and scripts
βββ .env.example # Environment variables template
βββ README.md # This file
β
βββ docs/ # Documentation
β βββ 01-SETUP.md # General setup guide
β βββ 02-CURSOR-SETUP.md # Cursor IDE setup
β βββ 03-VSCODE-SETUP.md # VS Code setup
β βββ 04-PAT-MANAGEMENT.md # PAT token management
β βββ 05-RESTART-SERVER.md # How to restart server
β βββ 07-CHANGELOG.md # Version history
β βββ 08-ONPREMISE-WINDOWS-IIS.md # On-premise deployment
β
βββ scripts/ # Utility scripts
β βββ test.js # Basic server tests
β βββ test-connection.js # Azure DevOps connection tester
β βββ update-pat.ps1 # PAT token updater script
β
βββ azure/ # Azure deployment files
βββ README.md # Azure deployment guide
βββ Dockerfile # Container image definition
βββ azure-deploy.bicep # Infrastructure as code
```
## π Documentation
- [Setup Guide](docs/01-SETUP.md) - General setup and configuration
- [Cursor Setup](docs/02-CURSOR-SETUP.md) - Cursor IDE configuration
- [VS Code Setup](docs/03-VSCODE-SETUP.md) - VS Code + GitHub Copilot setup
- [PAT Management](docs/04-PAT-MANAGEMENT.md) - Managing Personal Access Tokens
- [Changelog](docs/07-CHANGELOG.md) - Version history
## π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## π License
MIT License - see LICENSE file for details
## π Credits
- Enhanced with features from [Microsoft's official Azure DevOps MCP Server](https://github.com/mcp/microsoft/azure-devops-mcp)
---
**Made with β€οΈ for the MCP community**