项目简介

这是一个基于Model Context Protocol (MCP) 实现的服务器应用,旨在作为AI助手与阿里云DevOps平台(云效)之间的桥梁。它将云效的各种能力(如代码库操作、项目管理、流水线执行等)通过标准化的MCP接口暴露给支持MCP协议的客户端(如某些AI编码工具)。

主要功能点

该服务器通过注册一系列工具(Tools)来提供对阿里云DevOps平台的操作能力,主要包括:

  • 代码仓库管理: 创建、查询、管理代码仓库及其分支。
  • 文件操作: 对代码仓库中的文件进行创建、更新、删除、查询内容等操作。
  • 代码评审: 创建和管理代码评审(合并请求)。
  • 项目管理: 搜索项目、获取项目详情、查询迭代详情、搜索工作项。
  • 流水线管理: 创建、查询流水线,获取、查询、运行流水线实例记录。

安装步骤

  1. 获取阿里云云效个人访问令牌: 前往阿里云云效平台获取一个具有完整API权限的个人访问令牌。这是连接云效平台的必要凭证。
  2. 下载预编译二进制文件: 从仓库的README中提供的链接下载适合你操作系统的二进制文件。下载后将文件重命名为 'alibabacloud-devops-mcp-server' (或 'alibabacloud-devops-mcp-server.exe' 在Windows上),并将其放置在系统PATH环境变量包含的目录中,或者记住其存放路径。
  3. (可选) 从源码构建: 如果你希望从源码构建,需要安装Go 1.24.0或更高版本。
    • 克隆仓库:'git clone https://github.com/aliyun/alibabacloud-devops-mcp-server.git && cd alibabacloud-devops-mcp-server'
    • 安装依赖:'make deps'
    • 构建应用:'make build' (或 'make build-windows', 'make build-darwin', 'make build-linux' 构建特定平台版本)

服务器配置

MCP服务器通过JSON-RPC协议与客户端通信。常见的传输方式是标准输入输出(Stdio)或HTTP SSE。MCP客户端(如AI助手或IDE插件)需要知道如何启动这个MCP服务器。你需要为你的MCP客户端配置如下信息:

  • 服务器名称 (Server Name): 一个标识该服务器的名称,例如 'alibaba-devops'。
  • 启动命令 (Command): 用于启动服务器的可执行文件路径或名称。如果你将二进制文件放到了PATH中,直接使用文件名即可,例如 'alibabacloud-devops-mcp-server'。
  • 启动参数 (Args): 传递给启动命令的额外参数。
    • 最重要的参数是提供阿里云云效个人访问令牌。可以通过 '--token YOUR_ACCESS_TOKEN' 参数传递,或者更推荐的方式是通过环境变量 'YUNXIAO_ACCESS_TOKEN' 设置,此时不需要在Args中添加token参数,而是在客户端配置的环境变量中设置。
    • 可以选择 '--transport sse --sse-address localhost:8000' 来以SSE模式启动服务器并指定监听地址,但大多数客户端默认使用Stdio模式,通常无需额外配置。
    • 可以选择 '--api-base https://your.yunxiao.endpoint' 指定云效API的基础URL,默认是 'https://openapi-rdc.aliyuncs.com'。
  • 环境变量 (Env): 需要传递给服务器进程的环境变量。推荐在此设置 'YUNXIAO_ACCESS_TOKEN: "你的云效访问令牌"'。

例如,在一个MCP客户端中,配置可能看起来像是指定一个服务器名字(如"alibaba-devops"),然后设置启动命令为 'alibabacloud-devops-mcp-server',并在其环境变量配置中设置 'YUNXIAO_ACCESS_TOKEN' 为你的令牌值。

基本使用方法

一旦在你的MCP客户端中成功配置并启动了阿里云DevOps MCP服务器,AI助手就能够通过调用服务器注册的各种工具来与阿里云云效平台进行交互。你可以在支持MCP工具调用的AI对话界面或功能面板中尝试让AI执行与代码仓库、项目、工作项、流水线相关的操作,例如:

  • 让AI查询指定代码库的分支列表。
  • 让AI根据工作项描述在代码库中创建新文件并提交到新分支。
  • 让AI为某个分支创建合并请求。
  • 让AI查询项目的待办工作项。
  • 让AI触发指定的流水线运行。

AI助手会根据你的指令,选择并调用最合适的工具,并将工具的执行结果(如文件内容、列表信息、操作成功/失败)返回给你。

信息

分类

开发者工具