Token导航 LogoToken导航

MCP Server · 运维云端

Azuredevopsmcp

一个基于AI的Azure DevOps MCP服务器,提供与Azure DevOps仓库、拉取请求和工作项交互的工具。

stdio官方级别未说明来源级核验工具 16
Azure DevOps代码管理PythonClaude

快速开始

作者 / 组织
AbdelrhmanSror
提供方
AbdelrhmanSror

工具数量

16

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

2 个

MCP World

选型结论

Azuredevopsmcp 属于运维云端类 MCP Server,公开资料标注 16 个工具,通过stdio 本地进程接入,适配 Claude,有可以直接复制的安装命令;接入前要先准备 会话凭据。

分类

运维云端

传输方式

stdio

认证方式

会话凭据

部署方式

支持远程部署

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 16 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

Azure DevOps MCP服务器

模型上下文协议(MCP)服务器,提供人工智能驱动的工具,用于与Azure DevOps存储库、拉取请求和工作项进行交互。内置FastMCP,可与Claude和其他兼容MCP的AI助手无缝集成。

特性

  • 项目发现 -列出所有可访问的Azure DevOps项目
  • 库管理 -解析存储库ID,列出分支
  • 拉取请求操作 -列出、创建、检查和评论PR
  • 工作项管理 -创建PBI、Bug和自定义工作项
  • 差异分析 -获取原始和修改内容的完整统一差异
  • 代码审查 -内置审核策略和自动审核功能
  • PR工作项链接 -将拉取请求链接到工作项
  • 自动发现 -自动工具和资源注册
  • 可扩展架构 -添加新功能的简单模式

项目结构

AzureDevopsMcp/
├── src/
│   ├── config.py              # Global MCP instance & configuration
│   ├── client.py              # HTTP client for Azure DevOps API
│   ├── server.py              # Server entry point
│   ├── utils/
│   │   └── helpers.py         # Helper functions (repo resolution, blob fetching)
│   ├── tools/
│   │   ├── __init__.py        # Auto-import tool modules
│   │   ├── repository.py      # Repository & project tools
│   │   ├── pull_requests.py   # Pull request tools
│   │   └── work_items.py      # Work item tools (PBI, Bug, etc.)
│   └── policies/
│       ├── __init__.py        # Auto-import policy modules
│       └── review_policy.py   # Code review policy resource
├── main.py                    # Application entry point
├── requirements.txt           # Python dependencies
├── .env                       # Environment configuration
└── README.md

设置

1.克隆和安装

git clone 
cd AzureDevopsMcp
pip install -r requirements.txt

2.配置环境

创建一个 .env 项目根目录中的文件:

ADO_ORG_URL=https://dev.azure.com/YourOrganization
ADO_PROJECT=YourDefaultProject
ADO_PAT=your_personal_access_token_here

获取个人访问令牌(PAT):

  1. 转到Azure DevOps→ 用户设置→ 个人访问令牌
  2. 创建具有权限的新令牌:

- Code (Read & Write) -用于存储库和PR操作 - Pull Request Threads (Read & Write) -征求公关意见 - Work Items (Read & Write) -用于创建/更新工作项

  1. 将令牌复制到您的 .env 文件

3.运行服务器

python main.py

服务器将在stdio模式下运行,准备接受MCP协议请求。

可用工具

项目和存储库工具

list_projects() -> List[Dict]

列出您有权访问的所有Azure DevOps项目。

退货: 包含名称、id、描述和状态的项目列表。

用途: 在创建工作项之前调用此命令以发现可用项目。

______________________________________________________________________

resolve_repo_id(repo_key: str, project: str = None) -> str

将存储库名称转换为其GUID标识符。

参数:

  • repo_key -存储库名称(例如“my api”)或GUID

退货: 存储库GUID

______________________________________________________________________

list_branches(repo_id: str, filter_name: str = None, top: int = 100) -> List[Dict]

列出存储库中的分支。

参数:

  • repo_id -存储库GUID来自 resolve_repo_id
  • filter_name -可选的按名称前缀过滤(例如“feature/”)
  • top -要返回的最大分支数

退货: 具有名称、全名、isDefault、创建者、objectId的分支列表

______________________________________________________________________

拉取请求工具

list_pull_requests(repo_id: str, status: str = "active", top: int = 10) -> List[Dict]

列出存储库的拉取请求。

参数:

  • repo_id -存储库GUID
  • status -筛选器: "active", "completed", "abandoned"
  • top -PR的最大数量

______________________________________________________________________

get_pull_request(repo_id: str, pr_id: int) -> str

检索特定拉取请求的详细信息。

______________________________________________________________________

create_pull_request(repo_id: str, source_branch: str, target_branch: str, title: str, description: str = None, work_item_ids: List[int] = None) -> Dict

创建新的pull请求。

参数:

  • repo_id -存储库GUID
  • source_branch -完整的参考名称(例如,“参考/头部/特征/我的特征”)
  • target_branch -全名(例如,“refs/heads/main”)
  • title -PR标题
  • description -可选PR描述
  • work_item_ids -要链接的工作项ID的可选列表

退货: 创建了PR详细信息,包括id、url、标题、状态

______________________________________________________________________

set_pr_description(repo_id: str, pr_id: int, description: str) -> Dict

更新现有拉取请求的描述。

LLM说明: 描述应包括结构化格式,包括:

  • 带有要点的摘要部分
  • 带有复选框的测试计划部分
  • 基于差异分析自动检测测试和文档的复选框

