Skip to main content
Glama

azure-devops-mcp

Azure DevOps MCP 集成

星史

Azure DevOps 的强大集成,可通过模型上下文协议 (MCP) 服务器无缝访问工作项、存储库、项目、板和冲刺。

概述

该服务器提供便捷的 API,用于与 Azure DevOps 服务交互,使 AI 助手和其他工具能够管理工作项、代码存储库、看板、冲刺等。它基于模型上下文协议构建,提供与 Azure DevOps 通信的标准化接口。

演示

Azure DevOps MCP 演示

特征

该集成分为八个主要工具类别:

工作项工具

  • 使用 WIQL 查询列出工作项
  • 通过 ID 获取工作项详细信息
  • 搜索工作项
  • 获取最近更新的工作项
  • 获取分配的工作项目
  • 创建新的工作项
  • 更新现有工作项
  • 向工作项添加评论
  • 更新工作项状态
  • 分配工作项
  • 在工作项之间创建链接
  • 批量创建/更新工作项

看板和冲刺工具

  • 获取团队公告板
  • 获取板列
  • 获取棋盘物品
  • 在棋盘上移动卡片
  • 获得冲刺
  • 获取当前冲刺
  • 获取冲刺工作项
  • 获得冲刺能力
  • 获取团队成员

项目工具

  • 列出项目
  • 获取项目详细信息
  • 创建新项目
  • 获取区域
  • 获取迭代次数
  • 创建区域
  • 创建迭代
  • 获取流程模板
  • 获取工作项类型
  • 获取工作项类型字段

Git 工具

  • 列出存储库
  • 获取存储库详细信息
  • 创建存储库
  • 列出分支
  • 搜索代码
  • 浏览存储库
  • 获取文件内容
  • 获取提交历史记录
  • 列出拉取请求
  • 创建拉取请求
  • 获取拉取请求详细信息
  • 获取拉取请求评论
  • 批准拉取请求
  • 合并拉取请求

测试能力工具

  • 运行自动化测试
  • 获取测试自动化状态
  • 配置测试代理
  • 创建测试数据生成器
  • 管理测试环境
  • 获取测试不稳定性分析
  • 获取测试差距分析
  • 运行测试影响分析
  • 获取测试健康仪表板
  • 运行测试优化
  • 创建探索性会议
  • 记录探索性测试结果
  • 将发现结果转换为工作项
  • 获取探索性测试统计数据

DevSecOps 工具

  • 运行安全扫描
  • 获取安全扫描结果
  • 追踪安全漏洞
  • 生成安全合规性报告
  • 整合 SARIF 结果
  • 运行合规性检查
  • 获取合规状态
  • 创建合规性报告
  • 管理安全策略
  • 追踪安全意识
  • 轮换机密
  • 审计秘密使用情况
  • 配置保险库集成

工件管理工具

  • 列出工件源
  • 获取包版本
  • 发布包
  • 推广套餐
  • 删除包版本
  • 列出容器镜像
  • 获取容器镜像标签
  • 扫描容器镜像
  • 管理容器策略
  • 管理通用包
  • 创建包下载报告
  • 检查包依赖关系

人工智能辅助开发工具

  • 获得 AI 驱动的代码审查
  • 建议代码优化
  • 识别代码异味
  • 获取预测性错误分析
  • 获取开发人员生产力指标
  • 获取预测工作量估算
  • 获取代码质量趋势
  • 建议工作项改进
  • 建议自动化机会
  • 创建智能警报
  • 预测构建失败
  • 优化测试选择

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 azuredevops-mcp:

npx -y @smithery/cli install @RyanCardin15/azuredevops-mcp --client claude

先决条件

  • Node.js(v16 或更高版本)
  • TypeScript(v4 或更高版本)
  • 具有个人访问令牌 (PAT) 或适当的本地凭据的 Azure DevOps 帐户

设置

  1. 克隆存储库:
    git clone <repository-url> cd AzureDevOps
  2. 安装依赖项:
    npm install
  3. 配置环境变量(创建.env文件或者直接设置):对于 Azure DevOps Services(云):
    AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-organization AZURE_DEVOPS_PROJECT=your-default-project AZURE_DEVOPS_IS_ON_PREMISES=false AZURE_DEVOPS_AUTH_TYPE=pat # or 'entra' AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN=your-personal-access-token
    对于 Azure DevOps Server(本地):
    AZURE_DEVOPS_ORG_URL=https://your-server/tfs AZURE_DEVOPS_PROJECT=your-default-project AZURE_DEVOPS_IS_ON_PREMISES=true AZURE_DEVOPS_COLLECTION=your-collection AZURE_DEVOPS_API_VERSION=6.0 # Adjust based on your server version # Authentication (choose one): # For PAT authentication: AZURE_DEVOPS_AUTH_TYPE=pat AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN=your-personal-access-token # For NTLM authentication: AZURE_DEVOPS_AUTH_TYPE=ntlm AZURE_DEVOPS_USERNAME=your-username AZURE_DEVOPS_PASSWORD=your-password AZURE_DEVOPS_DOMAIN=your-domain # For Basic authentication: AZURE_DEVOPS_AUTH_TYPE=basic AZURE_DEVOPS_USERNAME=your-username AZURE_DEVOPS_PASSWORD=your-password
  4. 构建项目:
    npm run build
    如果您遇到 TypeScript 错误但仍想继续:
    npm run build:ignore-errors
  5. 启动服务器:
    npm run start

