azure-devops MCP Server
The Azure DevOps MCP Server enables AI assistants to interact with Azure DevOps resources through the following operations:
Work Items: Create, list, and get work items with filtering capabilities by type, state, or assigned user.
Pull Requests: Create, list, get details, comment on, and fetch diffs for pull requests.
Wiki Pages: Create and edit wiki pages.
Projects: List all accessible projects and get details of specific projects.
Implemented using TypeScript, offering type-safe development of MCP server components
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@azure-devops MCP Server list active pull requests in the repository"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Azure DevOps MCP Server
An MCP (Model Context Protocol) server that provides integration with Azure DevOps, allowing AI assistants to interact with Azure DevOps work items, pull requests, and wikis.
Features
Work Items Management (create, list, get)
Pull Request Operations (create, list, get, comment, diff)
Wiki Page Management (create, edit)
Related MCP server: image-reader MCP Server
Setup
Install dependencies:
npm installConfigure environment variables (create a .env file):
AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-org
AZURE_DEVOPS_PAT=your-personal-access-token
AZURE_DEVOPS_PROJECT=default-project
AZURE_DEVOPS_REPOSITORY=default-repoBuild the server:
npm run buildInstallation
Add the server configuration to your MCP settings:
For VSCode
On macOS/Linux
Add to ~/.vscode/cline_mcp_settings.json or the Cursor/Roo equivalent:
{
"mcpServers": {
"azure-devops": {
"command": "node",
"args": ["/path/to/azure-devops-mcp/build/index.js"],
"env": {
"AZURE_DEVOPS_ORG_URL": "your-org-url",
"AZURE_DEVOPS_PAT": "your-pat",
"AZURE_DEVOPS_PROJECT": "your-project",
"AZURE_DEVOPS_REPOSITORY": "your-repo"
},
"disabled": false,
"autoApprove": []
}
}
}On Windows
Add to %USERPROFILE%\.vscode\cline_mcp_settings.json or the Cursor/Roo equivalent:
{
"mcpServers": {
"azure-devops": {
"command": "node",
"args": ["C:/path/to/azure-devops-mcp/build/index.js"],
"env": {
"AZURE_DEVOPS_ORG_URL": "your-org-url",
"AZURE_DEVOPS_PAT": "your-pat",
"AZURE_DEVOPS_PROJECT": "your-project",
"AZURE_DEVOPS_REPOSITORY": "your-repo"
},
"disabled": false,
"autoApprove": []
}
}
}Available Tools
Work Items
list_work_items
Lists work items in a project.
{
"project": string, // Required
"types"?: string[], // Optional: Filter by work item types
"states"?: string[], // Optional: Filter by states
"assignedTo"?: string // Optional: Filter by assigned user
}get_work_item
Get details of a specific work item.
{
"project": string, // Required
"id": number // Required: Work item ID
}create_work_item
Create a new work item.
{
"project": string, // Required
"type": string, // Required: e.g., "Task", "Bug"
"title": string, // Required
"description"?: string, // Optional
"assignedTo"?: string // Optional
}Pull Requests
list_pull_requests
List pull requests in a repository.
{
"status"?: "active" | "completed" | "abandoned" // Optional
}get_pull_request
Get details of a specific pull request.
{
"pullRequestId": number // Required
}create_pull_request
Create a new pull request.
{
"title": string, // Required
"description": string, // Required
"sourceBranch": string, // Required
"targetBranch": string, // Required
"reviewers"?: string[] // Optional: Array of reviewer email addresses
}create_pull_request_comment
Add a comment to a pull request.
{
"pullRequestId": number, // Required
"content": string, // Required
"threadId"?: number, // Optional: For replies
"filePath"?: string, // Optional: For file comments
"lineNumber"?: number, // Optional: For line comments
"status"?: "active"|"fixed"|"pending"|"wontfix"|"closed" // Optional: Thread status
}get_pull_request_diff
Get the diff for a pull request.
{
"pullRequestId": number, // Required
"filePath"?: string, // Optional: Specific file to get diff for
"iterationId"?: number // Optional: Specific iteration to get diff for
}Wiki
create_wiki_page
Create a new wiki page.
{
"project": string, // Required
"wiki": string, // Required
"path": string, // Required
"content": string // Required
}edit_wiki_page
Edit an existing wiki page.
{
"project": string, // Required
"wiki": string, // Required
"path": string, // Required
"content": string, // Required
"etag": string // Required: For concurrency control
}Development
Run in development mode with environment variables:
npm run devNote
Unless explicitly specified in the tool arguments, the project and repository parameters will use default values from your environment configuration.
Available Tools
12 toolscreate_pull_requestC
Create a new pull request
Inputs: description (required), sourceBranch (required), targetBranch (required), title (required), +1 more.
create_pull_request_commentC
Add a comment to a pull request
Inputs: content (required), pullRequestId (required), filePath, lineNumber, +2 more.
create_wiki_pageC
Create a new wiki page
Inputs: content (required), path (required), project (required), wiki (required).
create_work_itemC
Create a new work item
Inputs: project (required), title (required), type (required), assignedTo, +1 more.
edit_wiki_pageC
Edit an existing wiki page
Inputs: content (required), path (required), project (required), wiki (required), +1 more.
get_projectC
Get details of a specific Azure DevOps project
Inputs: id, name.
get_pull_requestB
Get details of a specific pull request
Inputs: pullRequestId (required).
get_pull_request_diffC
Get the diff for a pull request
Inputs: pullRequestId (required), filePath, iterationId.
get_work_itemC
Get details of a specific work item
Inputs: id (required), project (required).
list_projectsB
List all accessible projects in the Azure DevOps organization
Inputs: no named parameters.
list_pull_requestsC
List pull requests in a repository
Inputs: status.
list_work_itemsC
List work items in a project
Inputs: project (required), assignedTo, states, types.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Every tool has a clearly distinct purpose targeting specific resources and actions in Azure DevOps. For example, create_pull_request vs. create_pull_request_comment vs. get_pull_request_diff are all related to pull requests but handle different operations, with no overlapping functionality that would cause confusion.
All tool names follow a consistent verb_noun pattern with snake_case throughout, such as create_pull_request, list_projects, and get_work_item. The naming is predictable and readable, with no deviations in style or convention.
With 12 tools, this server is well-scoped for Azure DevOps operations, covering core areas like projects, pull requests, work items, and wiki pages. Each tool earns its place without feeling excessive or insufficient for the domain.
The tool set provides strong coverage for key workflows in Azure DevOps, including CRUD operations for pull requests, work items, and wiki pages, plus project listing and details. Minor gaps exist, such as missing update or delete operations for pull requests and work items, but agents can likely work around these with available tools.
Maintenance
Related MCP Connectors
Google Keep-style notes app with an MCP server for AI agents to read/write notes.
An MCP server that used to create notes
A simple Typescript MCP server built using the official MCP Typescript SDK and smithery/cli. This…
Markdown-based note-taking with a hosted MCP server. Your notes serve you and your AI.
Related MCP Servers
- FlicenseBqualityDmaintenanceA simple TypeScript-based MCP server that implements a notes system, allowing users to create, list, and generate summaries of text notes via Claude.13-
- AlicenseAqualityDmaintenanceA TypeScript-based MCP server that implements a simple notes system, allowing creation and management of text notes with URIs and metadata.421 npmMIT
- FlicenseBqualityDmaintenanceA TypeScript-based MCP server that implements a simple notes system, allowing users to create, access, and generate summaries of text notes.23-
- AlicenseAqualityFmaintenanceA TypeScript-based MCP server that implements a simple notes system, allowing users to create, access, and generate summaries of text notes via URIs and tools.1216 npm8MIT