Mcp Azure Devops

io.github.dockndevai由 GitHub 账号 dockndevai 发布v0.3.3更新于 Oct 26, 2026

Azure DevOps boards, repos, pipelines & projects for AI agents — governed.

概览

AI 生成的概览

本地 MCP 服务器,让助手在治理机制约束下读取并按需修改 Azure DevOps 的项目、工作项、代码库、拉取请求与流水线。

可以做什么
  • 列出并查看项目、团队、团队成员与流程模板
  • 用 WIQL 查询工作项,获取单个工作项与团队迭代
  • 列出 Git 代码库、分支与拉取请求,并获取单个拉取请求详情
  • 列出流水线与近期构建,获取单个构建的状态与耗时
  • 在读写或管理模式下列出之外还可创建工作项、更新工作项、发起拉取请求、排队运行流水线,以及创建或删除项目
适用场景
适合让助手直接在对话中处理 Azure DevOps 组织的事务,例如查找活跃的拉取请求、查询分配给自己的工作项、查看哪些构建失败,或提交缺陷单。
运行要求
通过 npx 从 npm 包在本地运行,需要 Node.js。必须提供 AZDO_ORG_URL 与放在 AZDO_PAT 中的个人访问令牌,并设置 AZDO_MODE(默认只读)。还可选配项目白名单、受保护项目、删除开关、输入式确认、试运行与审计日志等治理项。
安装前请注意
AZDO_PAT 是覆盖整个组织的凭据,建议先用只读令牌并保持只读模式。读写与管理模式可创建工作项、更新工作项、发起拉取请求、排队运行流水线,开启删除后还能删除项目。高风险操作可能要求输入目标名称确认或经人工批准,受管控操作会以 JSON 写入 stderr 日志。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Mcp Azure Devops,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

mcp-azure-devops

[CI] [License: MIT] [npm]

A Model Context Protocol server for Azure DevOps. It lets an MCP-capable client (Claude Desktop, Claude Code, Cursor, Codex, …) work across boards, repos, pipelines, and projects — with a governance layer that keeps an AI agent inside safe boundaries.

What this offers

  • Projects & teams — list projects/teams/members, inspect process templates.
  • Boards / work items — WIQL queries, get work items, create/update work items, list iterations (sprints).
  • Repos / pull requests — list repositories and branches, list/get PRs, open PRs.
  • Pipelines / builds — list pipelines and recent builds, get a build, queue a run.
  • Admin / process — list process templates, create a project, delete a project (guarded).
  • Governance built in — access modes, project allowlists, protected projects, delete gating, typed confirmation for high-impact ops, dry-run, and JSON audit logging.

Governance & security model

ConcernFlagDefaultEffect
What can the server do?AZDO_MODEread-onlyread-only → reads; read-write → work items, PRs, pipeline runs; admin → create/delete project. Tools above the mode are never registered.
Which projects are in scope?AZDO_PROJECT_ALLOWLIST(all)Operations on other projects are refused.
Which projects are read-only forever?AZDO_PROTECTED_PROJECTS(none)Readable, never mutable.
Can it delete?AZDO_ALLOW_DELETEfalsedelete_project needs this and admin mode.
Typed confirmationAZDO_REQUIRE_CONFIRMATIONtrueHigh-impact ops require confirm to equal the target name — not just a boolean.
PreviewAZDO_DRY_RUNfalseWrite/admin tools validate + log intent, then return.
Audit trailAZDO_AUDIT_LOGtrueJSON line to stderr per guarded operation.
Interactive confirmation(automatic)—Destructive & high-impact actions prompt the human to approve via MCP elicitation before running; clients without elicitation fall back to the *_ALLOW_* gate.

Tools

Read (read-only+): list_projects, get_project, list_teams, list_team_members, list_processes, query_work_items, get_work_item, list_iterations, list_repositories, list_branches, list_pull_requests, get_pull_request, list_pipelines, list_builds, get_build

Write (read-write+): create_work_item, update_work_item, create_pull_request, run_pipeline

