Skip to main content
Glama

azure-devops MCP Server

by mmruesch12
README.md5 kB
# 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. <a href="https://glama.ai/mcp/servers/@mmruesch12/azdo-mcp"> <img width="380" height="200" src="https://glama.ai/mcp/servers/@mmruesch12/azdo-mcp/badge" alt="azure-devops Server MCP server" /> </a> ## Features - Work Items Management (create, list, get) - Pull Request Operations (create, list, get, comment, diff) - Wiki Page Management (create, edit) ## Setup 1. Install dependencies: ```bash npm install ``` 2. Configure environment variables (create a .env file): ```env 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 ``` 3. Build the server: ```bash npm run build ``` ## Installation 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: ```json { "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: ```json { "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. ```typescript { "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. ```typescript { "project": string, // Required "id": number // Required: Work item ID } ``` #### create_work_item Create a new work item. ```typescript { "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. ```typescript { "status"?: "active" | "completed" | "abandoned" // Optional } ``` #### get_pull_request Get details of a specific pull request. ```typescript { "pullRequestId": number // Required } ``` #### create_pull_request Create a new pull request. ```typescript { "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. ```typescript { "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. ```typescript { "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. ```typescript { "project": string, // Required "wiki": string, // Required "path": string, // Required "content": string // Required } ``` #### edit_wiki_page Edit an existing wiki page. ```typescript { "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: ```bash npm run dev ``` ## Note Unless explicitly specified in the tool arguments, the `project` and `repository` parameters will use default values from your environment configuration.

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/mmruesch12/azdo-mcp'

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