mcpField
M
MCP For Azure DevOps Boards

MCP For Azure DevOps Boards

本地服务
github.com/danielealbano云与基础设施615 周前更新

关于 MCP For Azure DevOps Boards

这是一个用 Rust 编写的 Azure DevOps Boards MCP 服务,面向需要通过 AI 客户端处理工作项、团队和看板的用户。它支持 WIQL 查询,并提供面向 LLM 的精简 JSON 输出。

主要功能

  1. 01创建、更新和查询工作项
  2. 02列出团队、看板及看板项目
  3. 03执行 WIQL 查询
  4. 04精简 JSON 输出
  5. 05支持标准 Azure 身份验证方式

适用场景

  1. 01在 Azure DevOps 中维护工作项
  2. 02检索项目团队与看板信息
  3. 03使用 WIQL 查询工作项
  4. 04通过 Azure CLI 凭据访问组织

MCP 相关

该 MCP 服务向客户端提供 Azure DevOps 组织、项目、工作项、团队和看板相关工具。默认通过 stdio 通信,也可配置为 HTTP 服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Azure DevOps Boards 的 MCP

CI - PR - Build & Test CD - Tag - Build & Release

README 配图

一个用于与 Azure DevOps Boards 和 Work Items 交互的模型上下文协议(MCP)服务,使用 Rust 编写。

功能

  • 工作项管理:创建、更新、获取和查询工作项。

  • 看板集成:列出团队和看板,并获取看板项。

  • WIQL 支持:运行自定义 WIQL 查询。

  • 简化输出:针对大模型消费优化 JSON 输出(减少 Token 用量)。

安装

查看 MCP 配置部分,了解如何配置首选的 AI(MCP)客户端。

macOS(Homebrew)
brew tap danielealbano/mcp-tools
brew install mcp-for-azure-devops-boards

二进制文件的路径为 /opt/homebrew/bin/mcp-for-azure-devops-boards。

Windows(Scoop)
scoop bucket add mcp-tools https://github.com/danielealbano/scoop-mcp-tools
scoop install mcp-for-azure-devops-boards

二进制文件的路径为 %USERPROFILE%\scoop\apps\mcp-for-azure-devops-boards\current\mcp-for-azure-devops-boards.exe。

配置
设置描述CLI 标志环境变量
服务模式以 HTTP 服务而非 stdio 模式运行--serverN/A
端口HTTP 服务的端口(默认:3000)--portN/A

注意:如果未指定 --server,软件将以 stdio 模式运行。

身份验证

此服务使用 Azure 标准身份验证机制查询 Azure DevOps。每次请求时,它都会通过按顺序尝试以下凭据来源,并使用第一个返回令牌的来源,为 Azure DevOps REST API 获取 Bearer 令牌(作用域 499b84ac-1321-427f-aa17-267ca6975798/.default):

  1. 环境变量(客户端密钥) — 仅当 AZURE_TENANT_ID、AZURE_CLIENT_ID 和 AZURE_CLIENT_SECRET 全部设置时使用。如果只设置了其中一部分,则会发出警告并跳过此来源。
  2. Azure CLI — 使用你的 az login 会话,针对 Azure DevOps 作用域运行 az account get-access-token。
  3. Azure Developer CLI — 使用你的 azd auth login 会话。
  4. 托管标识 — 用于托管在 Azure 上的部署。在 Azure 外部无法访问此探测,因此会设置 2 秒超时,随后跳过,以确保凭据链不会一直挂起。

如果所有来源都失败,返回的错误会列出各来源的失败原因,让你准确了解问题所在(例如 Azure CLI 同意错误以及“PATH 中找不到 azd”),而不是只显示最后一次尝试的错误。

对于本地开发,使用 Azure CLI 登录(如下所示)是最简单的方式——你必须运行过 az login,且拥有对目标 Azure DevOps 组织的访问权限。

安装 Azure CLI

如果尚未安装 Azure CLI:

macOS(Homebrew):

brew install azure-cli

Windows(Scoop):

scoop install azure-cli

Windows(Chocolatey):

choco install azure-cli

如需了解其他安装方式,请参阅 Azure CLI 官方安装指南。

登录

如需进行身份验证,请运行:

az login

使用方法

Stdio 模式(默认)

这是 MCP 客户端(例如 Claude Desktop 或 Cursor)的标准模式。出于安全考虑,推荐使用此模式,因为它可确保凭据不会通过网络共享。

path/to/mcp-for-azure-devops-boards
HTTP 服务模式

你也可以将其作为 HTTP 服务(SSE)运行。请注意,在此模式下,服务会监听 0.0.0.0(所有接口)。

path/to/mcp-for-azure-devops-boards --server --port 3000
MCP 配置

注意:请确保已在终端中运行 az login,以便进程获取凭据。

使用 --install 快速设置

通过首选客户端注册 MCP 服务的最快方式:

mcp-for-azure-devops-boards --install <target>

有效目标及其写入配置的位置:

目标配置文件范围
claude-code~/.claude.json全局(主目录)
claude-desktopmacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
全局(按用户)
cursor~/.cursor/mcp.json全局(主目录)
vscode.vscode/mcp.json工作区(当前目录)
codex~/.codex/config.toml全局(主目录)
gemini-cli~/.gemini/settings.json全局(主目录)

该命令会自动检测二进制文件路径,解析正确的配置文件位置,并按预期格式写入配置项。现有配置会予以保留。

手动配置
Claude Code

配置文件:~/.claude.json

{
  "mcpServers": {
    "mcp-for-azure-devops-boards": {
      "command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
    }
  }
}

Windows (Scoop):将命令路径替换为 %USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe。

Claude Desktop

