Azure DevOps MCP 服务器

Azure DevOps MCP Server 是一个本地服务器,用于在代码编辑器中直接执行 Azure DevOps 任务,支持项目管理、工作项管理、代码仓库操作等多种功能。

  • by Ted-am
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 Ted-am/azure-devops-mcp

使用说明

⭐ Azure DevOps MCP服务器

轻松为VS Code或VS Code Insider安装Azure DevOps MCP服务器:

这个TypeScript项目提供了一个 本地 用于Azure DevOps的MCP服务器,使您能够直接从代码编辑器执行各种Azure DevOps任务。

🚨 公开预览: 该项目正在公开预览中。在正式发布之前,工具和功能可能会发生变化。

📄 目录

  1. 📺 概述
  2. 🏆 期望
  3. ⚙️ 支持的工具
  4. 🔌 安装和入门
  5. 🌏 使用域名
  6. 📝 故障排除
  7. 🎩 示例和最佳实践
  8. 🙋‍♀️ 常见问题
  9. 📌 贡献

📺 概述

Azure DevOps MCP服务器为您的代理带来Azure DevOps上下文。尝试以下提示:

  • “列出我的ADO项目”
  • 列出“Contoso”的ADO构建
  • 列出“Contoso”的ADO版本
  • 列出“Contoso”的ADO存储库
  • 列出“Contoso”的测试计划
  • 列出项目“Contoso”的团队
  • 列出项目“Contoso”的迭代次数
  • 列出项目“Contoso”的工作项
  • 列出“Contoso”项目和“Contoso团队”当前迭代中的工作项
  • 列出“Contoso”项目中的所有Wiki
  • “创建一个包含系统设计内容的wiki页面'/Architecture/Overview'”
  • “用新的入职说明更新维基页面“/入门”””
  • “从文档wiki获取wiki页面'/neneneba API/身份验证'的内容”

🏆 期望

Azure DevOps MCP服务器由简洁、简单、专注和易于使用的工具构建而成,每个工具都是为特定场景设计的。我们有意避免使用试图做太多事情的复杂工具。目标是在REST API上提供一个薄的抽象层,使数据访问变得简单,并让语言模型处理复杂的推理。

⚙️ 支持的工具

与这些Azure DevOps服务交互:

🧿 核心

  • core_list_project_teams:检索指定Azure DevOps项目的团队列表。
  • core_list_项目:检索Azure DevOps组织中的项目列表。
  • core_get_identity_ids:检索Azure DevOps身份ID以获取唯一名称列表。

⚒️ 工作

  • work_list_team_迭代:检索项目中特定团队的迭代列表。
  • work_create_iterations:在指定的Azure DevOps项目中创建新的迭代。
  • 工作分配修改:将现有迭代分配给项目中的特定团队。

📅 工作项

  • wit_my_work_items:检索与经过身份验证的用户相关的工作项列表。
  • wit_list_backlogs:检索给定项目和团队的积压列表。
  • wit_list_backlog_work_items:检索给定项目、团队和积压类别的积压列表。
  • wit_get_work_item:按ID获取单个工作项。
  • wit_get_work_items_batch_by_ids:按ID批量检索工作项列表。
  • wit_update_work_item:使用指定字段按ID更新工作项。
  • wit_create_work_item:在指定的项目和工作项类型中创建新的工作项。
  • wit_list_work_item_comments:按ID检索工作项的注释列表。
  • wit_get_work_items_for_iteration:检索指定迭代的工作项列表。
  • wit_add_work_item_注释:按ID向工作项添加注释。
  • wit_add_child_work_items:为给定的父ID创建一个或多个特定工作项类型的子工作项。
  • wit_link_work_item_to_pull_request:将单个工作项链接到现有的拉取请求。
  • wit_get_work_item_type:获取特定的工作项类型。
  • wit_get_query:按查询的ID或路径获取查询。
  • wit_get_query_results_by_id:根据查询ID检索工作项查询的结果。
  • wit_update_work_items_batch:批量更新工作项。
  • wit_work_items_link:将工作项批量链接在一起。
  • wit_work_item_unlink:从工作项中取消链接一个或多个链接。
  • wit_add_artifact_link:链接到分支、拉取请求、提交和构建等工件。

