ADO MCP Server
Connects Azure DevOps work items to Claude Code via MCP, enabling fetching, listing, updating tickets and automating PR creation.
README
ADO MCP Server — Azure DevOps × Claude Code Bridge
Connects Azure DevOps work items to Claude Code via the MCP protocol.
Type work on task #123 in Claude Code → it fetches the full ticket → writes code → opens a PR.
Project Structure
ado-mcp-server/
├── src/
│ ├── index.js # MCP server entry point (4 tools exposed)
│ ├── ado-client.js # Azure DevOps HTTP client (PAT auth)
│ └── tools/
│ ├── get-ticket.js # ado_get_work_item
│ ├── list-tickets.js # ado_list_work_items
│ └── update-ticket.js # ado_update_work_item_state + ado_add_comment
├── CLAUDE.md # ← Copy this to your GitHub repo root!
├── .env # Your secrets (never commit this)
├── .env.example # Template
└── package.json
Setup (One-Time)
1. Configure your credentials
# .env
ADO_ORG=your-actual-org-name # found in: https://dev.azure.com/{ORG}
ADO_PROJECT=your-actual-project-name
ADO_PAT=xxxxxxxxxxxxxxxxxxxxxxxxxxxx # from ADO → User Settings → PATs
Create a PAT in Azure DevOps:
- Go to
https://dev.azure.com/{your-org} - Click your avatar → Personal Access Tokens
- New Token → Name it
claude-mcp - Scopes:
Work Items → Read & Write - Copy the token into
.env
2. Install dependencies
cd E:\MCP\ado-mcp-server
npm install
3. Register with Claude Code CLI
claude mcp add ado-server node E:\MCP\ado-mcp-server\src\index.js
Or manually add to %APPDATA%\Claude\claude_desktop_config.json:
{
"mcpServers": {
"ado-server": {
"command": "node",
"args": ["E:\\MCP\\ado-mcp-server\\src\\index.js"]
}
}
}
4. Install GitHub CLI (for PR creation)
winget install GitHub.cli
gh auth login
5. Copy CLAUDE.md to your GitHub repo root
copy E:\MCP\ado-mcp-server\CLAUDE.md C:\path\to\your-github-repo\CLAUDE.md
Daily Usage
# Open Claude Code in your repo
cd C:\path\to\your-github-repo
claude
Then just type any of these:
> work on task #123
> implement PBI 456
> what's in the current sprint?
> show me unassigned bugs
> list tasks assigned to me
Claude will automatically:
- Fetch the full ticket from Azure DevOps
- Mark it as "In Progress"
- Create a feature branch
- Write the code following the acceptance criteria
- Commit and push
- Create a PR on GitHub
- Post the PR link as a comment on the ADO ticket
Available MCP Tools
| Tool | Description | Example Prompt |
|---|---|---|
ado_get_work_item |
Full ticket details | "work on task #123" |
ado_list_work_items |
List/filter tickets | "show sprint backlog" |
ado_update_work_item_state |
Change ticket state | auto-called when starting/completing |
ado_add_comment |
Add comment to ticket | auto-called after PR creation |
Troubleshooting
"Missing required environment variables"
→ Make sure .env exists and has all 3 values: ADO_ORG, ADO_PROJECT, ADO_PAT
"401 Unauthorized"
→ Your PAT may be expired or missing Work Items (Read & Write) scope. Regenerate it.
"Tool not found in Claude Code"
→ Run claude mcp list to verify the server is registered. Re-run the claude mcp add command.
PR creation fails
→ Run gh auth status — make sure GitHub CLI is authenticated.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.