配置

个人访问令牌(PAT)

对于 Azure DevOps 服务(云),您需要创建具有适当权限的个人访问令牌:

  1. 转到你的 Azure DevOps 组织
  2. 点击右上角的个人资料图标
  3. 选择“个人访问令牌”
  4. 点击“新代币”
  5. 为其命名并选择适当的范围:
    • 工作项目:阅读和写作
    • 代码:读取和写入
    • 项目和团队:阅读和写作
    • 构建:阅读
    • 发布:阅读

对于 Azure DevOps Server(本地),您有三种身份验证选项:

  1. 个人访问令牌(PAT):
    • 与云设置类似,但在本地实例中创建 PAT
    • 设置AZURE_DEVOPS_AUTH_TYPE=pat
  2. NTLM 身份验证:
    • 使用您的 Windows 域凭据
    • 设置AZURE_DEVOPS_AUTH_TYPE=ntlm
    • 提供用户名、密码和域名
  3. 基本身份验证:
    • 使用您的本地凭证
    • 设置AZURE_DEVOPS_AUTH_TYPE=basic
    • 提供用户名和密码

Azure DevOps Services 与 Azure DevOps Server

此集成支持云托管的 Azure DevOps Services 和本地 Azure DevOps Server:

Azure DevOps 服务(云)
  • 使用组织 URL 和 PAT 进行简单设置
  • 默认配置预期格式: https://dev.azure.com/your-organization
  • 始终使用 PAT 身份验证
  • .env.cloud.example中提供的示例配置文件
Azure DevOps 服务器(本地)
  • 需要对服务器 URL、收集和身份验证进行额外配置
  • URL 格式根据您的服务器设置而有所不同: https://your-server/tfs
  • 需要指定集合名称
  • 支持多种身份验证方法(PAT、NTLM、Basic)
  • 可能需要针对旧服务器版本的 API 版本规范
  • .env.on-premises.example中提供的示例配置文件
主要区别
特征Azure DevOps 服务Azure DevOps 服务器
URL 格式https://dev.azure.com/orghttps://server/tfs
收藏不要求必需的
身份验证方法PAT、Entra ID(默认AzureCredential)PAT、NTLM、基础
API 版本最新(自动)可能需要规范
联系始终保持互联网连接可以气隙
进入授权

确保您已安装 az cli 并且已通过身份验证。只要您已通过身份验证,azd 和 AZ Powershell 模块也应该可以工作。

示例配置

.env.cloud.example.env.on-premises.example复制到.env并根据需要更新值。

环境变量

可以使用以下环境变量配置服务器:

多变的描述必需的默认
AZURE_DEVOPS_ORG_URL您的 Azure DevOps 组织或服务器的 URL是的-
AZURE_DEVOPS_项目默认使用的项目是的-
AZURE_DEVOPS_IS_ON_PREMISES是否使用 Azure DevOps Server错误的
AZURE_DEVOPS_COLLECTION本地集合名称*-
AZURE_DEVOPS_API_版本本地 API 版本-
AZURE_DEVOPS_AUTH_TYPE身份验证类型(pat/ntlm/basic/entra)
AZURE_DEVOPS_PERSONAL_ACCESS_TOKEN个人访问令牌(用于“pat”授权)**-
AZURE_DEVOPS_用户名NTLM/Basic 身份验证的用户名**-
AZURE_DEVOPS_密码NTLM/基本身份验证的密码**-
AZURE_DEVOPS_DOMAINNTLM 身份验证的域-
允许的工具要启用的工具方法的逗号分隔列表所有工具

* 如果AZURE_DEVOPS_IS_ON_PREMISES=true则为必填项 ** 根据所选的身份验证类型为必填项

使用 ALLOWED_TOOLS 进行工具过滤

ALLOWED_TOOLS环境变量允许您限制可用的工具方法。这完全是可选的 - 如果未指定,则将启用所有工具。

格式:以逗号分隔的方法名称列表,其中不带空格。

例子:

ALLOWED_TOOLS=listWorkItems,getWorkItemById,searchWorkItems,createWorkItem

这只会启用指定的工作项方法,同时禁用所有其他方法。

用法

服务器运行后,您可以使用 MCP 协议与其交互。该服务器公开了多种用于不同 Azure DevOps 功能的工具。

可用工具

**注意:**默认情况下, index.ts文件中仅注册了部分工具,以简化初始实现。有关如何注册其他工具的信息,请参阅工具注册部分。

示例:列出工作项

{ "tool": "listWorkItems", "params": { "query": "SELECT [System.Id], [System.Title], [System.State] FROM WorkItems WHERE [System.State] = 'Active' ORDER BY [System.CreatedDate] DESC" } }

示例:创建工作项

{ "tool": "createWorkItem", "params": { "workItemType": "User Story", "title": "Implement new feature", "description": "As a user, I want to be able to export reports to PDF.", "assignedTo": "john@example.com" } }