Admin (admin): create_project, delete_project (needs AZDO_ALLOW_DELETE + typed confirm)

Quickstart — add to your agent

Published on npm as @dockndevai/mcp-azure-devops. Runs via npx; needs an org and a PAT. See docs/CLIENTS.md for every client and .env.example for all variables.

Claude Code

bash
claude mcp add azure-devops -e AZDO_ORG_URL="https://dev.azure.com/your-org" -e AZDO_PAT="your-pat" -e AZDO_MODE="read-only" -- npx -y @dockndevai/mcp-azure-devops

Claude Desktop · Cursor · Windsurf

json
{  "mcpServers": {    "azure-devops": {      "command": "npx",      "args": ["-y", "@dockndevai/mcp-azure-devops"],      "env": {        "AZDO_ORG_URL": "https://dev.azure.com/your-org",        "AZDO_PAT": "your-pat",        "AZDO_MODE": "read-only"      }    }  }}

Example prompts

  • "List active pull requests in the Payments project's api repo"
  • "Query work items assigned to me that are still Active"
  • "Show the last 10 builds in the Web project and which failed"
  • "Create a Bug in Payments titled 'Checkout 500 on retry'" (needs read-write)

Run from source (development)

bash
npm installnpm run buildnode dist/index.js   # with the environment variables set

Develop

bash
npm run devnpm test          # governance policy: modes, allowlists, delete gating, confirmationnpm run typecheck

Publishing

Ships a server.json for the official MCP registry and an mcpName for npm ownership validation. See PUBLISHING.md.

License

MIT

来源:README.md,提交 2a037ea

工具

15

list_projects

List projects

List the projects in the Azure DevOps organization that pass the allowlist. Returns each project's id, name, state, and whether it is marked protected (readable but never mutated). Start here to discover valid project names.

无需输入参数。

get_project

Get project

Fetch the full details (id, description, visibility, state, capabilities) of a single project.

输入参数project必填

list_teams

List teams

List the teams defined in a project, with their ids and names. Use a team id/name with the team-scoped tools.

输入参数project必填

list_team_members

List team members

List the members (identities: display name and unique name) of a specific team within a project.

输入参数team必填project必填

list_processes

List processes

List the organization's process templates (Agile, Scrum, CMMI, or inherited) with their ids. Pass one of these ids as the process when creating a project.

无需输入参数。

query_work_items

Query work items (WIQL)

Run a Work Item Query Language (WIQL) query against a project and return the matching work-item ids (fetch fields with get_work_item). Example: SELECT [System.Id] FROM WorkItems WHERE [System.State] = 'Active'.

输入参数wiql必填project必填

get_work_item

Get work item

Fetch a single work item by id, including all of its fields (title, state, assignee, tags, …).

输入参数id必填

list_iterations

List iterations (sprints)

List a team's iterations (sprints), each with its path and start/finish dates.

输入参数team必填project必填

list_repositories

List repositories

List the Git repositories in a project, with their ids, names, and default branches.

输入参数project必填

list_branches

List branches

List the branches (refs/heads) of a Git repository, with the commit each one points at.

输入参数repo必填project必填

list_pull_requests

List pull requests

List pull requests in a repository, optionally filtered by status (active by default).

输入参数repo必填statusproject必填

get_pull_request

Get pull request

Fetch a single pull request by id, including its source/target branches, status, and reviewers.

输入参数id必填repo必填project必填

list_pipelines

List pipelines

List the pipelines defined in a project, with their ids and names. Use a pipeline id with run_pipeline.

输入参数project必填

list_builds

List builds

List recent builds / pipeline runs in a project, most recent first, with their status and result.

输入参数topproject必填

get_build

Get build

Fetch a single build / pipeline run by id, with its status, result, and timing.

输入参数buildId必填project必填

版本历史

3
  1. v0.3.3最新Oct 26, 2026
  2. v0.3.0Sep 29, 2026
  3. v0.2.3Sep 16, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分
  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分