使用说明

项目简介

Azure DevOps MCP服务器是一个应用后端,它实现了 Model Context Protocol (MCP),旨在为AI助手提供与Azure DevOps服务交互的工具。通过此服务器,AI助手可以安全、可扩展地访问Azure DevOps中的项目、代码仓库、工作项、拉取请求和流水线等资源,从而实现更智能的DevOps流程自动化和信息获取。

主要功能点

  • 实体工具: 围绕Azure DevOps的核心实体(如项目、代码仓库、工作项、拉取请求、流水线)组织操作,提供直观且一致的接口。例如,项目工具提供列出和获取项目详情的操作;代码仓库工具提供列出仓库、获取仓库详情以及列出分支等操作。
  • 分页支持: 所有列表操作均支持基于游标的分页,允许AI助手高效地浏览大量Azure DevOps资源,并可自定义每页结果数量。
  • 详细错误处理: 提供全面的错误处理机制,能够分类错误(如认证、授权、验证等),提供上下文信息和用户友好的错误消息,方便问题排查。
  • 配置灵活: 支持通过环境变量或配置文件进行配置,方便用户根据自身Azure DevOps环境进行部署。
  • 操作丰富: 针对每个实体提供多种操作,例如:
    • 项目: 列出项目、获取项目详情
    • 代码仓库: 列出代码仓库、获取仓库详情、列出分支
    • 工作项: 获取工作项详情、创建工作项
    • 拉取请求: 列出拉取请求、获取拉取请求详情
    • 流水线: 列出流水线、获取流水线详情

安装步骤

  1. 克隆仓库
    git clone https://github.com/aaronsb/ado-mcp.git
    cd ado-mcp
  2. 安装依赖
    npm install
  3. 构建项目
    npm run build

服务器配置

MCP客户端需要配置以下JSON信息以连接到Azure DevOps MCP服务器:

{
  "serverName": "azure-devops-mcp",
  "command": "node",
  "args": [
    "build/index.js"
  ],
  "transport": "stdio"
}

配置参数说明:

  • 'serverName': 服务器名称,可以自定义,例如 "azure-devops-mcp"。
  • 'command': 启动服务器的命令,这里使用 'node'。
  • 'args': 启动命令的参数,指向构建后的服务器入口文件 'build/index.js'。
  • 'transport': 传输协议,这里使用 'stdio' (标准输入输出)。

环境变量配置 (服务器端):

在运行服务器之前,您需要设置以下环境变量,或者在 'config/azuredevops.json' 文件中进行配置。以下是环境变量配置方式,更为推荐,因为更安全且易于管理敏感信息 (PAT)。

  • 'ADO_ORGANIZATION': 您的Azure DevOps组织名称 (必填)。
  • 'ADO_PAT': 用于身份验证的Azure DevOps个人访问令牌 (PAT) (必填)。
  • 'ADO_PROJECT': 默认Azure DevOps项目名称 (可选)。
  • 'ADO_API_URL': Azure DevOps API的基础URL (可选,默认为 'https://dev.azure.com')。
  • 'ADO_API_VERSION': Azure DevOps API版本 (可选,默认为 '7.0')。
  • 'ADO_API_MAX_RETRIES': API调用最大重试次数 (可选,默认为 '3')。
  • 'ADO_API_DELAY_MS': 重试之间的延迟毫秒数 (可选,默认为 '1000')。
  • 'ADO_API_BACKOFF_FACTOR': 重试退避因子 (可选,默认为 '2')。

配置示例 (环境变量):

在终端中设置环境变量,例如 (Linux/macOS):

export ADO_ORGANIZATION="your-devops-org"
export ADO_PAT="your-personal-access-token"
node build/index.js

或者 (Windows PowerShell):

$env:ADO_ORGANIZATION="your-devops-org"
$env:ADO_PAT="your-personal-access-token"
node build/index.js

基本使用方法

  1. 启动服务器 按照上述服务器配置和环境变量设置,运行 'node build/index.js' 命令启动服务器。

  2. 配置MCP客户端 在您的MCP客户端中,配置上述提供的服务器配置JSON。

  3. 调用工具 通过MCP客户端,您可以发送JSON-RPC请求来调用服务器提供的工具和操作。以下是一些使用示例,您可以根据需要调整参数:

    列出项目:

    {
      "operation": "list",
      "listParams": {
        "maxResults": 10
      }
    }

    获取项目详情:

    {
      "operation": "get",
      "getParams": {
        "projectId": "your-project-name",
        "includeCapabilities": true
      }
    }

    创建工作项:

    {
      "operation": "create",
      "createParams": {
        "projectId": "your-project-name",
        "type": "Task",
        "title": "Implement new feature",
        "description": "详细描述新功能...",
        "assignedTo": "[email protected]"
      }
    }

    更多工具和操作的使用方法,请参考仓库 'README.md' 文件中的 "Usage Examples" 部分。

注意: 请确保您的Azure DevOps个人访问令牌 (PAT) 具有访问您组织和项目的必要权限。

信息

分类

开发者工具