Azure DevOps MCP Server
Enables AI agents to query and interact with Azure DevOps data, including work items, projects, ticket statistics, and backlog information through natural language commands.
README
๐ Azure DevOps MCP Server
A custom Model Context Protocol (MCP) server built with NestJS, enabling AI agents (like Claude Desktop) to securely query Azure DevOps data such as work items, projects, and ticket statistics.
๐ Overview
This project exposes Azure DevOps data through a standards-based MCP server, allowing any MCP-compatible AI agent to perform real-time queries such as:
- ๐ List all projects in the organization
- ๐ Get count of created / active / closed work items
- ๐งฉ Fetch ticket details
- ๐ Query backlog items or sprints
- ๐๏ธ Extend Azure DevOps automation through AI
It supports two modes:
1๏ธโฃ STDIO MCP Server
Tested locally using the MCP Inspector (not using a direct Claude Desktop STDIO client).
2๏ธโฃ HTTP MCP Server
Allows remote access using MCP-over-HTTP.
๐๏ธ Architecture
NestJS Application
โ
โโโ MCP Module
โ โโโ Tool Definitions
โ โโโ STDIO Transport
โ โโโ HTTP Transport
โ
โโโ Azure DevOps Service
โ โโโ Work Item API
โ โโโ Project API
โ
โโโ Utilities
โโโ MCP Message Handlers
โโโ Logger
โจ Features
โ๏ธ Custom Tools for Azure DevOps
Tools exposed to MCP clients:
| Tool Name | Description |
|---|---|
list_projects |
Returns all Azure DevOps projects |
count_tickets |
Returns summary of created/active/resolved tickets |
get_workitem |
Fetch details of a single work item |
search_workitems |
Query work items based on filters |
โ๏ธ STDIO Transport (MCP Inspector)
This project was tested locally using the MCP Inspector, which acts as an MCP client that connects over STDIO to your server.
Run the server so the inspector can connect over STDIO:
node dist/main.js
Start the inspector with:
npx @modelcontextprotocol/inspector
When prompted in the inspector, choose the STDIO connection and point it at the running process (the inspector will spawn or attach to the process as configured).
โ๏ธ HTTP MCP Support
Start server:
npm run start:prod
You can POST MCP-style requests:
POST http://localhost:3000/mcp
๐ง Installation
git clone https://github.com/saktheeswar/Azure_Devops_MCP_Server.git
cd azure-devops-mcp
npm install
npm run build
๐ Environment Variables
Create .env:
BASE_URL=url
AUSER_NAME=your-personal-access-token
ADO_PAT=your-default-project
โถ๏ธ Running the Server
Run in STDIO mode (for MCP Inspector)
node dist/main.js
Run in HTTP mode
npm run start:prod
๐งช Testing with MCP Inspector
(You will explain this with screenshots in your blog.)
npx @modelcontextprotocol/inspector
Then connect using STDIO:
node dist/main.js
๐ป Code Walkthrough
๐ MCP Server Setup
const server = new Server({
name: "azure-devops-mcp",
version: "1.0.0",
tools: {
list_projects: { ... },
count_tickets: { ... }
}
});
๐ Azure DevOps API Integration
async getProjects() {
const url = `${this.baseUrl}/projects?api-version=7.0`;
return this.http.get(url, this.headers);
}
๐ STDIO Bootstrap
bootstrapStdio(server);
๐ HTTP Controller
@Post('/mcp')
handleMcp(@Body() body) {
return this.mcpHttpService.process(body);
}
๐ Example MCP Tool Call
{
"method": "tools/list_projects",
"params": {}
}
Response:
{
"projects": [
{ "name": "Frontend" },
{ "name": "Backend" },
{ "name": "Infrastructure" }
]
}
๐งฉ Use Cases
For Developers
- Query Azure DevOps without opening the UI
- Get ticket summaries instantly
- Automate repetitive DevOps activities
For AI Assistants
- Smart sprint planning
- Ticket prioritization
- Automated status reporting
For Teams
- Faster decision making
- AI-powered insights
๐ฅ Future Enhancements
- Create/Update work items using AI
- Integration with Release Pipelines
- Sprint burndown insights
- PR and Repository analytics
๐ Screenshots (Add your own)
- Claude Desktop working
- MCP Inspector connected
- Tool response logs
๐งโ๐ป Author
Saktheeswaran M AI Engineer & Full-Stack Developer
๐ Source Code
๐ GitHub Repository: (https://github.com/saktheeswar/Azure_Devops_MCP_Server)
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.
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.
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.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
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.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
E2B
Using MCP to run code via e2b.
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.
Neon Database
MCP server for interacting with Neon Management API and databases