Azure DevOps AI助手

一个连接Azure DevOps和AI助手(如Claude)的MCP服务器,允许通过自然语言查询CI/CD管道和构建失败信息。

  • by GabrielTitanium
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 GabrielTitanium/mcp-azure-devops-assistant

使用说明

MCP Azure DevOps助手

一个MCP服务器,将Azure DevOps连接到Claude等人工智能助手,支持对CI/CD管道和构建失败的自然语言查询。

什么是MCP?

模型上下文协议(MCP)是一个开放标准,将AI助手与外部工具和数据连接起来。它允许Claude直接访问您的Azure DevOps数据,而不需要复制粘贴交互。

建筑

┌─────────────────┐
│ Claude Desktop  │
│   (AI Chat)     │
└────────┬────────┘
         │ MCP Protocol (stdio)
         │
┌────────▼────────────────────┐
│ MCP Server (server.py)      │
│  • list_pipelines()         │
│  • get_failed_pipeline_runs()│
└────────┬────────────────────┘
         │
┌────────▼────────────────────┐
│ AzureDevOpsClient           │
│ (azure_devops_client.py)    │
└────────┬────────────────────┘
         │ REST API + PAT Auth
         │
┌────────▼────────────────────┐
│ Azure DevOps REST API       │
└─────────────────────────────┘

快速开始

1.安装依赖项

pip install -r requirements.txt

2.配置环境

创建一个 .env 文件:

AZDO_ORG=your-organization
AZDO_PROJECT=your-project
AZDO_PAT=your-personal-access-token

从Azure DevOps获取PAT: 用户设置 → 个人访问令牌
所需范围: 构建(读取), 管道(已读)

3.配置克劳德桌面

编辑您的Claude Desktop配置文件:

窗户: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "azure-devops": {
      "command": "python",
      "args": ["C:\\Projects\\mcp-azure-devops-assistant\\server.py"],
      "env": {
        "AZDO_ORG": "your-organization",
        "AZDO_PROJECT": "your-project",
        "AZDO_PAT": "your-personal-access-token"
      }
    }
  }
}

重新启动克劳德桌面。

4.测试服务器

python server.py

可用工具

list_pipelines()

返回Azure DevOps项目中的所有管道。

get_failed_pipeline_runs(hours=24)

返回指定时间窗口内失败的管道运行。

示例提示

"What pipelines do we have?"

"Show me failed builds from the last 24 hours"

"Which pipeline has failed most often this week?"

"Give me a summary of overnight build failures with links"

输出示例

User: Any failed runs today?

Claude: Let me check for you.

Yes, there have been 2 failed runs:

1. frontend-build
   - Failed at: 2026-01-14 10:30 UTC
   - Link: https://dev.azure.com/org/project/_build/results?buildId=12345

2. integration-tests
   - Failed at: 2026-01-14 08:15 UTC
   - Link: https://dev.azure.com/org/project/_build/results?buildId=12340

我学到了什么

MCP很简单: FastMCP使构建MCP服务器变得非常简单。整个服务器大约有30行Python。

身份验证: Azure DevOps使用带有base64编码PAT令牌的Basic Auth。将凭据保存在环境变量中,而不是代码中。

自然语言能力: 用户可以在不了解API结构的情况下提出复杂的问题。Claude智能地组合工具调用来回答复杂的查询。

快速发展: 从想法到工作整合只需要几个小时。MCP大大减少了将AI连接到现有工具的摩擦。

未来想法: 添加更多工具(触发构建、查看日志、工作项),实现缓存,添加webhook支持以进行实时更新。

贡献

欢迎投稿!打开问题或提交拉取请求。

许可证

MIT许可证