Azure DevOps工作项MCP服务器
用于Azure DevOps工作项管理的专注MCP服务器-在人工智能的帮助下创建、更新、查询和管理工作项。
概述
Azure DevOps工作项MCP服务器直接为您的AI代理带来全面的工作项管理功能。它提供了完整的CRUD操作、使用WIQL的高级查询、分类管理(区域/迭代)等等。
主要特点
- 完成工作项操作:创建、读取、更新、删除和还原工作项
- 高级查询:执行WIQL查询并管理已保存的查询
- 分类管理:创建和管理区域路径和迭代路径
- 元数据访问:列出工作项类型、字段及其属性
- 修订历史:访问完整的修订历史和变更跟踪
- 批量操作:高效地执行批量更新
- 工作项链接:创建和管理工作项之间的关系
- MCP资源:通过URI方案访问工作项,实现无缝集成
- 预构建提示:常见场景已准备就绪
✅ 生产测试
此MCP服务器已 在生产中经过全面测试 使用真正的Azure DevOps工作项:
- ✅ 12个工作项目 已成功创建和更新
- ✅ 8项综合测试 已通过(创建、更新、缩放、批处理、复杂、链接、查询、修订)
- ✅ 性能已验证:2.5次操作/秒持续吞吐量
- ✅ 所有44+工具 功能验证
- ✅ 100%成功率 在生产环境中
看 生产报告.md 完整的测试结果和 TEST_RESULTS.md 查看详细的执行日志。
安装
先决条件
- Node.js 20或更高版本 (必需-不支持节点18及以下)
- Azure DevOps组织和项目
- 具有适当权限的个人访问令牌
⚠️ 重要:此包需要Node.js版本20或更高版本。如果您使用的是Node 18或更低版本,则必须升级到Node 20+。我们建议使用 非挥发性物质 管理节点版本。
# Check your Node version
node --version
# If below v20, upgrade using nvm:
nvm install 20
nvm use 20
nvm alias default 20NPX快速入门
将以下内容添加到您的 .vscode/mcp.json:
{
"inputs": [
{
"id": "ado_org",
"type": "promptString",
"description": "Azure DevOps organization name (e.g. 'contoso')"
}
],
"servers": {
"ado-workitems": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@azure-devops/mcp-workitems", "${input:ado_org}"]
}
}
}认证
服务器支持多种身份验证方法:
PAT(个人访问令牌)-推荐
{
"servers": {
"ado-workitems": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@azure-devops/mcp-workitems", "YOUR_ORG", "--authentication", "pat"],
"env": {
"ADO_PAT": "YOUR_PERSONAL_ACCESS_TOKEN"
}
}
}
}交互式OAuth(默认)
{
"servers": {
"ado-workitems": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@azure-devops/mcp-workitems", "YOUR_ORG"]
}
}
}Azure命令行界面
{
"servers": {
"ado-workitems": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@azure-devops/mcp-workitems", "YOUR_ORG", "--authentication", "azcli"]
}
}
}可用工具
核心业务
core_list_projects-列出组织中的所有项目core_list_project_teams-列出项目中的团队
工作项CRUD
wit_get_work_item-按ID获取单个工作项wit_create_work_item-创建新工作项wit_update_work_item-更新工作项字段wit_delete_work_item-将工作项移至回收站wit_restore_work_item-从回收站还原wit_get_work_items_batch_by_ids-获取多个工作项wit_update_work_items_batch-批量更新工作项
工作项历史记录
wit_get_work_item_revisions-获取完整的修订历史记录wit_get_work_item_revision-获取具体修订wit_get_work_item_updates-获取更改列表
查询
wit_my_work_items-获取分配给您的项目wit_execute_wiql-执行WIQL查询wit_get_query-获取查询定义wit_get_query_results_by_id-执行已保存的查询wit_list_queries-列出所有已保存的查询wit_create_query-创建新的已保存查询wit_update_query-更新现有查询wit_delete_query-删除查询
工作项关系
wit_work_items_link-链接两个工作项wit_work_item_unlink-删除工作项之间的链接wit_add_child_work_items-添加子工作项wit_link_work_item_to_pull_request-链接到pull请求wit_add_artifact_link-链接到构建、提交等。
评论
wit_list_work_item_comments-列出所有评论wit_add_work_item_comment-添加评论
元数据
wit_list_work_item_types-列出所有工作项类型wit_get_work_item_type-获取工作项类型详细信息wit_list_work_item_fields-列出所有字段wit_get_work_item_field-获取字段详细信息
分类(区域和迭代)
wit_list_areas-列出所有区域路径wit_create_area-创建新的区域路径wit_update_area-更新区域路径wit_delete_area-删除区域路径wit_list_iterations-列出所有迭代路径wit_create_iterations-创建迭代路径wit_update_iteration-用日期更新迭代wit_delete_iteration-删除迭代路径wit_list_team_iterations-列出团队迭代wit_assign_iterations-为团队分配迭代
积压工作
wit_list_backlogs-列出团队的待办事项wit_list_backlog_work_items-获取积压的工作项wit_get_work_items_for_iteration-在迭代中获取项目
功能规划
wit_feature_requirements-以结构化JSON格式获取所有子用户故事的功能(针对AI代理构建功能进行了优化)
MCP资源
通过URI方案直接访问工作项:
workitem://{project}/{id}-单个工作项workitems://{project}/my-您分配的工作项workitems://{project}/queries/{queryId}-查询结果workitems://{project}/iterations/{team}/{iterationPath}-迭代项目
例子:
workitem://MyProject/123预构建提示
与您的AI助手一起使用这些提示:
- 项目 -列出所有项目
- 团队 -列出项目中的团队
- getWorkItem -获取工作项详细信息
- 创建bug -创建新bug
- myWorkItems -列出您的工作项
- sprintBacklog -显示当前冲刺积压
- updateWorkItemStatus -更新工作项状态
- findActiveBugs -查找所有活动Bug
常见用法示例
创建Bug
Create a new bug in MyProject titled "Login button not working" with description "Users cannot click the login button on the main page"更新工作项
Update work item 123 in MyProject and set state to "Resolved"查询活动Bug
Find all active bugs in MyProject assigned to me管理Sprint
Show me the current sprint backlog for Team Alpha in MyProject工作项层次结构
Create a User Story titled "User Login" in MyProject, then add 3 child tasks: "Design UI", "Implement Backend", "Write Tests"最佳实践
对于AI代理
- 始终指定项目 -大多数工具都需要项目参数
- 使用WIQL进行复杂查询 -比个人更强大
- 批量操作 -使用批处理工具进行多次更新
- 检查工作项类型 -使用
wit_list_work_item_types查看可用类型 - 使用资源 -基于URI的访问,实现更清晰的集成
字段名称
为字段使用引用名称:
System.Title-工作项标题System.State-当前状态System.AssignedTo-已分配用户System.Description-说明System.AreaPath-区域分类System.IterationPath-迭代分类
WIQL示例
-- Active bugs assigned to me
SELECT [System.Id], [System.Title]
FROM WorkItems
WHERE [System.WorkItemType] = 'Bug'
AND [System.AssignedTo] = @Me
AND [System.State] = 'Active'
-- High priority items in current iteration
SELECT [System.Id], [System.Title], [System.Priority]
FROM WorkItems
WHERE [System.IterationPath] = @CurrentIteration
AND [Microsoft.VSTS.Common.Priority] = 1
ORDER BY [System.ChangedDate] DESC故障排除
身份验证错误
如果您看到身份验证错误:
- 验证您的PAT具有正确的范围(工作项:读写)
- 检查PAT是否未过期
- 确保组织名称正确
未找到工具
如果工具不可用:
- 重新启动MCP客户端
- 检查服务器是否正在运行(
npx @azure-devops/mcp-workitems --help) - 验证您使用的是最新版本
查询错误
对于WIQL查询错误:
- 检查字段引用名称是否正确
- 验证项目是否存在
- 使用
wit_get_query查看有效的查询语法
贡献
欢迎投稿!看 贡献.md 作为指导方针。
许可证
MIT许可证-请参阅 许可证.md
支持
- GitHub问题:https://github.com/microsoft/azure-devops-mcp/issues
- 文档:https://github.com/microsoft/azure-devops-mcp
______________________________________________________________________
使用模型上下文协议(MCP)构建 -将Azure DevOps工作项管理带给您的AI代理。
