Skip to main content

Azure DevOps MCP Server

一个用于连接 Azure DevOps / TFS 的 MCP (Model Context Protocol) 服务,支持查询和创建工作项。

功能特性

  • 查询工作项: 通过 ID、WIQL 查询语句或文本搜索获取工作项
  • 创建工作项: 支持 Bug、Task、User Story 等多种工作项类型
  • 获取项目列表: 列出组织中的所有项目
  • 获取工作项类型: 查看项目中可用的工工作项类型

安装

方式一: 通过 pip 安装 (推荐用于分发)

pip install azure-devops-mcp

安装后,必须配置环境变量(见下方配置部分)。

方式二: 从源码安装 (开发模式)

cd azure-devops-mcp
pip install -e .

配置

方式一: 使用配置文件 (仅适用于源码安装)

编辑 config.yaml 文件:

organization:
  url: "https://dev.azure.com/your-organization"
  project: "your-project-name"

auth:
  method: "pat"  # 或 "basic" 用于 TFS 用户名密码认证
  pat: "your-personal-access-token"  # PAT 方式
  # username: "your-username"  # Basic 方式
  # password: "your-password"  # Basic 方式

方式二: 使用环境变量 (pip 安装必需)

在 Claude Desktop 配置或系统环境中设置以下变量:

使用 PAT 认证 (推荐):

AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-organization
AZURE_DEVOPS_PROJECT=your-project-name
AZURE_DEVOPS_PAT=your-personal-access-token

使用 Basic 认证 (TFS):

AZURE_DEVOPS_ORG_URL=https://your-tfs-server/tfs
AZURE_DEVOPS_PROJECT=your-project-name
TFS_USERNAME=your-username
TFS_PASSWORD=your-password

使用方法

在 Claude Desktop 中配置

编辑 Claude Desktop 配置文件:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

pip 安装方式 (推荐):

{
  "mcpServers": {
    "azure-devops": {
      "command": "azure-devops-mcp",
      "env": {
        "AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization",
        "AZURE_DEVOPS_PROJECT": "your-project-name",
        "AZURE_DEVOPS_PAT": "your-personal-access-token"
      }
    }
  }
}

源码安装方式:

{
  "mcpServers": {
    "azure-devops": {
      "command": "python",
      "args": ["/path/to/azure-devops-mcp/src/azure_devops_mcp/server.py"],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization",
        "AZURE_DEVOPS_PROJECT": "your-project-name",
        "AZURE_DEVOPS_PAT": "your-personal-access-token"
      }
    }
  }
}

重启 Claude Desktop

配置完成后,重启 Claude Desktop 以加载 MCP 服务。

可用工具

1. get_work_item

获取单个工作项详情

输入: work_item_id (必需), project (可选)

2. get_work_items

批量获取多个工作项

输入: work_item_ids (必需), fields (可选), project (可选)

3. query_work_items

使用 WIQL 查询工作项

输入: wiql (必需), project (可选)

示例 WIQL:
SELECT [System.Id] FROM WorkItems
WHERE [System.TeamProject] = @project
AND [System.State] = 'Active'

4. create_work_item

创建新工作项

输入: work_item_type (必需), title (必需),
      description (可选), assigned_to (可选),
      fields (可选), project (可选)

5. search_work_items

搜索工作项

输入: search_text (必需), project (可选), top (可选)

6. get_projects

获取所有项目列表

7. get_work_item_types

获取可用的工工作项类型

输入: project (可选)

使用示例

查询工作项

帮我查询 ID 为 12345 的工作项详情

搜索工作项

搜索标题中包含 "登录" 的工作项

创建工作项

创建一个 Bug:
标题: 用户登录时出现错误
描述: 在用户登录页面输入密码后点击登录按钮,系统返回 500 错误
指派给: zhangsan@example.com
优先级: 1

WIQL 查询

使用 WIQL 查询所有分配给我的高优先级 Bug

故障排除

MCP 服务器启动失败 (exit code 1)

错误: The MCP server exited unexpectedly with code 1

原因: 缺少必需的环境变量配置

解决方案:

  1. 确认在 Claude Desktop 配置中设置了所有必需的环境变量:

    • AZURE_DEVOPS_ORG_URL
    • AZURE_DEVOPS_PROJECT
    • AZURE_DEVOPS_PAT (或 TFS_USERNAME/TFS_PASSWORD)
  2. 检查环境变量值是否正确(没有多余的空格或引号)

  3. 如果仍然失败,可以在终端中直接运行命令查看详细错误:

    # pip 安装方式
    azure-devops-mcp
    
    # 源码安装方式
    python /path/to/azure-devops-mcp/src/azure_devops_mcp/server.py
    

认证失败

  • 确认 PAT 没有过期
  • 确认 PAT 有足够的权限 (至少需要 "Work Items" 读写权限)
  • 检查 URL 是否正确 (包含组织名称)

401 Unauthorized

  • 检查 PAT 是否有效
  • 确认 PAT 有访问指定项目的权限
  • 对于 TFS,确认用户名和密码正确

找不到项目

  • 确认项目名称拼写正确
  • 确认你的账户有访问该项目的权限
  • 尝试使用 get_projects 工具列出所有可用项目

开发

项目结构

azure-devops-mcp/
├── src/
│   ├── __init__.py
│   ├── server.py              # MCP 服务器主文件
│   └── azure_devops_client.py # Azure DevOps API 客户端
├── config.yaml                # 配置文件
├── .env.example              # 环境变量示例
├── requirements.txt          # Python 依赖
├── pyproject.toml           # 项目配置
└── README.md                # 本文件

运行测试

python src/server.py

许可证

MIT License

贡献

欢迎提交 Issue 和 Pull Request!

相关链接

Metadata

Release files for azure-devops-mcp 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for azure-devops-mcp 0.2.0
File Size Uploaded Provenance Actions
azure_devops_mcp-0.2.0.tar.gz 10.5 kB Without provenance Details for azure_devops_mcp-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for azure-devops-mcp 0.2.0
File Interpreter ABI Platform Actions
azure_devops_mcp-0.2.0-py3-none-any.whl Python 3 none any Details for azure_devops_mcp-0.2.0-py3-none-any.whl

Total release size: 21.6 kB

Release files / azure_devops_mcp-0.2.0.tar.gz

Download URL azure_devops_mcp-0.2.0.tar.gz
Size 10.5 kB
Tags Source
SHA-256 checksum
How to use checksums
47937e12fccc21176419246935bfce2cc3cb190b6a0303dc050669feec53f6ab
BLAKE2b-256 checksum
How to use checksums
22cf29236f141e987df5031ec13c3586c3a20d160fd1da321d44db4604e51afa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Release files / azure_devops_mcp-0.2.0-py3-none-any.whl

Download URL azure_devops_mcp-0.2.0-py3-none-any.whl
Size 11.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a07fcc828ed4193a3e7169d112dfc5b6f4bdf2045992073e272790f1f9e78284
BLAKE2b-256 checksum
How to use checksums
b02d36f2108c69e221bc7e394fa2eb28039620648ec198ca358bdf8fed524bf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.2

Security for azure-devops-mcp 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page