配置文件位置:

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux:~/.config/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcp-for-azure-devops-boards": {
      "command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
    }
  }
}

Windows (Scoop):将命令路径替换为 %USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe。

Cursor

配置文件:~/.cursor/mcp.json

{
  "mcpServers": {
    "mcp-for-azure-devops-boards": {
      "command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
    }
  }
}

Windows (Scoop):将命令路径替换为 %USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe。

VS Code

配置文件:.vscode/mcp.json(工作区级别)

{
  "servers": {
    "mcp-for-azure-devops-boards": {
      "type": "stdio",
      "command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
    }
  }
}

Windows (Scoop):将命令路径替换为 %USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe。

gemini-cli

配置文件:~/.gemini/settings.json

{
  "mcpServers": {
    "mcp-for-azure-devops-boards": {
      "command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
    }
  }
}

Windows (Scoop):将命令路径替换为 %USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe。

Codex CLI

配置文件:~/.codex/config.toml

[mcp_servers.mcp-for-azure-devops-boards]
command = "/opt/homebrew/bin/mcp-for-azure-devops-boards"

Windows (Scoop):将命令路径替换为 %USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe。

可用工具

此软件目前仍在开发中。工具及其参数可能会发生变化。

该服务向 MCP 客户端提供以下工具。

工具名称的一般结构为 azdo_VERB_WHAT(例如 azdo_list_teams、azdo_get_work_item)。

发现
  • azdo_list_organizations:列出经过身份验证的用户有权访问的所有 Azure DevOps 组织。
    • 必需项:无(使用经过身份验证的用户凭据)
  • azdo_list_projects:列出 Azure DevOps 组织中的所有项目。
    • 必需项:organization
工作项

注意:所有工作项工具都需要 organization 和 project 参数。

  • azdo_create_work_item:创建新的工作项。
    • 必填:organization、project、work_item_type、title
    • 可选:description、assigned_to、area_path、iteration_path、state、board_column、board_row、priority、severity、story_points、effort、remaining_work、tags、activity、parent_id、start_date、target_date、acceptance_criteria、repro_steps、fields(自定义字段的 JSON 字符串)。
  • azdo_update_work_item:更新现有工作项。
    • 必填:organization、project、id
    • 可选:创建时可用的所有字段。
  • azdo_get_work_item:获取特定工作项的详细信息。
    • 必填:organization、project、id
    • 可选:include_latest_n_comments(要包含的近期评论数量,-1 表示全部)
  • azdo_get_work_items:根据 ID 获取多个工作项。
    • 必填:organization、project、ids(工作项 ID 数组)
    • 可选:include_latest_n_comments(要包含的近期评论数量,-1 表示全部)
  • azdo_query_work_items:使用结构化筛选条件查询工作项。
    • 必填:organization、project
    • 可选筛选条件:area_path、iteration_path、created_date_from/to、modified_date_from/to。
    • 包含列表:include_board_column、include_board_row、include_work_item_type、include_state、include_assigned_to、include_tags。
    • 排除列表:exclude_board_column、exclude_board_row、exclude_work_item_type、exclude_state、exclude_assigned_to、exclude_tags。
    • 可选:include_latest_n_comments(要包含的近期评论数量,-1 表示全部)
  • azdo_query_work_items_by_wiql:执行原始 WIQL(Work Item Query Language)查询。
    • 必填:organization、project、query
    • 可选:include_latest_n_comments(要包含的近期评论数量,-1 表示全部)
  • azdo_add_comment:向工作项添加评论。
    • 必填:organization、project、work_item_id、text
  • azdo_link_work_items:在两个工作项之间建立关系。
    • 必填:organization、project、source_id、target_id、link_type(Parent、Child、Related、Duplicate、Dependency)。
看板与团队

注意:所有看板和团队工具都需要 organization 和 project 参数。

  • azdo_list_teams:列出项目中的所有团队。
    • 必填:organization、project
  • azdo_get_team:获取特定团队的详细信息。
    • 必填:organization、project、team_id
  • azdo_list_team_boards:列出特定团队的看板。
    • 必填:organization、project、team_id
  • azdo_get_team_board:获取特定看板的详细信息。
    • 必填:organization、project、team_id、board_id
  • azdo_list_work_item_types:列出项目中所有可用的工作项类型。
    • 必填:organization、project
  • azdo_list_tags:列出项目中使用的所有标签。
    • 必填:organization、project
  • azdo_get_team_current_iteration:获取团队当前进行中的迭代/冲刺。
    • 必填:organization、project、team_id
  • azdo_get_team_iterations:获取团队的所有迭代/冲刺。
    • 必填:organization、project、team_id

贡献

欢迎贡献!

  1. Fork 此仓库。
  2. 为你的功能或错误修复创建一个新的 branch(git checkout -b feature/amazing-feature)。
  3. Commit 你的更改。
  4. Push 到你的分支。
  5. 发起一个 Pull Request。
从源代码构建
前提条件
  • Rust(最新稳定版本)
  • Azure CLI(本地身份验证所需)
步骤
  1. 克隆仓库:

    git clone https://github.com/danielealbano/mcp-for-azure-devops-boards.git
    cd mcp-for-azure-devops-boards
    
  2. 构建项目:

    cargo build --release
    
工具
  • 运行测试:cargo test
  • 检查代码风格:cargo fmt --check
  • 代码检查:cargo clippy

免责声明

本项目与 Microsoft 无关联,未获其认可或赞助。Azure、Azure DevOps 及相关商标均为各自所有者的财产。本软件使用 Microsoft 的标准服务 API 与 Azure 和 Microsoft Graph 等服务交互。

许可证

本项目采用 MIT License 授权,详情请参阅 LICENSE.md 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。