Skip to main content
Glama
saktheeswar
by saktheeswar

๐Ÿš€ 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)

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/saktheeswar/Azure_Devops_MCP_Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server