azdo mcp
A TypeScript-based MCP server that implements a simple notes system, allowing users to create, access, and generate summaries of text notes.
A TypeScript-based MCP server that implements a simple notes system, allowing users to create, access, and generate summaries of text notes.
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.
Install dependencies:
npm install
Configure 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-repo
Build the server:
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%.vscodecline_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.