Azure DevOps MCP 服务器

项目简介

Azure DevOps MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在为 AI 助手提供与 Azure DevOps 服务集成的能力。通过标准化的 MCP 协议,AI 助手可以安全、可控地访问和操作 Azure DevOps 中的项目、工作项、代码仓库、流水线等资源,从而实现自动化任务、信息检索和工作流程集成。

主要功能点

  • 资源访问: 提供对 Azure DevOps 项目、工作项、代码仓库、分支、拉取请求和流水线等核心资源的访问能力。
  • 工具集成: 预置丰富的工具集,例如:
    • 项目管理工具:列出和获取项目详情。
    • 工作项管理工具:检索和创建工作项。
    • 代码仓库工具:列出和获取代码仓库信息。
  • 标准化协议: 采用 MCP 协议与客户端通信,确保与各种 MCP 客户端的兼容性。
  • 易于部署和配置: 提供详细的安装和配置指南,支持环境变量配置。

安装步骤

  1. 克隆仓库:

    git clone https://github.com/Tiberriver256/azure-devops-mcp.git
    cd azure-devops-mcp
  2. 安装依赖:

    npm install
  3. 配置环境变量:

    推荐方式 A: 使用自动化配置脚本

    chmod +x setup_env.sh
    ./setup_env.sh

    按照脚本提示完成 Azure CLI DevOps 扩展安装、Azure DevOps 组织选择、默认项目设置以及个人访问令牌 (PAT) 的创建和配置。脚本会自动生成 '.env' 文件。

    方式 B: 手动配置

    cp .env.example .env

    编辑 '.env' 文件,填入您的 Azure DevOps 组织 URL 和个人访问令牌 (PAT):

    AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-organization
    AZURE_DEVOPS_PAT=your-personal-access-token
    AZURE_DEVOPS_DEFAULT_PROJECT=your-default-project  # 可选,设置默认项目

    注意: 个人访问令牌 (PAT) 需要具备访问 Azure DevOps 资源的相应权限。

  4. 构建项目:

    npm run build

服务器配置

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

{
  "serverName": "azure-devops-mcp",
  "command": "npm",
  "args": [
    "start"
  ],
  "transport": "stdio"
}

参数注释:

  • 'serverName': 服务器名称,设置为 "azure-devops-mcp"。
  • 'command': 启动服务器的命令,这里使用 'npm',假设您已安装 Node.js 和 npm。
  • 'args': 传递给 'npm' 命令的参数,'start' 指令会根据 'package.json' 中的配置启动服务器。
  • 'transport': 通信协议,使用 'stdio' (标准输入输出)。

基本使用方法

  1. 确保 Azure DevOps MCP 服务器已成功启动并运行。
  2. 在 MCP 客户端中,配置上述服务器连接信息。
  3. 使用 MCP 客户端向 Azure DevOps MCP 服务器发送请求,例如列出项目、创建工作项等。具体工具的使用方法请参考客户端的文档或工具列表。

示例工具调用 (MCP 客户端请求)

以下是一个调用 'list_projects' 工具的示例请求 (JSON-RPC 格式):

{
  "jsonrpc": "2.0",
  "method": "call_tool",
  "params": {
    "name": "list_projects",
    "arguments": {}
  },
  "id": "123"
}

服务器将返回包含项目列表的 JSON-RPC 响应。

测试服务器

运行单元测试和集成测试以确保服务器功能正常:

npm test         # 运行单元测试
npm run test:integration  # 运行集成测试 (需要有效的 Azure DevOps 凭据)

开发

本项目采用测试驱动开发 (TDD) 模式,鼓励贡献代码和功能。

信息

分类

开发者工具