mcpField
A
Azure DevOps MCP Server

Azure DevOps MCP Server

本地服务
github.com/Tiberriver256云与基础设施3972 天前更新

关于 Azure DevOps MCP Server

Azure DevOps MCP Server 是面向 Azure DevOps 的社区 MCP 服务,让 AI 助手通过标准协议访问项目、工作项、仓库、流水线等资源。它特别适用于 Azure DevOps Server(本地部署)环境。

主要功能

  1. 01项目、工作项、仓库与拉取请求工具
  2. 02流水线运行、日志与产物查询
  3. 03支持 PAT、Azure Identity 与 Azure CLI 认证
  4. 04Azure DevOps Server 本地部署支持

适用场景

  1. 01让 AI 助手创建和更新工作项
  2. 02在本地部署的 Azure DevOps Server 上查询拉取请求与流水线

MCP 相关

该项目是 MCP 服务,将 Azure DevOps 的 REST API 封装为工具和资源,供 Claude Desktop、Cursor 等 MCP 客户端调用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"azure-devops": {
"command": "npx",
"args": [
"-y",
"@tiberriver256/mcp-server-azure-devops"
]
}
}
}
启动命令npx -y @tiberriver256/mcp-server-azure-devops

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@tiberriver256/mcp-server-azure-devops

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Azure DevOps MCP Server

Azure DevOps 的模型上下文协议(MCP)服务实现,可让 AI 助手通过标准化协议与 Azure DevOps API 交互。

在寻找官方服务吗? Microsoft 维护着由产品支持的 Azure DevOps MCP,地址为 microsoft/azure-devops-mcp。如果你使用 Azure DevOps Services(云端),请从这里开始。

如果你需要 Azure DevOps Server(本地部署) 支持(尤其是可能与 Microsoft 的 MCP 不兼容的旧版本),或需要官方服务尚未提供的功能,那么这个社区服务仍然很适合你。更多背景信息请参阅 Discussion #237。有关此服务的差异化优势和计划,请参阅 ROADMAP.md。

概述

此服务为 Azure DevOps 实现了 模型上下文协议(MCP),让 Claude 等 AI 助手能够安全地与 Azure DevOps 资源交互。服务充当 AI 模型与 Azure DevOps API 之间的桥梁,提供标准化的方式来:

  • 访问和管理项目、工作项、代码仓库等
  • 创建和更新工作项、分支和拉取请求
  • 通过自然语言执行常见的 DevOps 工作流
  • 通过标准化的资源 URI 访问代码仓库内容
  • 安全地验证身份并与 Azure DevOps 资源交互

服务结构

此服务围绕模型上下文协议(MCP)构建,用于与 AI 助手通信。它提供了与 Azure DevOps 资源交互的工具,包括:

  • 项目
  • 工作项
  • 代码仓库
  • 拉取请求
  • 分支
  • 流水线
核心组件
  • AzureDevOpsServer:主服务类,用于初始化 MCP 服务并注册工具
  • 功能模块:按功能领域组织(work-items、projects、repositories 等)
  • 请求处理器:每个功能模块都提供请求识别和处理函数
  • 工具处理器:用于处理每项 Azure DevOps 操作的模块化函数
  • 配置:基于环境的配置,用于设置组织 URL、PAT 等

此服务采用基于功能的架构,每个功能领域(如 work-items、projects、repositories)都封装在各自的模块中。这使代码库更易于维护,也更便于扩展新功能。

入门

先决条件
  • Node.js(v16+)
  • npm 或 yarn
  • 具有相应访问权限的 Azure DevOps 账户
  • 身份验证凭据(详情请参阅身份验证指南):
    • 个人访问令牌(PAT),或
    • Azure Identity 凭据,或
    • Azure CLI 登录
通过 npm(npx)运行

如果你只想运行已发布的服务包,无需克隆或构建此代码库:

npx -y @tiberriver256/mcp-server-azure-devops
在本地运行(从源代码运行)

从此代码库的检出目录运行:

npm ci
cp .env.example .env   # then edit values
npm run build
npm start              # runs: node dist/index.js

用于迭代开发(自动重新加载):

npm run dev            # runs src/index.ts via tsx watch
与 Claude Desktop/Cursor AI 配合使用

若要与 Claude Desktop 或 Cursor AI 集成,请将以下配置之一添加到配置文件中。

Azure Identity 身份验证

请确保已通过 az login 登录 Azure CLI,然后添加以下配置:

{
  "mcpServers": {
    "azureDevOps": {
      "command": "npx",
      "args": ["-y", "@tiberriver256/mcp-server-azure-devops"],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization",
        "AZURE_DEVOPS_AUTH_METHOD": "azure-identity",
        "AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name"
      }
    }
  }
}
个人访问令牌(PAT)身份验证
{
  "mcpServers": {
    "azureDevOps": {
      "command": "npx",
      "args": ["-y", "@tiberriver256/mcp-server-azure-devops"],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "https://dev.azure.com/your-organization",
        "AZURE_DEVOPS_AUTH_METHOD": "pat",
        "AZURE_DEVOPS_PAT": "<YOUR_PAT>",
        "AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name"
      }
    }
  }
}

Azure DevOps Server(本地部署)需要使用 PAT 进行身份验证。示例:

