Azure DevOps MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP port | 3000 |
| AZDO_PAT | Yes | Personal Access Token | |
| MCP_PATH | No | Endpoint path | /mcp |
| AZDO_ORG_URL | Yes | Collection URL, e.g. https://your-server.example.com/YourCollection | |
| AZDO_PROJECT | No | Default project — avoids passing project name in every request | |
| MCP_TRANSPORT | No | http for Kubernetes, stdio for local | stdio |
| AZDO_API_VERSION | No | Azure DevOps API version | 7.0 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsA | List all projects in the Azure DevOps collection. Call this first when the project name is unknown or a lookup by name fails. |
| list_repositoriesB | List all Git repositories in a project. |
| list_branchesB | List branches (refs/heads) of a repository. |
| get_file_contentB | Read the content of a file from a repository at an optional branch. |
| list_pull_requestsA | List pull requests across ALL repositories in a project, or filter to one repository. Use this for questions like 'show all open PRs', 'which PRs have no reviewer', 'list PRs in project X'. Leave repositoryId empty to search the whole project at once. |
| list_prs_without_reviewerA | Find open pull requests that have no reviewer assigned, optionally within a time window. Use this for: 'which PRs have no reviewer?', 'unreviewed PRs in last 24 hours', 'PRs waiting for review this week'. Use the hours parameter to filter by creation date (e.g. hours=24 for last 24 hours). Omit hours to return all open PRs without a reviewer regardless of age. |
| get_pull_requestA | Get details of a single pull request by id. |
| create_pull_requestB | Create a new pull request from a source branch into a target branch. |
| get_last_buildA | Get the status and result of the most recent build in a project. Use this to answer questions like 'what is the last pipeline status?', 'did the last build succeed?', 'what ran last?'. Optionally filter by pipeline name (partial match). Returns: buildNumber, status (inProgress/completed), result (succeeded/failed/partiallySucceeded/canceled), pipeline name, branch, who triggered it, and start/finish time. |
| list_failed_buildsA | Find builds that failed or partially succeeded in the last N hours. Use this for questions like 'آیا build شکستخوردهای داشتیم؟', 'failed builds in the last 24 hours', 'what broke today?', 'build failures this week'. Returns: pipeline name, result, branch, who triggered it, and when it ran. |
| list_pipelinesC | List pipelines defined in a project. |
| list_buildsB | List recent builds in a project, optionally filtered by pipeline/definition. |
| get_buildB | Get details of a single build by id. |
| get_build_logsA | Fetch the console log output of a build. Use this when the user asks for build logs, error details, failure reason, or what went wrong in a build. Returns log text per stage/task. Large logs are automatically truncated to the last 150 lines per entry. |
| run_pipeline_by_nameA | Find a pipeline by name and run it. Use this when the user says 'run pipeline X', 'اجرا کن pipeline X', 'trigger X'. Searches for the pipeline by partial name match, then queues a run automatically. No need to call list_pipelines first. |
| run_pipelineA | Queue a new run of a pipeline by its numeric id. Use run_pipeline_by_name if you only know the name. |
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/jafarimohammad/azure-devops-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server