使用说明
Azure DevOps板的MCP
一个用Rust编写的模型上下文协议(MCP)服务器,用于与Azure DevOps板和工作项交互。
特性
-
工作项管理:创建、更新、获取和查询工作项。
-
董事会集成:列出团队、董事会,并获取董事会项目。
-
WIQL支持:运行自定义WIQL查询。
-
简化输出:针对LLM消费优化JSON输出(减少令牌使用)。
安装
查看该部分 MCP配置 了解如何配置您首选的AI(MCP)客户端。
macOS(自制)
brew tap danielealbano/mcp-tools
brew install mcp-for-azure-devops-boards
二进制文件的路径为 /opt/homebrew/bin/mcp-for-azure-devops-boards.
窗户(独家新闻)
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运行 | --server |
无 |
| 港口 | HTTP服务器的端口(默认值:3000) | --port |
无 |
注:如果 --server 如果未指定,软件将在stdio模式下运行。
认证
此服务器利用标准的Azure身份验证机制来查询Azure DevOps。上 每 请求它获取Azure DevOps REST API的承载令牌(范围 499b84ac-1321-427f-aa17-267ca6975798/.default)通过尝试以下凭据源 依次 并使用返回令牌的第一个:
- 环境(客户机密) --仅在以下情况下使用
AZURE_TENANT_ID,AZURE_CLIENT_ID,以及AZURE_CLIENT_SECRET是 全部 集。如果只设置了一些,则会跳过并发出警告。 - Azure命令行界面 --跑步
az account get-access-token对于Azure DevOps范围,使用您的az login会议。 - Azure开发者命令行界面 --使用您的
azd auth login会议。 - 管理身份 --适用于Azure托管部署。在Azure之外,此探测器无法访问,因此它受到 2秒超时 然后跳过,确保链条永远不会挂断。
如果 全部 如果源失败,返回的错误会列出每个源的失败原因(例如,Azure CLI同意错误以及“在PATH上找不到azd”),而不仅仅是最后一个尝试的错误。
对于本地开发,使用Azure CLI(如下)登录是最简单的选择——您必须运行 az login 访问目标Azure DevOps组织。
安装Azure CLI
如果您没有安装Azure CLI:
macOS(Homebrew):
brew install azure-cli
窗口(独家新闻):
scoop install azure-cli
窗户(巧克力):
choco install azure-cli
有关其他安装方法,请参阅 官方Azure CLI安装指南.
登录
要进行身份验证,请运行:
az login
用法
标准模式(默认)
这是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-desktop |
macOS: ~/Library/Application Support/Claude/claude_desktop_config.jsonLinux: ~/.config/Claude/claude_desktop_config.json窗户: %APPDATA%\Claude\claude_desktop_config.json |
全局(每个用户) |
cursor |
~/.cursor/mcp.json |
全球(家庭) |
vscode |
.vscode/mcp.json |
工作区(当前目录) |
codex |
~/.codex/config.toml |
全球(家庭) |
gemini-cli |
~/.gemini/settings.json |
全球(家庭) |
该命令自动检测二进制路径,解析正确的配置文件位置,并以预期的格式写入条目。保留现有配置。
手动配置
Claude 代码
配置文件: ~/.claude.json
{
"mcpServers": {
"mcp-for-azure-devops-boards": {
"command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
}
}
}
窗户(独家新闻):将命令路径替换为
%USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe.
克劳德桌面版
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"mcp-for-azure-devops-boards": {
"command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
}
}
}
窗户(独家新闻):将命令路径替换为
%USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe.
光标
配置文件: ~/.cursor/mcp.json
{
"mcpServers": {
"mcp-for-azure-devops-boards": {
"command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
}
}
}
窗户(独家新闻):将命令路径替换为
%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"
}
}
}
窗户(独家新闻):将命令路径替换为
%USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe.
双子座气候
配置文件: ~/.gemini/settings.json
{
"mcpServers": {
"mcp-for-azure-devops-boards": {
"command": "/opt/homebrew/bin/mcp-for-azure-devops-boards"
}
}
}
窗户(独家新闻):将命令路径替换为
%USERPROFILE%\\scoop\\apps\\mcp-for-azure-devops-boards\\current\\mcp-for-azure-devops-boards.exe.
Codex 命令行界面
配置文件: ~/.codex/config.toml
[mcp_servers.mcp-for-azure-devops-boards]
command = "/opt/homebrew/bin/mcp-for-azure-devops-boards"
窗户(独家新闻):将命令路径替换为
%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(工作项查询语言)查询。- 必需的:
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(父、子、相关、重复、依赖)。
- 必需的:
董事会和团队
备注:所有董事会和团队工具都需要
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
- 必需的:
贡献
我们欢迎捐款!
- 叉子 存储库。
- 创建一个新的 分支 针对您的功能或错误修复(
git checkout -b feature/amazing-feature). - 提交 您的更改。
- 推 到你的分行。
- 打开A 拉取请求.
从源头构建
先决条件
- 锈 (最新稳定版本)
- Azure命令行界面 (本地身份验证所需)
步骤
-
克隆存储库:
git clone https://github.com/danielealbano/mcp-for-azure-devops-boards.git cd mcp-for-azure-devops-boards -
构建项目:
cargo build --release
工具
- 运行测试:
cargo test - 检查代码样式:
cargo fmt --check - Linting:
cargo clippy
免责声明
此项目与Microsoft无关、不受Microsoft认可或赞助。Azure、Azure DevOps和相关商标是其各自所有者的财产。该软件使用标准的Microsoft服务API与Azure和Microsoft Graph以及其他服务进行交互。
许可证
此项目根据MIT许可证获得许可-请参阅 许可证.md 文件以获取详细信息。