示例:列出存储库

{ "tool": "listRepositories", "params": { "projectId": "MyProject" } }

示例:创建拉取请求

{ "tool": "createPullRequest", "params": { "repositoryId": "repo-guid", "sourceRefName": "refs/heads/feature-branch", "targetRefName": "refs/heads/main", "title": "Add new feature", "description": "This PR adds the export to PDF feature" } }

建筑学

该项目结构如下:

  • src/
    • Interfaces/ :参数和响应的类型定义
    • Services/ :用于与 Azure DevOps API 交互的服务类
    • Tools/ :向客户端公开功能的工具实现
    • index.ts :注册工具并启动服务器的主入口点
    • config.ts :配置处理

服务层

服务层处理与 Azure DevOps API 的直接通信:

  • WorkItemService :工作项操作
  • BoardsSprintsService :板和冲刺操作
  • ProjectService :项目管理运营
  • GitService :Git 仓库操作
  • TestingCapabilitiesService :测试能力操作
  • DevSecOpsService :DevSecOps 操作
  • ArtifactManagementService :Artifact管理操作
  • AIAssistedDevelopmentService :AI辅助开发运营

工具层

工具层包装服务并为 MCP 协议提供一致的接口:

  • WorkItemTools :工作项操作工具
  • BoardsSprintsTools :用于板和冲刺操作的工具
  • ProjectTools :项目管理操作工具
  • GitTools :Git操作工具
  • TestingCapabilitiesTools :用于测试功能操作的工具
  • DevSecOpsTools :DevSecOps 操作工具
  • ArtifactManagementTools :用于工件管理操作的工具
  • AIAssistedDevelopmentTools :AI辅助开发操作工具

工具注册

MCP 服务器要求在index.ts文件中明确注册工具。默认情况下,仅注册所有可能工具中的一小部分,以确保初始实现的可管理性。

要注册更多工具:

  1. 打开src/index.ts文件
  2. 按照现有工具的模式添加新的工具注册
  3. 构建并重启服务器

存储库中的TOOL_REGISTRATION.md文件提供了有关工具注册的综合指南。

**注意:**注册工具时,请务必使用正确的参数类型,尤其是枚举值。Interfaces Interfaces中的类型定义定义了每个参数的预期类型。使用错误的类型(例如,对枚举值使用z.string()而不是z.enum() )会导致构建期间出现 TypeScript 错误。

注册新工具的示例:

server.tool("searchCode", "Search for code in repositories", { searchText: z.string().describe("Text to search for"), repositoryId: z.string().optional().describe("ID of the repository") }, async (params, extra) => { const result = await gitTools.searchCode(params); return { content: result.content, rawData: result.rawData, isError: result.isError }; } );

故障排除

常见问题

身份验证错误
  • 确保您的个人访问令牌有效并具有所需的权限
  • 检查组织 URL 是否正确
构建期间的 TypeScript 错误
  • 使用npm run build:ignore-errors绕过 TypeScript 错误
  • 检查缺失或不正确的类型定义
运行时错误
  • 验证指定的 Azure DevOps 项目是否存在且可访问

贡献

欢迎贡献!贡献方式如下:

  1. 分叉存储库
  2. 创建功能分支( git checkout -b feature/amazing-feature
  3. 提交您的更改( git commit -m 'Add some amazing feature'
  4. 推送到分支( git push origin feature/amazing-feature
  5. 打开拉取请求

请确保您的代码通过 linting 并包含适当的测试。

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

该服务器提供便捷的 API,用于与 Azure DevOps 服务交互,使 AI 助手和其他工具能够管理工作项、代码库、看板、冲刺等。它基于模型上下文协议构建,提供与 Azure DevOps 通信的标准化接口。

  1. 星史
    1. 概述
    2. 演示
    3. 特征
    4. 安装
    5. 配置
    6. 用法
    7. 建筑学
    8. 工具注册
    9. 故障排除
    10. 贡献

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server that enables AI assistants to interact with Azure DevOps resources including projects, work items, repositories, pull requests, branches, and pipelines through a standardized protocol.
    Last updated -
    15
    1,349
    217
    TypeScript
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    Enables connections to Azure AI Agents within any MCP client, allowing users to leverage Azure AI Foundry's models and knowledge tools like Azure AI Search and Bing Web Grounding through a conversational interface.
    Last updated -
    129
    Python
    MIT License
    • Linux
    • Apple
  • -
    security
    F
    license
    -
    quality
    A reference server implementation for the Model Context Protocol that enables AI assistants to interact with Azure DevOps resources and perform operations such as project management, work item tracking, repository operations, and code search programmatically.
    Last updated -
    3
    TypeScript
  • A
    security
    A
    license
    A
    quality
    A Model Context Protocol server that enables AI assistants to interact with Azure DevOps services, allowing users to query work items with plans to support creating/updating items, managing pipelines, handling pull requests, and administering sprints and branch policies.
    Last updated -
    9
    50
    Python
    MIT License
    • Linux
    • Apple

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/RyanCardin15/AzureDevOps-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server