Azure DevOps MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Logging level (debug, info, warn, error) | info |
| AZURE_DEVOPS_ORG | No | Azure DevOps organization name | Extracted from URL |
| AZURE_DEVOPS_PAT | No | Personal Access Token (for PAT auth) | |
| AZURE_AD_CLIENT_ID | No | Azure AD application ID (for AAD auth) | |
| AZURE_AD_TENANT_ID | No | Azure AD tenant ID (for AAD auth) | |
| AZURE_DEVOPS_ORG_URL | No | Full URL to your Azure DevOps organization | |
| AZURE_AD_CLIENT_SECRET | No | Azure AD client secret (for AAD auth) | |
| AZURE_DEVOPS_API_VERSION | No | API version to use | Latest |
| AZURE_DEVOPS_AUTH_METHOD | No | Authentication method (`pat`, `azure-identity`, or `azure-cli`) - case-insensitive | azure-identity |
| AZURE_DEVOPS_DEFAULT_PROJECT | No | Default project if none specified |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_meA | Get details of the authenticated user (id, displayName, email) |
| list_organizationsA | List all Azure DevOps organizations accessible to the current authentication |
| list_projectsC | List all projects in an organization |
| get_projectC | Get details of a specific project |
| get_project_detailsB | Get comprehensive details of a project including process, work item types, and teams |
| get_repositoryB | Get details of a specific repository |
| get_repository_detailsC | Get detailed information about a repository including statistics and refs |
| list_repositoriesC | List repositories in a project |
| get_file_contentC | Get content of a file or directory from a repository |
| get_all_repositories_treeB | Displays a hierarchical tree view of files and directories across multiple Azure DevOps repositories within a project, based on their default branches |
| get_repository_treeB | Displays a hierarchical tree view of files and directories within a single repository starting from an optional path |
| create_branchB | Create a new branch from an existing one |
| create_commitA | Create a commit on an existing branch using file changes.
🎯 RECOMMENDED: Use the SEARCH/REPLACE format (much easier, no line counting!). Option 1: SEARCH/REPLACE format (EASIEST) Simply provide the exact text to find and replace: The server fetches the file, performs the replacement, and generates the diff automatically. No line counting, no hunk headers, no context lines needed! Option 2: UNIFIED DIFF format (Advanced) If you prefer full control, provide complete unified diffs:
Example unified diff: |
| list_commitsA | List recent commits on a branch including file-level diff content for each commit |
| list_work_itemsC | List work items in a project |
| get_work_itemC | Get details of a specific work item |
| create_work_itemC | Create a new work item |
| update_work_itemB | Update an existing work item |
| manage_work_item_linkC | Add or remove links between work items |
| search_codeB | Search for code across repositories in a project |
| search_wikiB | Search for content across wiki pages in a project |
| search_work_itemsB | Search for work items across projects in Azure DevOps |
| create_pull_requestB | Create a new pull request, including reviewers, linked work items, and optional tags |
| get_pull_requestA | Get a pull request by ID (no repositoryId required; best for Azure DevOps Server where PR IDs are project-scoped) |
| list_pull_requestsB | List pull requests in a repository |
| get_pull_request_commentsC | Get comments from a specific pull request |
| add_pull_request_commentB | Add a comment to a pull request (repositoryId optional; derived from pullRequestId when omitted) |
| update_pull_requestB | Update an existing pull request with new properties, manage reviewers and work items, and add or remove tags |
| get_pull_request_changesA | Get the files changed in a pull request, their unified diffs, source/target branch names, and the status of policy evaluations |
| get_pull_request_checksA | Summarize the latest status checks and policy evaluations for a pull request.
|
| list_pipelinesB | List pipelines in a project |
| get_pipelineC | Get details of a specific pipeline |
| list_pipeline_runsB | List recent runs for a pipeline |
| get_pipeline_runB | Get details for a specific pipeline run |
| download_pipeline_artifactB | Download a file from a pipeline run artifact and return its textual content |
| pipeline_timelineB | Retrieve the timeline of stages and jobs for a pipeline run, to reduce the amount of data returned, you can filter by state and result |
| get_pipeline_logC | Retrieve a specific pipeline log using the timeline log identifier |
| trigger_pipelineC | Trigger a pipeline run |
| get_wikisC | Get details of wikis in a project |
| get_wiki_pageB | Get the content of a wiki page |
| create_wikiC | Create a new wiki in the project |
| update_wiki_pageC | Update content of a wiki page |
| list_wiki_pagesB | List pages within an Azure DevOps wiki |
| create_wiki_pageA | Create a new page in a wiki. If the page already exists at the specified path, it will be updated. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
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/Tiberriver256/mcp-server-azure-devops'
If you have feedback or need assistance with the MCP directory API, please join our Discord server