Azure DevOps MCP 服务器

Azure DevOps MCP 服务器是一个用于连接本地 Azure DevOps 环境与 Claude Code 的工具,提供工作项管理、Git 集成和管道自动化功能,适用于需要安全、集中管理 LLM 驱动项目的团队。

  • by conradprogrammer
  • 本地部署
  • 更新于
在 GitHub 查看 conradprogrammer/AzureDevOpsMCP

使用说明

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桌面

安装

  1. 克隆和构建:

    git clone <repository-url>
    cd AzureDevOpsMCP
    dotnet build
    
  2. 配置Azure DevOps连接:

    编辑 src/AzureDevOpsMcp.Server/appsettings.json:

    {
      "AzureDevOps": {
        "ServerUrl": "http://your-server/DefaultCollection/",
        "ProjectName": "YourProject",
        "UseWindowsAuth": true,
        "TimeoutSeconds": 30
      }
    }
    
  3. 配置Claude桌面:

    添加到您的Claude Desktop MCP配置中:

    {
      "mcpServers": {
        "azure-devops": {
          "command": "dotnet",
          "args": ["run", "--project", "path/to/src/AzureDevOpsMcp.Server"]
        }
      }
    }
    
  4. 开始使用克劳德!

可用的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 作为指导方针。