使用说明
AzureDevOpsMCP
在Prem Azure DevOps上,您可以通过AI LLM直接访问自己的MCP服务器,例如VS代码编辑器中的Claude代码扩展
Azure DevOps MCP服务器
组织大型LLM编码项目可能是一个挑战,特别是当您想将代码存储库保留在本地时。Azure DevOps MCP服务器通过使Claude Code能够直接与您的本地Azure DevOps环境交互来弥合这一差距。此解决方案将模型上下文协议(MCP)的强大功能带到您的工作项、Git存储库和管道中,使项目管理无缝高效。
为什么使用这个?
- 内部友好: 专为喜欢将代码和项目数据放在自己防火墙后面的组织而设计。
- 集成工作流: 将Claude Code连接到Azure DevOps,以实现统一的工作项管理、Git集成和流水线自动化。
- 简化协作: 链接提交到工作项、管理拉取请求和跟踪构建状态——所有这些都来自您的本地设置。
主要特点
- 工作项管理: 创建、查询、更新和链接史诗、功能、用户故事、任务和Bug。
- Git集成: 直接链接提交、查看历史记录和管理拉取请求。
- 管道自动化: 轻松触发构建、监控状态和检索日志。
此解决方案非常适合为LLM驱动的编码工作流程寻求稳健、安全和集中项目管理的团队。
Azure DevOps MCP服务器
Azure DevOps的模型上下文协议服务器,使Claude Code能够与工作项、Git存储库和管道进行交互。
特性
工作项管理
- 获取、查询、创建、更新工作项
- 管理Epics、功能、用户故事、任务、Bug
- 链接和组织工作项
- 跟踪进度和任务
Git集成
- 链接提交到工作项
- 查看提交历史记录
- 创建和管理pull请求
- 检查PR状态和评论
管道自动化
- 触发器构建
- 监控管道状态
- 检索构建日志
快速开始
先决条件
- .NET 10运行时
- Azure DevOps服务器(本地)或Azure DevOps服务
- 支持MCP的Claude桌面
安装
-
克隆和构建:
git clone <repository-url> cd AzureDevOpsMCP dotnet build -
配置Azure DevOps连接:
编辑
src/AzureDevOpsMcp.Server/appsettings.json:{ "AzureDevOps": { "ServerUrl": "http://your-server/DefaultCollection/", "ProjectName": "YourProject", "UseWindowsAuth": true, "TimeoutSeconds": 30 } } -
配置Claude桌面:
添加到您的Claude Desktop MCP配置中:
{ "mcpServers": { "azure-devops": { "command": "dotnet", "args": ["run", "--project", "path/to/src/AzureDevOpsMcp.Server"] } } } -
开始使用克劳德!
可用的MCP工具
工作项
| 工具 | 说明 |
|---|---|
devops_get_work_item |
按ID获取工作项详细信息 |
devops_query_work_items |
执行WIQL查询 |
devops_get_my_work |
获取分配给当前用户的项目 |
devops_get_next_task |
获取下一个要处理的任务 |
devops_get_epics |
获取所有Epic |
devops_get_stories |
获取所有用户故事 |
devops_get_tasks |
获取所有任务 |
devops_create_work_item |
创建新工作项 |
devops_update_work_item |
更新工作项字段 |
devops_change_state |
更改工作项状态 |
devops_link_work_items |
链接两个工作项 |
devops_unlink_work_items |
删除项目之间的链接 |
Git
| 工具 | 说明 |
|---|---|
devops_link_commit_to_work_item |
将提交链接到工作项 |
devops_get_commits |
获取提交历史记录 |
devops_create_pull_request |
创建pull请求 |
devops_get_pull_request_status |
获取PR状态和评论 |
管道
| 工具 | 说明 |
|---|---|
devops_trigger_pipeline |
触发管道构建 |
devops_get_pipeline_status |
获取构建状态 |
devops_get_build_logs |
获取构建日志 |
看 docs/tools.md 用于完整的工具参考和参数。
Claude使用示例
获取工作项:
显示工作项#25
创建任务:
在用户故事#10下创建一个名为“实现登录验证”的任务
查询工作:
分配给我的任务是什么?
链接提交:
将提交a3f5c2d链接到工作项#25
创建PR:
创建从feature/auth到main的pull请求
检查构建:
版本#123的状态如何?
配置
应用程序参数
{
"AzureDevOps": {
"ServerUrl": "http://192.168.0.57/DefaultCollection/",
"ProjectName": "Test001",
"UseWindowsAuth": true,
"TimeoutSeconds": 30
}
}
环境变量(覆盖)
# Override PAT (switches to PAT auth)
$env:DEVOPS_PAT="your-token-here"
# Override server URL
$env:DEVOPS_SERVER_URL="http://different-server/Collection/"
# Override project
$env:DEVOPS_PROJECT="AnotherProject"
发展
构建
dotnet build
运行测试
dotnet test
在本地运行
dotnet run --project src/AzureDevOpsMcp.Server
建筑
- MCP协议:stdio传输
- 认证:Windows身份验证或PAT
- Azure DevOps客户端:微软官方库
- 框架: .净值10
项目结构
AzureDevOpsMCP/
├── src/
│ └── AzureDevOpsMcp.Server/
│ ├── Configuration/ # Settings classes
│ ├── Connection/ # Azure DevOps connection
│ ├── Models/ # Data models
│ ├── Tools/ # MCP tool implementations
│ │ ├── WorkItems/ # Work item tools (12 tools)
│ │ ├── Git/ # Git tools (4 tools)
│ │ └── Pipelines/ # Pipeline tools (3 tools)
│ └── Program.cs # Entry point
├── tests/
│ ├── AzureDevOpsMcp.Tests/ # Unit tests
│ └── AzureDevOpsMcp.IntegrationTests/ # Integration tests
├── deployment/ # CI/CD configuration
│ └── azure-pipelines.yml
└── docs/
└── tools.md # Tool reference
故障排除
连接失败
- 验证中的服务器URL
appsettings.json - 检查DevOps服务器的网络访问权限
- 确保已配置Windows身份验证
- 尝试访问DevOps web UI以验证凭据
未找到项目
- 验证项目名称是否完全匹配(区分大小写)
- 检查您是否有权访问该项目
- 验证URL中的集合名称
构建错误
- 确保。已安装NET 10 SDK:
dotnet --version - 还原包:
dotnet restore - 清洁构建:
dotnet clean && dotnet build
许可证
MIT许可证
贡献
欢迎投稿!看 贡献.md 作为指导方针。