项目简介

“增强型Azure DevOps MCP服务器”(Enhanced ADO MCP Server)是一个功能强大的后端应用程序,它利用Model Context Protocol (MCP) 与大型语言模型 (LLM) 客户端进行通信。其核心目标是实现企业级的Azure DevOps工作项智能管理。通过将PowerShell自动化脚本转换为AI可调用的工具,并结合丰富的Prompt模板,该服务器能够支持智能化的工作项操作,例如创建、分配、分解、分析和查询Azure DevOps中的工作项。它特别集成了GitHub Copilot,利用其语言模型能力进行高级分析,如工作项智能分析、AI任务分配评估和层级验证。

主要功能点

  • 工作项创建与管理: 能够创建新的Azure DevOps工作项,并支持设置父子关系、优先级、区域路径、迭代路径、标签等。
  • GitHub Copilot集成: 支持将现有工作项分配给GitHub Copilot,并关联相应的代码分支;也能直接创建新的工作项并立即分配给Copilot。
  • AI驱动的智能分析:
    • 工作项智能分析: 评估工作项的完整性、AI就绪度,提供增强建议和智能分类。
    • AI分配评估: 详细分析工作项是否适合AI自动化完成,提供置信度、风险评分和分配策略。
    • 功能分解: 智能地将大型功能分解为更小、可分配的工作项,并评估其AI自动化潜力。
    • 层级验证: 分析工作项的父子关系,识别问题并提供智能的层级组织建议。
  • 安全链接提取: 从安全扫描工作项中提取指令链接。
  • 配置与发现: 提供查询当前MCP服务器配置的工具,包括Azure DevOps组织、项目、默认路径和GitHub Copilot设置。
  • WIQL查询: 支持使用Azure DevOps的WIQL (Work Item Query Language) 查询工作项,进行复杂的筛选、排序和字段选择。
  • 上下文包检索: 提供检索单个工作项或批量工作项的完整上下文信息,包括历史记录、评论、关联链接、PRs/Commits等。

安装步骤

在开始使用之前,请确保您的系统满足以下先决条件:

  1. 安装 Node.js: 建议使用 Node.js 18 或更高版本。您可以从 Node.js 官网 下载并安装。
  2. 安装 PowerShell 7+: 您可以从 PowerShell GitHub 仓库 获取安装包。
  3. 安装 Azure CLI: 访问 Azure CLI 安装指南 进行安装,并通过运行 'az login' 命令登录您的Azure账户。
  4. 克隆仓库并安装依赖:
    git clone https://github.com/AmeliaRose802/enhanced-ado-mcp.git
    cd enhanced-ado-mcp/mcp_server
    npm install
  5. 构建服务器:
    npm run build

服务器配置

作为MCP客户端,您需要配置MCP服务器的启动命令和参数。以下是常用的MCP客户端配置示例,请根据您的实际Azure DevOps组织和项目信息进行替换。

注意: 以下是JSON配置的内容示例,用户无需手动创建JSON文件,而是将其中的配置信息填入您使用的MCP客户端(如VS Code的MCP扩展、Claude Desktop等)的相应配置界面或文件中。MCP客户端通常会提供图形界面或特定的配置文件路径来管理这些服务器配置。

1. VS Code MCP客户端配置 (用户通常只需点击按钮并输入参数)

当在VS Code中使用时,您通常会点击README中提供的“Install in VS Code”或“Install in VS Code Insiders”徽章。这些链接会引导您完成配置,并提示您输入以下信息:

  • Azure DevOps 组织名称 (ado_org): 您的Azure DevOps组织的名称。
  • Azure DevOps 项目名称 (ado_project): 您要操作的Azure DevOps项目的名称。
  • 区域路径 (area_path): 默认的工作项区域路径,例如 'MyProject\MyTeam'。
  • GitHub Copilot GUID (copilot_guid): 您的GitHub Copilot用户全局唯一标识符,用于AI分配工具。

系统会自动生成类似如下的配置,您只需按照提示输入相应信息即可。

2. Claude Desktop 或其他MCP客户端配置

对于Claude Desktop或其他支持MCP的客户端,您需要在其配置中手动添加一个服务器条目。例如,在Claude Desktop的 'claude_desktop_config.json' 文件中,您将添加以下配置:

{
  // ... 其他 MCP 服务器配置
  "mcpServers": {
    "enhanced-ado-msp": {
      "command": "npx",
      "args": [
        "-y",
        "enhanced-ado-mcp-server",
        "您的Azure DevOps组织名称",            // <-- 替换为您的Azure DevOps组织名称
        "您的Azure DevOps项目名称",            // <-- 替换为您的Azure DevOps项目名称
        "--area-path",
        "您的默认区域路径",                    // <-- 替换为您的默认区域路径,例如 "MyProject\\MyTeam"
        "--copilot-guid",
        "您的GitHub Copilot GUID"               // <-- 替换为您的GitHub Copilot GUID
      ],
      "env": {
        "PWSH_PATH": "pwsh"                   // 可选:如果PowerShell路径不在默认PATH中,可指定
      }
    }
  }
}

请将 '您的Azure DevOps组织名称'、'您的Azure DevOps项目名称'、'您的默认区域路径'、'您的GitHub Copilot GUID' 替换为您的实际信息。'--area-path' 和 '--copilot-guid' 是可选参数,如果您不提供,服务器将使用内部默认值或在某些工具调用时要求提供。

基本使用方法

成功配置MCP服务器后,您的MCP客户端(如GitHub Copilot、Claude Desktop、Cursor等)将能够发现并调用此服务器提供的工具和Prompt。

  1. 在MCP客户端中发现工具: 通常,MCP客户端会提供一个界面或命令来列出所有可用的MCP工具。例如,在GitHub Copilot Chat中,您可以通过输入 '/' 命令来查看所有已注册的工具列表,其中就包括本服务器提供的 'wit-create-new-item'、'wit-intelligence-analyzer' 等。

  2. 调用工具: 根据您的MCP客户端的交互方式,您可以通过自然语言或特定命令来调用工具。例如:

    • 创建工作项: 在LLM对话中,您可以说:“创建一个新的Azure DevOps任务,标题为'修复登录页面bug',描述为'用户无法在移动设备上登录'。” LLM客户端会识别到 'wit-create-new-item' 工具,并自动构建参数进行调用。
    • 分析工作项(需VS Code和Copilot): “使用AI智能分析器分析我当前的特性,评估其AI就绪度。” 客户端会调用 'wit-intelligence-analyzer' 工具。
    • 获取配置: 您可以直接调用 'wit-get-configuration' 来查看当前MCP服务器的配置。
  3. 使用Prompt模板: MCP客户端也可以请求服务器渲染Prompt模板。例如,请求 'work_item_enhancer' 模板以改善工作项描述。这通常在LLM客户端内部使用,以生成高质量的LLM输入。

环境

  • 确保您的PowerShell 7+ ('pwsh') 可通过系统PATH访问。
  • 通过 'az login' 登录Azure CLI,以获取访问Azure DevOps的权限。

AI驱动工具的语言模型访问(仅限VS Code)

对于 'wit-intelligence-analyzer'、'wit-ai-assignment-analyzer'、'wit-feature-decomposer' 和 'wit-hierarchy-validator' 等AI驱动的工具,它们需要访问VS Code的语言模型采样能力。请确保:

  1. 您使用的是 VS Code Stable (1.87+)VS Code Insiders
  2. 已安装并激活 GitHub Copilot 扩展。
  3. 首次使用时,当VS Code提示“允许 [enhanced-ado-msp] 访问语言模型?”时,请点击 “允许”

信息

分类

开发者工具