📁 仓库

  • report_list_repos_by_project:检索给定项目的存储库列表。
  • report_list_pull_requests_by_repo:检索给定存储库的拉取请求列表。
  • report_list_pull_requests_by_项目:检索给定项目ID或名称的拉取请求列表。
  • report_list_branches_by_repo:检索给定存储库的分支列表。
  • repo_list_my_branches_by_repo:检索给定存储库ID的分支列表。
  • report_list_pull_requests_by_commits:列出与提交相关的拉取请求。
  • repo_list_pull_request_threads:检索拉取请求的评论线程列表。
  • report_list_pull_request_thread_comments:检索拉取请求线程中的评论列表。
  • repo_get_repo_by_name_or_id:按项目和存储库名称或ID获取存储库。
  • 报告_分支_名称:按名称取一根树枝。
  • report_get_pull_request_by_id:通过ID获取拉取请求。
  • repo_create_pull_request:创建新的pull请求。
  • report_update_pull_request_status:将现有拉取请求的状态更新为活动或放弃。
  • report_update_pull_request:更新现有拉取请求的各个字段(标题、描述、草稿状态、目标分支)。
  • repo_update_pull_request_reviewers:添加或删除现有拉取请求的审阅者。
  • 回复回复:对拉取请求的特定评论的回复。
  • 报告解决意见:解析拉取请求上的特定注释线程。
  • report_search_commits:搜索提交。
  • repo_create_pull_request_thread:在pull请求上创建新的注释线程。

🛰️ 建筑

  • build_get-definitions:检索给定项目的生成定义列表。
  • build_getdefinition_revision:检索特定生成定义的修订列表。
  • build_get_builds:检索给定项目的版本列表。
  • build_get.log:检索特定版本的日志。
  • build_get_log_by_id:通过日志ID获取特定的构建日志。
  • build_get-changes:获取与特定版本相关的更改。
  • build_get_status:获取特定版本的状态。
  • build_update_build_stage:更新特定构建的阶段。
  • 流水线_get_run:获取特定管道的运行。
  • 流水线_列表_运行:获取特定管道的前10000次运行。
  • 流水线:开始管道的新运行。

🚀 发布

  • release_get-definitions:检索给定项目的发布定义列表。
  • release_get_releases:检索给定项目的版本列表。

🔒 高级安全性

  • advsec_get_allerts:检索存储库的高级安全警报。
  • advsec_get_alert_tails:获取有关特定高级安全警报的详细信息。

🧪 测试计划

  • testplan_create_test_plan:在项目中创建新的测试计划。
  • testplan_create_test_case:创建新的测试用例工作项。
  • testplan_add_test_cases_to_suite:将现有测试用例添加到测试套件中。
  • testplan_list_test_plans:从Azure DevOps项目中检索分页的测试计划列表。允许过滤活动计划和切换详细信息。
  • testplan_list_test_cases:获取测试计划中的测试用例列表。
  • testplan_show_test_results_from_build_id:获取给定项目和构建ID的测试结果列表。

📖 维基

  • wiki_list_wikis:检索组织或项目的Wiki列表。
  • wiki_get_wiki:通过wikiIdentifier获取wiki。
  • wiki_list_pages:检索特定wiki和项目的wiki页面列表。
  • wiki_get_page_content:通过wikiIdentifier和路径检索wiki页面内容。
  • wiki_create_or_update_page:创建或更新具有完整内容支持的wiki页面。

🔎 搜索

  • 搜索代码:获取给定搜索文本的代码搜索结果。
  • search_wiki:获取给定搜索文本的wiki搜索结果。
  • 搜索:获取给定搜索文本的工作项搜索结果。

🔌 安装和入门

为了获得最佳体验,请使用Visual Studio Code和GitHub Copilot。请参阅 开始文档 将我们的MCP服务器与Visual Studio 2022、Claude Code和Cursor等其他工具一起使用。

先决条件

  1. 安装 VS代码 或 VS代码内部人员
  2. 安装 Node.js 20+
  3. 安装 Azure命令行界面
  4. 在空文件夹中打开VS Code

Azure登录

确保您已通过Azure CLI登录到Azure DevOps:

az login

安装

✨ 一键安装

安装后,选择GitHub Copilot Agent Mode并刷新工具列表。在中了解有关代理模式的更多信息 VS代码文档.

🧨 从公共源安装(推荐)

此安装方法对所有Visual Studio Code用户来说都是最简单的。

🎥 观看此快速入门视频,在两分钟内即可开始运行!

步骤

在您的项目中,添加 .vscode\mcp.json 包含以下内容的文件:

{
  "inputs": [
    {
      "id": "ado_org",
      "type": "promptString",
      "description": "Azure DevOps organization name  (e.g. 'contoso')"
    }
  ],
  "servers": {
    "ado": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@azure-devops/mcp", "${input:ado_org}"]
    }
  }
}

🔥 要了解最新功能,您可以使用我们的夜间版本。只需更新您的 mcp.json 要使用的配置 @azure-devops/mcp@next。以下是一个更新的示例:

{
  "inputs": [
    {
      "id": "ado_org",
      "type": "promptString",
      "description": "Azure DevOps organization name  (e.g. 'contoso')"
    }
  ],
  "servers": {
    "ado": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@azure-devops/mcp@next", "${input:ado_org}"]
    }
  }
}

保存文件,然后单击“开始”。

在聊天中,切换到 代理模式.

单击“选择工具”并选择可用工具。

打开GitHub Copilot Chat,尝试以下提示 List ADO projects.

💥 我们强烈建议创建一个 .github\copilot-instructions.md 在你的项目中。这将增强您使用带有GitHub Copilot Chat的Azure DevOps MCP服务器的体验。 首先,只需包括“This project uses Azure DevOps. Always check to see if the Azure DevOps MCP server has a tool relevant to the user's request“在你的副驾驶指令文件中。

请参阅 开始文档 将我们的MCP服务器与Visual Studio 2022、Claude Code和Cursor等其他工具一起使用。

🌏 使用域名

Azure DevOps暴露了很大的表面积。因此,我们的Azure DevOps MCP服务器包含许多工具。为了保持工具集的可管理性,避免混淆模型,并尊重客户端对加载工具的限制,请使用Domains仅加载您需要的区域。域是命名的相关工具组(例如:核心、工作、工作项、存储库、维基)。添加 -d 参数和域名到服务器参数中 mcp.json 列出要启用的域。

例如,使用 "-d", "core", "work", "work-items" 只加载与工作项相关的工具(见下面的示例)。

{
  "inputs": [
    {
      "id": "ado_org",
      "type": "promptString",
      "description": "Azure DevOps organization name  (e.g. 'contoso')"
    }
  ],
  "servers": {
    "ado": {
      "type": "stdio",
      "command": "mcp-server-azuredevops",
      "args": ["${input:ado_org}", "-d", "core", "work", "work-items"]
    }
  }
}

可用的域名有: core, work, work-items, search, test-plans, repositories, wiki, builds, releases, advanced-security

我们建议您始终启用 core 工具,以便您可以获取项目级信息。

默认情况下,所有域都已加载

📝 故障排除

请参阅 故障排除指南 有关常见问题和日志记录的帮助。

🎩 示例和最佳实践

在我们的 示例文档.

有关增强MCP服务器体验的最佳实践和提示,请参阅 如何指导.

🙋‍♀️ 常见问题

有关Azure DevOps MCP服务器常见问题的答案,请参阅 常见问题.

📌 贡献

我们欢迎捐款!在预览期间,请提交错误、增强或文档改进的问题。

查看我们的 贡献指南 用于:

  • 🛠️ 开发设置
  • ✨ 添加新工具
  • 📝 代码风格和测试
  • 🔄 拉取请求流程

🤝 行为准则

该项目遵循 微软开源行为准则. 如有疑问,请参阅 常见问题解答 或联系 open@microsoft.com.

📈 项目统计

🏆 名人堂

感谢所有让这个项目变得棒极了的贡献者! ❤️

生成于 控制锁

许可证

根据 MIT许可证.


商标:本项目可能包含微软或第三方的商标或徽标。使用Microsoft商标或徽标必须遵循 微软商标和品牌指南。第三方商标受其各自政策的约束。