______________________________________________________________________

get_pull_request_full_diff(repo_id: str, pr_id: int) -> Dict

获取PR的完整差异和所有评论。

______________________________________________________________________

add_pull_request_comment(repo_id: str, pr_id: int, comment: str, file_path: str = None, line: int = None) -> str

向拉取请求添加注释(顶级或内联)。

______________________________________________________________________

link_pr_to_work_item(repo_id: str, pr_id: int, work_item_id: int, project: str) -> Dict

将拉取请求链接到工作项。

______________________________________________________________________

工作项工具

list_work_item_types(project: str) -> List[Dict]

列出项目中所有可用的工作项类型。

用途: 调用此命令可发现可用的工作项类型(Bug、PBI、Task等)。

______________________________________________________________________

list_area_paths(project: str, depth: int = 3) -> List[Dict]

列出项目中用于组织工作项的所有区域路径。

______________________________________________________________________

list_iteration_paths(project: str, depth: int = 3) -> List[Dict]

列出项目中的所有迭代路径(冲刺)。

______________________________________________________________________

create_product_backlog_item(project: str, title: str, assigned_to: str, ...) -> Dict

创建新的产品待办列表项(PBI)。

所需参数:

  • project -项目名称(使用 list_projects() 第一)
  • title -PBI标题
  • assigned_to -受让人的电子邮件或显示姓名

可选参数:

  • description -HTML描述
  • acceptance_criteria -HTML接受标准
  • area_path -组织区域路径
  • iteration_path -Sprint任务
  • priority -优先级(1-4)
  • tags -分号分隔标签

______________________________________________________________________

create_bug(project: str, title: str, assigned_to: str, description: str, steps_to_reproduce: str, expected_behavior: str, ...) -> Dict

创建新的Bug工作项(使用带有必填字段的自定义“Bug”类型)。

所需参数:

  • project -项目名称
  • title -Bug标题
  • assigned_to -受让人
  • description -Bug描述
  • steps_to_reproduce -重现错误的步骤
  • expected_behavior -预期的应用行为

可选参数:

  • environment -环境(默认值:“Dev”)
  • area_path, iteration_path, priority, tags

______________________________________________________________________

create_work_item(project: str, work_item_type: str, title: str, assigned_to: str, ...) -> Dict

创建任何类型的工作项。最灵活的自定义工作项类型工具。

参数:

  • work_item_type -来自的确切类型名称 list_work_item_types()
  • custom_fields -自定义字段引用名称到值的骰子

自定义字段示例:

create_work_item(
    project="MyProject",
    work_item_type="Bugs",
    title="Fix login error",
    assigned_to="john@company.com",
    custom_fields={
        "Custom.Environment": "Dev",
        "Custom.Stepstoreproduce": "1. Go to login\n2. Click submit",
        "Custom.Expectedappbehavior": "User should be logged in"
    }
)

______________________________________________________________________

资源

policy://review -代码审查政策

官方代码审查标准和PR审查期望。

用途: LLM应在执行自动代码审查之前加载此资源。

扩展服务器

添加新工具

第一步: 在中创建工具模块 src/tools/

# src/tools/my_tools.py
from ..config import mcp, ADO_ORG_URL
from ..client import client

@mcp.tool()
def my_new_tool(param: str) -> dict:
    """Tool description for LLM."""
    # Implementation
    pass

第二步: 注册于 src/tools/__init__.py

from . import my_tools  # noqa: F401

添加新资源

第一步: 在中创建资源模块 src/policies/

# src/policies/my_policy.py
from ..config import mcp

@mcp.resource(uri="policy://my-policy", name="My Policy", description="...")
def get_my_policy() -> str:
    return "Policy content..."

第二步: 注册于 src/policies/__init__.py

建筑

  • 全局MCP实例 (src/config.py)-所有模块共享单个FastMCP实例
  • 自动发现 -模块通过导入进行自我注册 __init__.py
  • 关注点分离 -工具、资源、实用程序和配置完全分开
  • 类型安全 -完整的类型提示,以获得更好的IDE支持和错误检查

贡献

欢迎投稿!添加新功能时,请遵循现有的代码结构和模式。

工具与能力

工具数量

16

资源数量

0

提示词数量

0

能力标签

AzureDevOpsPython本地部署代码管理自动化工具AI集成开发协作

支持客户端

Claude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

看服务状态

查询容器、日志和监控指标,定位异常。

执行部署变更

在权限范围内触发发布、回滚和环境切换。

核对资源用量

汇总用量,找出闲置和超额的部分。

选择建议

值得选的地方

  • 工具数量 16 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备会话凭据,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在运维云端场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到会话凭据的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Azuredevopsmcp

MCP World · 本页

16stdio有2 个2026-05-17
Ui Tars Desktop 8a825770

MCP World

0stdio有1 个2026-05-17
Elie222 MCP

MCP World

0未说明未标注1 个2026-05-17
Arizeai Phoenix MCP

MCP World

0stdio有3 个2026-05-17
Unity MCP 87ee506e

MCP World

42HTTP有2 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Azuredevopsmcp 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Azuredevopsmcp 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Azuredevopsmcp 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Azuredevopsmcp 需要 API Key 吗?

公开资料标注的认证方式是会话凭据,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Azuredevopsmcp 支持哪些客户端?

公开资料标注支持 Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP