Azure DevOps Integration
STDIOMCP server enabling AI assistants to interact with Azure DevOps work items and PRs.
MCP server enabling AI assistants to interact with Azure DevOps work items and PRs.
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.
npm install
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-repo
npm run build
Add the server configuration to your MCP settings:
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": [] } } }
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": [] } } }
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 details of a specific work item.
{ "project": string, // Required "id": number // Required: Work item ID }
Create a new work item.
{ "project": string, // Required "type": string, // Required: e.g., "Task", "Bug" "title": string, // Required "description"?: string, // Optional "assignedTo"?: string // Optional }
List pull requests in a repository.
{ "status"?: "active" | "completed" | "abandoned" // Optional }
Get details of a specific pull request.
{ "pullRequestId": number // Required }
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 }
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 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 }
Create a new wiki page.
{ "project": string, // Required "wiki": string, // Required "path": string, // Required "content": string // Required }
Edit an existing wiki page.
{ "project": string, // Required "wiki": string, // Required "path": string, // Required "content": string, // Required "etag": string // Required: For concurrency control }
Run in development mode with environment variables:
npm run dev
Unless explicitly specified in the tool arguments, the project
and repository
parameters will use default values from your environment configuration.