home / mcp / azure devops mcp server
Provides Azure DevOps data sources and actions for work items, repos, pipelines, boards, and more through an MCP client.
Configuration
View docs{
"mcpServers": {
"grizzlypeaksoftware-ado_mcp": {
"command": "node",
"args": [
"C:/path/to/azure-devops-mcp/dist/index.js"
],
"env": {
"ADO_PAT": "YOUR_PAT_TOKEN",
"ADO_ORG_URL": "https://dev.azure.com/your-org",
"ADO_PROJECT": "your-default-project"
}
}
}
}You can run a dedicated MCP server that connects to Azure DevOps to manage work items, code repositories, pipelines, boards, releases, and more. This server lets you drive Azure DevOps actions through an MCP client, enabling AI-assisted workflows across your projects.
Start by configuring your MCP client to point at your Azure DevOps MCP server. You will supply authentication and context so the client can perform actions like querying work items, listing repositories, or triggering pipelines. Use the server to perform common tasks such as listing work items, creating or updating items, managing branches, handling pull requests, and inspecting dashboards.
Prerequisites: Node.js 18 or higher, an Azure DevOps organization, and a Personal Access Token (PAT) with appropriate permissions.
Install dependencies and build the MCP server image.
npm install
npm run buildEnvironment variables you need for the MCP server to connect to Azure DevOps are the Personal Access Token, organization URL, and default project. Use these in your MCP client configuration.
Set up a local or remote MCP client to run the server. The provided examples show how to run the server locally with a node process and how to wire environment variables for secure access.
Typical environment variables you will configure in your MCP client or runtime are:
Protect your PAT and limit its permissions to only what you need. Rotate credentials regularly and use the least-privilege principle for all service accounts.
If you encounter authentication or access issues, verify that your PAT is valid and has the required scopes. Confirm that the organization URL and project name are correct and that the PAT has access to the target project.
When running locally, you can point your MCP client to the local runtime and provide the necessary environment variables to connect to Azure DevOps.
Query work items using WIQL to retrieve items matching given criteria.
Fetch full details of a single work item by ID.
Create a new work item with specified type, title, and fields.
Update fields on an existing work item.
Delete or recycle a work item.
Add a comment to a work item; supports threaded discussions.
Search for work items by keyword or WIQL-like queries.
Create a link relationship between two work items.
Remove an existing link between work items.
Retrieve all work items linked to a given item.
Attach a file to a work item from base64 content.
Attach a file to a work item by providing a URL.
List all attachments on a specific work item.
Remove an attachment from a work item.
List all repositories in the project.
Get details for a specific repository.
List branches in a repository.
Get details of a branch including the latest commit.
List commits in a repository.
Get commit details including changes.
Retrieve the contents of a file at a path.
List files in a repository path.
Create a new branch in a repository.
Delete a branch.
List pull requests with optional filters.
Get details of a pull request.
Create a new pull request.
Update pull request title, description, or status.
Add a reviewer to a pull request.
Remove a reviewer from a pull request.
Add a comment to a pull request.
Retrieve all comments on a pull request.
Complete or merge a pull request.
Get work items linked to a pull request.
Link a work item to a pull request.
Retrieve Kanban boards for a team.
Get columns for a board.
List items on a board.
Move a card to a different column or lane.
Get swimlanes for a board.
List all projects in the organization.
Get details for a project.
List teams within a project.
Get members of a team.
List iterations for a team.
Get the current iteration for a team.
List area paths for a project.
List YAML pipelines in a project.
Get details for a YAML pipeline.
List runs of a pipeline.
Get details for a specific pipeline run.
Queue or start a pipeline run.
Cancel a running pipeline.
Fetch logs for a pipeline run.
List classic build definitions.
List builds for a definition or project.
Get details for a build.
Queue a new build.
Cancel a running build.
Retrieve build logs.
List release definitions.
Get details of a release definition.
List releases in a project.
Get details for a release.
Create a new release.
Deploy a release to an environment.
Get environment status for a release.
Approve a deployment in a release environment.
Fetch release deployment logs.
List wikis in a project.
Get wiki details.
Get content of a wiki page.
Create a new wiki page.
Update an existing wiki page.
Delete a wiki page.
List pages within a wiki.
List test plans in a project.
Get details of a test plan.
List test suites.
Get details for a test suite.
List test cases within a suite.
List test runs.
Get test results.
List artifact feeds.
Get artifact feed details.
List packages in a feed.
Get package details.
Get package versions.
List service connections.
Get details for a service connection.
List variable groups.
Get details for a variable group including variables.
Get information about the authenticated user.
Search for users in the directory.
Get details for a user.
List notification subscriptions.
List dashboards.
Get dashboard details with widgets.
List branch policies.
Get details for a branch policy.