azure-devops-release-mcp
v1.0.6
Published
MCP server for analyzing Azure DevOps classic release pipelines
Downloads
336
Maintainers
Readme
azure-devops-release-mcp
MCP server for analyzing Azure DevOps classic release pipelines via the VSRM REST API (7.1).
Complements the official @azure-devops/mcp which does not cover classic releases.
Tools
| Tool | Description |
|---|---|
| list_release_definitions | List classic release definitions in a project |
| get_release_definition | Get full definition details (stages, artifacts, triggers, approvals) |
| list_releases | List releases with filters (definition, status, date range) |
| get_release | Get full release details (environments, deployment steps, timing) |
| compare_environments | Compare deployed versions across environments |
Installation
This package is published to a private Azure Artifacts npm feed. It is only accessible to members of the DEPTHCH organisation.
1. Configure npm registry
Add a .npmrc file in your user profile (~/.npmrc) or in the project consuming the MCP:
registry=https://pkgs.dev.azure.com/DEPTHCH/MCP/_packaging/npm-internal/npm/registry/
always-auth=true2. Authenticate
Install the Azure DevOps npm auth helper and generate your credentials:
npm install -g vsts-npm-auth
vsts-npm-auth -config .npmrcThis will open a browser window for Azure DevOps authentication and store tokens in your user-level
.npmrc.
3. Install the package
npm install -g azure-devops-release-mcpDevelopment (from source)
npm install
npm run buildPublishing a new version
# Bump version in package.json, then:
npm publishThe .npmrc at the project root already points to the npm-internal feed.
Authentication
Supports the same authentication methods as the official Azure DevOps MCP:
| Mode | Flag | Description |
|---|---|---|
| Interactive (default) | -a interactive | Browser-based MSAL login with device code flow |
| PAT | -a envvar | Personal Access Token via ADO_MCP_AUTH_TOKEN env var |
| Azure CLI | -a azcli | Uses az login credentials |
Usage
CLI
# Interactive auth (opens browser)
node dist/index.js myorg
# PAT auth
ADO_MCP_AUTH_TOKEN=your-pat node dist/index.js myorg -a envvar
# Azure CLI auth
node dist/index.js myorg -a azcli
# Multi-tenant
node dist/index.js myorg -a interactive -t your-tenant-idVS Code MCP Configuration
Once authenticated to the feed (see Installation above), add to .vscode/mcp.json:
{
"inputs": [
{
"id": "ado_org",
"type": "promptString",
"description": "Azure DevOps organization name"
}
],
"servers": {
"azure-devops-release": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"azure-devops-release-mcp",
"${input:ado_org}",
"-a",
"interactive"
],
"env": {
"LOG_LEVEL": "info"
}
}
}
}Note:
npxwill download the package from the private feed as long as the user's~/.npmrcis configured and authenticated.
Claude Desktop Configuration
Add to claude_desktop_config.json:
{
"mcpServers": {
"azure-devops-release": {
"command": "node",
"args": ["/path/to/dist/index.js", "myorg", "-a", "envvar"],
"env": {
"ADO_MCP_AUTH_TOKEN": "your-pat-here"
}
}
}
}Environment Variables
| Variable | Description |
|---|---|
| ADO_MCP_AUTH_TOKEN | Personal Access Token (required for -a envvar) |
| LOG_LEVEL | Logging level: debug, info, warn, error (default: info) |
Required PAT Scopes
When using PAT authentication, the token needs the Release (Read) scope (vso.release).
Development
# Run in development mode (tsx, no build needed)
npm run dev -- myorg -a envvar
# Build
npm run build
# Run built version
npm start -- myorg -a envvar