项目简介

Azure DevOps MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在将 Azure DevOps 的丰富上下文信息和操作能力无缝地集成到您的 LLM 客户端(如 GitHub Copilot Chat)中。它允许 LLM 代理通过标准化的协议(JSON-RPC)与 Azure DevOps 进行交互,从而能够理解项目状态、执行开发任务和自动化工作流程。该服务器提供了一层薄抽象,让 LLM 可以专注于更高级的推理和决策。

主要功能点

  • 上下文信息获取: LLM 客户端可以请求并获取 Azure DevOps 中的各种信息,包括但不限于:
    • 组织下的所有项目列表。
    • 特定项目的团队列表。
    • 个人相关的工作项列表,或根据查询条件获取工作项。
    • 代码仓库、拉取请求、分支及其详细信息。
    • 构建定义、构建历史、日志和更改。
    • 测试计划、测试用例和测试结果。
    • Wiki 页面列表和页面内容。
    • 高级安全警报信息。
  • 开发任务自动化: LLM 客户端可以调用各种工具来执行 Azure DevOps 中的操作,例如:
    • 创建、更新工作项或为其添加评论。
    • 创建新的拉取请求或分支。
    • 更新拉取请求的状态或添加/移除评审者。
    • 在拉取请求中回复评论或解决评论线程。
    • 创建或更新 Wiki 页面。
    • 创建构建管道。
    • 搜索代码、Wiki 和工作项。
  • 能力声明与过滤: 支持通过配置“域”来选择性地暴露特定的 Azure DevOps 功能工具集,从而优化 LLM 客户端的工具加载和性能。
  • 标准化通信: 通过 'stdio' 等多种传输协议,以 JSON-RPC 格式与 LLM 客户端进行高效通信。

安装步骤

为了获得最佳体验,推荐在 Visual Studio Code (VS Code) 中配合 GitHub Copilot Chat 使用。

  1. 准备环境:

  2. 配置 MCP 服务器: 在您打开的 VS Code 文件夹根目录中,创建一个名为 '.vscode/mcp.json' 的文件,并添加以下内容:

    {
      "inputs": [
        {
          "id": "ado_org",
          "type": "promptString",
          "description": "您的 Azure DevOps 组织名称(例如 'contoso')"
        }
      ],
      "servers": {
        "ado": {
          "type": "stdio",
          "command": "npx",
          "args": ["-y", "@azure-devops/mcp", "${input:ado_org}"]
        }
      }
    }
    • 更新到最新版本: 如果您希望使用最新的功能或修复,可以将 '"@azure-devops/mcp"' 替换为 '"@azure-devops/mcp@next"'。
  3. 启动服务器: 保存 '.vscode/mcp.json' 文件后,VS Code 通常会自动检测到 MCP 配置。您会在 VS Code 界面底部状态栏或输出面板中看到启动 MCP 服务器的提示。点击 'Start' 按钮以启动服务器。

    • 认证: 首次运行 Azure DevOps 相关工具时,浏览器会弹出窗口提示您使用 Microsoft 帐户登录。请确保使用与您的 Azure DevOps 组织关联的正确凭据进行登录。
  4. 配置 LLM 客户端: 在您的 LLM 客户端(例如 GitHub Copilot Chat)中,切换到“Agent Mode”(代理模式),然后点击“Select Tools”(选择工具),并从列表中勾选可用的 Azure DevOps MCP 服务器工具。

服务器配置示例(用于MCP客户端集成)

MCP 客户端需要确切的服务器启动信息来建立连接。以下是 MCP 客户端集成时,您需要提供给它的配置详情:

  • MCP服务器名称: 'ado'
  • 传输协议类型: 'stdio' (标准输入输出)
  • 启动命令 (command): 'npx'
  • 命令参数 (args):
    • '"-y"': 确认安装 '@azure-devops/mcp' 包。
    • '"@azure-devops/mcp"': 指定要运行的 Azure DevOps MCP 服务器包。
    • '"您AzureDevOps组织名称"': 替换为您的 Azure DevOps 组织名称,例如 'contoso'。
    • 可选参数 - 域过滤 ('-d'): 如果您希望仅加载特定功能区域的工具,可以在参数中添加 '-d' 和一个或多个域名称。
      • 示例:'["-y", "@azure-devops/mcp", "contoso", "-d", "core", "work", "work-items"]'
      • 可用域包括:'core', 'work', 'work-items', 'search', 'test-plans', 'repositories', 'wiki', 'pipelines', 'advanced-security'。默认情况下,所有域都会被加载。

基本使用方法

当 Azure DevOps MCP 服务器成功启动并工具配置到您的 LLM 客户端后,您可以在聊天界面中尝试以下自然语言提示来与其交互:

  • "列出我的 Azure DevOps 项目。"
  • "获取 'Contoso' 项目中所有的团队。"
  • "在 'MyProject' 项目中,创建一个标题为 '修复登录错误' 的新 Bug 工作项。"
  • "列出仓库 'MyRepo' 中所有状态为 'Active' 的拉取请求。"
  • "获取 Wiki 'Documentation' 中 '/API/Authentication' 页面的内容。"
  • "更新 Wiki 页面 '/Getting Started',添加关于新用户入职流程的详细说明。"
  • "在项目 'Development' 的仓库 'FrontendApp' 中创建一个名为 'feature/dark-mode' 的新分支,基于 'main' 分支。"
  • "搜索所有包含 'deployment failure' 关键字的工作项。"

信息

分类

开发者工具