Azure DevOps MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AZURE_DEVOPS_PAT | Yes | Personal Access Token | |
| AZURE_DEVOPS_URL | Yes | Server base URL (e.g., http://tfs:8080/tfs) | |
| AZURE_DEVOPS_PROJECT | No | Default project for commands | |
| AZURE_DEVOPS_COLLECTION | No | Collection name | DefaultCollection |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| test_connectionA | Test the connection to Azure DevOps Server and verify authentication |
| list_projectsA | List all projects in the Azure DevOps organization/collection |
| get_projectA | Get detailed information about a specific project |
| list_reposA | List all Git repositories in a project |
| list_branchesC | List branches in a repository |
| list_commitsB | Get commit history for a repository |
| get_commitB | Get detailed information about a specific commit including changes |
| get_commit_diffA | Get the diff/changes for a file in a commit |
| list_pull_requestsC | List pull requests in a repository |
| get_pull_requestA | Get detailed information about a pull request including comments and threads |
| compare_branchesA | Compare two branches - shows commits in target that are not in base (useful for regression analysis) |
| search_codeB | Search for code/text content in a repository |
| get_commits_for_work_itemA | Find commits associated with a work item ID (searches commit messages for #ID) |
| get_file_contentA | Get the content of a file from a repository at a specific branch or commit |
| get_prs_for_work_itemB | Find pull requests linked to a work item |
| list_buildsB | List recent builds with status and results |
| get_buildA | Get detailed information about a specific build |
| get_build_logsB | Get build logs - useful for analyzing build errors and failures |
| list_build_definitionsC | List build/pipeline definitions |
| analyze_build_errorsA | Analyze a failed build and extract errors, warnings, and issues from logs |
| query_work_itemsC | Query work items using WIQL (Work Item Query Language) or simple filters |
| get_work_itemB | Get detailed information about a specific work item |
| list_iterationsA | List iterations (sprints) in a project - useful for sprint planning and filtering work items |
| list_areasA | List area paths in a project - useful for organizing and filtering work items by team or component |
| list_work_item_typesA | List available work item types in a project |
| list_releasesB | List releases with deployment status |
| get_releaseB | Get detailed information about a specific release |
| list_release_definitionsC | List release/deployment pipeline definitions |
| get_release_logsA | Get deployment logs for a release environment |
| list_pipelinesB | List pipeline definitions in a project |
| get_pipeline_runsC | Get recent runs for a pipeline |
| get_pipeline_yamlB | Get the YAML configuration for a pipeline |
| get_pipeline_variablesB | Get variables defined for a pipeline |
| list_test_runsB | List test runs for a project - useful for finding test execution history |
| get_test_runB | Get detailed information about a specific test run |
| get_test_resultsB | Get test results from a test run - shows which tests passed/failed |
| get_failed_testsA | Get failed tests from a test run - useful for investigating failures |
| get_test_runs_for_buildB | Get test runs associated with a specific build |
| analyze_test_failuresB | Analyze test failures in a build - groups failures by error type |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 39 tools
Most tools target distinct resources (builds, repos, work items, tests, releases), but some overlap exists, e.g., list_builds vs get_pipeline_runs, and multiple test analysis tools. Descriptions help differentiate, but an agent might occasionally select the wrong tool.
All tool names follow a consistent verb_noun pattern with lowercase and underscores (e.g., list_branches, get_work_item, analyze_build_errors). No mixing of conventions, making the set predictable for agents.
At 39 tools, the count is high but justified by the broad scope of Azure DevOps (builds, repos, work items, tests, releases). However, it exceeds the typical 15-25 range and feels heavy, fitting the 'borderline' description.
The tool surface is heavily read-oriented, lacking mutation operations such as create, update, delete for work items, pull requests, pipelines, and releases. This is a significant gap for a DevOps server, likely causing agent failures when workflows require state changes.