{
  "mcpServers": {
    "azureDevOps": {
      "command": "npx",
      "args": ["-y", "@tiberriver256/mcp-server-azure-devops"],
      "env": {
        "AZURE_DEVOPS_ORG_URL": "https://server:8080/tfs/DefaultCollection",
        "AZURE_DEVOPS_AUTH_METHOD": "pat",
        "AZURE_DEVOPS_PAT": "<YOUR_PAT>",
        "AZURE_DEVOPS_DEFAULT_PROJECT": "your-project-name"
      }
    }
  }
}

有关详细的配置说明和更多身份验证选项,请参阅身份验证指南。

身份验证方法

此服务支持多种身份验证方法,用于连接 Azure DevOps API。如需查看详细的设置说明、配置示例和故障排除提示,请参阅身份验证指南。

支持的身份验证方法
  1. 个人访问令牌(PAT) - 基于令牌的简单身份验证
  2. Azure Identity(DefaultAzureCredential) - 使用 Azure Identity SDK 的灵活身份验证
  3. Azure CLI - 使用 Azure CLI 登录进行身份验证

每种身份验证方法的配置文件示例均可在示例目录中找到。

Azure DevOps Server(本地部署)仅支持 PAT 身份验证。Azure Identity 和 Azure CLI 适用于 Azure DevOps Services。

环境变量

如需查看完整的环境变量列表及其说明,请参阅身份验证指南。

主要环境变量包括:

变量描述必需默认值
AZURE_DEVOPS_AUTH_METHOD身份验证方法(pat、azure-identity 或 azure-cli),不区分大小写否azure-identity
AZURE_DEVOPS_ORG_URLAzure DevOps 组织或 Server 集合的完整 URL(例如,https://server:8080/tfs/DefaultCollection)是-
AZURE_DEVOPS_PAT个人访问令牌(用于 PAT 身份验证)仅 PAT 身份验证时必需-
AZURE_DEVOPS_DEFAULT_PROJECT未指定时使用的默认项目否-
AZURE_DEVOPS_API_VERSION直接调用 REST API 的工具所使用的 REST api-version(各版本的值)否7.1
AZURE_TENANT_IDAzure AD 租户 ID(用于服务主体)仅服务主体适用-
AZURE_CLIENT_IDAzure AD 应用程序 ID(用于服务主体)仅服务主体适用-
AZURE_CLIENT_SECRETAzure AD 客户端密钥(用于服务主体)仅服务主体适用-
LOG_LEVEL日志级别(debug、info、warn、error)否info

身份验证故障排除

如需查看各身份验证方法的详细故障排除信息,请参阅身份验证指南。

常见问题包括:

  • 凭据无效或已过期
  • 权限不足
  • 网络连接问题
  • 配置错误

身份验证实现详情

如需了解 Azure DevOps MCP 服务中身份验证实现方式的技术详情,请参阅身份验证指南以及 src/auth 目录中的源代码。

可用工具

Azure DevOps MCP 服务提供多种工具,可用于与 Azure DevOps 资源交互。有关每种工具的详细文档,请参阅相应文档。

用户工具
  • get_me:获取已通过身份验证的用户的详细信息(id、displayName、email)(仅限 Azure DevOps Services)
组织工具
  • list_organizations:列出所有可访问的组织(仅限 Azure DevOps Services)
项目工具
  • list_projects:列出组织中的所有项目
  • get_project:获取特定项目的详细信息
  • get_project_details:获取项目的全面详细信息,包括流程、工作项类型和团队
仓库工具
  • list_repositories:列出项目中的所有仓库
  • get_repository:获取特定仓库的详细信息
  • get_repository_details:获取仓库的详细信息,包括统计数据和引用
  • get_file_content:获取仓库中文件或目录的内容
  • get_repository_tree:列出仓库中任意路径和深度的文件树
  • create_branch:从现有分支创建新分支
  • create_commit:使用统一差异或搜索/替换指令,将多个文件更改提交到分支
工作项工具
  • get_work_item:按 ID 检索工作项
  • create_work_item:创建工作项
  • update_work_item:更新现有工作项
  • list_work_items:列出项目中的工作项
  • manage_work_item_link:添加、移除或更新工作项之间的链接
  • create_work_item_attachment:上传文件并将其附加到工作项
  • get_work_item_attachment:下载工作项的附件
  • delete_work_item_attachment:删除工作项的附件
搜索工具
  • search_code:在项目的仓库中搜索代码
  • search_wiki:在项目的 Wiki 页面中搜索内容
  • search_work_items:在 Azure DevOps 的项目中搜索工作项
管道工具
  • list_pipelines:列出项目中的管道
  • get_pipeline:获取特定管道的详细信息
  • list_pipeline_runs:列出管道的近期运行记录,并可选择筛选条件
  • get_pipeline_run:获取运行的详细信息和构件摘要
  • download_pipeline_artifact:将单个构件文件下载为文本
  • pipeline_timeline:检索运行的阶段和作业时间线
  • get_pipeline_log:检索原始或 JSON 格式的日志内容
  • trigger_pipeline:使用可自定义参数触发管道运行
Wiki 工具
  • get_wikis:列出项目中的所有 Wiki
  • get_wiki_page:以纯文本形式获取特定 Wiki 页面的内容
拉取请求工具

如需所有工具的完整文档,请参阅工具文档。

贡献

欢迎贡献!请参阅 CONTRIBUTING.md 了解贡献指南。

Star 历史

Star 历史图表

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。