MCP.so
Sign In

alibabacloud-devops-mcp-server

@aliyun

About alibabacloud-devops-mcp-server

Yunxiao MCP Server provides AI assistants with the ability to interact with the Yunxiao platform. It provides a set of tools that interact with Yunxiao's API, allowing AI assistants to manage Codeup repository, Project, Pipeline, Packages etc.

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "yunxiao": {
      "command": "npx",
      "args": [
        "-y",
        "alibabacloud-devops-mcp-server"
      ],
      "env": {
        "YUNXIAO_ACCESS_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Tools

199

Get information about the current user and organization based on the token. In the absence of an explicitly specified organization ID, this result will take precedence.

Get the list of organizations the current user belongs to

Get information about the current user based on the token. In the absence of an explicitly specified user ID, this result will take precedence.

[Code Management] Create a new branch in a Codeup repository

[Code Management] Get information about a branch in a Codeup repository

[Code Management] Delete a branch from a Codeup repository

[Code Management] List branches in a Codeup repository

[Code Management] Get file content from a Codeup repository

[Code Management] Create a new file in a Codeup repository

[Code Management] Update an existing file in a Codeup repository

[Code Management] Delete a file from a Codeup repository

[Code Management] List file tree from a Codeup repository

[Code Management] Query code to compare content

[Code Management] Get information about a Codeup repository

[Code Management] Get the CodeUp Repository List. A Repository serves as a unit for managing source code and is distinct from a Project. Use Case: View my repositories

[Code Management] Create a new Codeup repository. Creates an empty code repository that can then be pushed to via git. Use Cases: Create a new repository for a project

[Code Management] Get detailed information about a specific change request (merge request) by its local ID.

[Code Management] List change requests with multi-condition filtering, pagination and sorting. Supports filtering by repository, author, reviewer, state (opened/merged/closed), search keywords, and creation time range.

[Code Management] Create a new change request (merge request). Supports specifying source/target branches, reviewers, associated work items, and optional AI review trigger.

[Code Management] Review a change request (merge request): submit a PASS / NOT_PASS opinion, optionally with a comment, and optionally submit pending draft comments at the same time.

[Code Management] Merge a change request (merge request) using a specific merge type (ff-only / no-fast-forward / squash / rebase), with an optional merge message and optional source-branch deletion. This rewrites the target branch and is not reversible.

[Code Management] Create a comment on a change request. Supports two types: GLOBAL_COMMENT (global comment on the entire merge request) and INLINE_COMMENT (inline comment on specific code lines). For INLINE_COMMENT, you must provide file_path, line_number, from_patchset_biz_id, and to_patchset_biz_id parameters.

[Code Management] List comments on a change request. Supports filtering by comment type (GLOBAL_COMMENT or INLINE_COMMENT), state (OPENED or DRAFT), resolved status, and file path (for inline comments).

[Code Management] Update a comment on a change request. Can update the comment content and/or resolved status.

[Code Management] List patch sets (versions) for a change request. Patch sets represent different versions of the merge request as it evolves.

[Code Management] List commits in a Codeup repository

[Code Management] Get information about a commit

[Code Management] Create a comment on a commit

Get the list of departments in an organization

Get information about a department in an organization

Get the ancestors of a department in an organization

list user members in an organization

Get information about a member in an organization

Get information about a member in an organization by user ID

[Organization Management] Search for organization members

[Organization Management] List organization roles

[Organization Management] Get information about an organization role

[Project Management] Get information about a Yunxiao project

[Project Management] Search for Yunxiao Project List. A Project is a project management unit that includes work items and sprints, and it is different from a code repository (Repository). Use Cases: Query projects I am involved in Query projects I have created

[Project Management] Search for Yunxiao Program (Project Set) List. A Program is a collection of multiple related projects, used for unified management and coordination of large projects. Use Cases: Query programs by name Query programs by status Query programs by creator

[Project Management] List versions for a Yunxiao Program (Project Set). Versions are used to manage release plans and track delivery progress. Use Cases: List all versions in a program Filter versions by status (TODO, DOING, ARCHIVED) Search versions by name

[Project Management] List versions for a Yunxiao Project or Program. Versions are used to manage release plans and track delivery progress. Use Cases: List all versions in a project Filter versions by status (TODO, DOING, ARCHIVED) Search versions by name

[Project Management] Create a new version in a Yunxiao Project. Versions are used to manage release plans and track delivery progress. Use Cases: Create a new release version Plan project milestones Set version owners and dates

[Project Management] Update an existing version in a Yunxiao Project. Can update version name, owners, start date, and publish date. Use Cases: Update version name Change version owners Modify version dates

[Project Management] Delete a version from a Yunxiao Project. Use Cases: Remove obsolete versions Clean up project versions

[Project Management] Get information about a sprint

[Project Management] List sprints in a project

[Project Management] Create a new sprint

[Project Management] Update an existing sprint

[Project Management] Get information about a work item

[Project Management] Create a work item. 描述字段使用提示: - description 支持 Markdown / 富文本,需配合 formatType("MARKDOWN" 或 "RICHTEXT")。 - 描述中插入图片三步法:① 先建工作项(本工具, description 可先为空或占位);② 调 create_workitem_attachment 上传图片拿到返回值中的 embedMarkdown 或 embedHtml;③ 调 update_work_item 把拼好的 description 写回。✅ 报错点:不要使用 create_workitem_attachment 返回的 url 字段,那是 30 秒过期的 OSS 临时签名。 - 实际工时(fieldId 101587)与预计工时(fieldId 101586)为云效受控系统字段,不能通过本工具的 customFieldValues 修改;请改用 `create_effort_record` / `create_estimated_effort` 。

[Project Management] Search work items with various filter conditions. Paging is capped: page * perPage must not exceed 10000, otherwise the API returns 400 — narrow the filters to reach more results

[Project Management] Get the list of work item types for a project

[Project Management] Delete a work item. This operation is irreversible.

[Project Management] Update a work item. 调用参数结构:除 organizationId / workItemId 外,所有要更新的字段必须放在 updateWorkItemFields 对象中(包括 subject / description / formatType / status / assignedTo / priority / labels / sprint / trackers / verifier / participants / versions / customFieldValues)。 描述中插入图片:先调 create_workitem_attachment 拿到返回值的 embedMarkdown(formatType="MARKDOWN")或 embedHtml(formatType="RICHTEXT"),拼进 updateWorkItemFields.description,同时 updateWorkItemFields.formatType 设为对应值。⚠️ 不要把 create_workitem_attachment 返回的 url 嵌入 description,那是 30 秒过期的 OSS 临时签名。 受控字段提醒:实际工时(fieldId 101587)与预计工时(fieldId 101586)为云效受控系统字段,不能通过 updateWorkItemFields.customFieldValues 修改;请改用 `create_effort_record`/`update_effort_record` 与 `create_estimated_effort`/`update_estimated_effort`。

[Project Management] List all work item types in an organization

[Project Management] List work item types in a project space

[Project Management] Get details of a specific work item type

[Project Management] List work item types that can be related to a specific work item

[Project Management] Get field configuration for a specific work item type

[Project Management] Get workflow information for a specific work item type

[Project Management] List comments for a specific work item

[Project Management] Create a comment for a specific work item

[Project Management] List test cases related to a work item. Returns relation records including relationRecordId (used for deletion), testcaseId, subject and owner.

[Project Management] Relate a test case to a work item. Returns the created relation record id.

[Project Management] Remove a test case relation from a work item by relationRecordId (obtained from list_workitem_testcase_relations).

[Project Management] List attachments for a specific work item. Returns attachment information including file name, size, suffix, download URL, and creator/modifier details.

[Project Management] Get file information for a specific work item. Supports both file IDs (long hex for description-embedded images) and attachment IDs (numeric like 62487031). Returns file details including name, size, suffix, and a temporary download URL.

[Project Management] Upload a file as an attachment to a work item via multipart/form-data. Supports any file type (单文件 ≤ 10MB,云效不支持 svg/tiff)。 文件来源二选一: - 远程(streamable HTTP)部署:传 fileContent(文件内容的 base64 编码)+ fileName(含扩展名)。此时 server 与调用方通常不同机,server 读不到调用方本地文件,必须走 base64 内联。 - 同机 / stdio 本地运行:传 filePath(绝对路径),server 直接读该文件;fileName 可省略(默认取路径 basename)。⚠️ 远程部署下 filePath 已被禁用(指向服务器文件系统,存在任意文件读取风险),只能用 fileContent。 返回 WorkitemFile 含以下关键字段: - `id`/`name`/`size`/`suffix`:文件基础信息 - `url`:OSS 临时下载地址,约 30 秒过期。⚠️ 仅用于下载,不要嵌入工作项描述/评论 - `embedUrl`:永久代理 URL,适用于在工作项描述/评论中嵌入图片 - `embedMarkdown`:预拼好的 Markdown 图片标签,formatType=MARKDOWN 时拼接进 description 即可 - `embedHtml`:预拼好的 HTML <img> 标签,formatType=RICHTEXT 时拼接进 description 即可 在工作项描述中插入图片的标准三步法:① 创建工作项(如已有则跳过);② 调本工具上传图片、读出 embedMarkdown / embedHtml;③ 调 update_work_item,在 updateWorkItemFields.description 中拼入该 embed* 字段,同时设置 updateWorkItemFields.formatType 为 "MARKDOWN" 或 "RICHTEXT"。 应用 token 场景必传 operatorId,个人 token 必传可省略。

[Project Management] List activity history for a specific work item. Returns changes including field updates, status transitions, association changes, and attachment changes, with operator and timestamp details.

[Project Management] 获取用户的实际工时明细,结束时间和开始时间的间隔不能大于6个月

[Project Management] 获取实际工时明细

[Project Management] 登记实际工时。云效中实际工时(fieldId 101587)为受控字段,不能通过 update_work_item 的 customFieldValues 修改,必须调用本工具。

[Project Management] 获取预计工时明细

[Project Management] 登记预计工时。云效中预计工时(fieldId 101586)为受控字段,不能通过 update_work_item 的 customFieldValues 修改,必须调用本工具。

[Project Management] 更新已登记的实际工时(云效实际工时受控字段,不能走 update_work_item.customFieldValues)。

[Project Management] 更新已登记的预计工时(云效预计工时受控字段,不能走 update_work_item.customFieldValues)。

[Pipeline Management] Get details of a specific pipeline in an organization

[Pipeline Management] Get a list of pipelines in an organization with filtering options

[Pipeline Management] Generate the pipeline YAML without creating the pipeline — a dry run of create_pipeline_from_description, for previewing the config or debugging a generation problem. Takes the same parameters and follows the same guidelines.

[Pipeline Management] Create a pipeline from structured parameters. Workflow: take the parameters the user stated explicitly, fill the rest by inspecting the local project (each parameter's description says which file or git command to read), then call this tool. Guidelines: - Prefer local detection over API calls. Do NOT call list_repositories / list_service_connections first; only do so when the user explicitly wants to pick from the available options. - Omit serviceConnectionId to have the default resolved internally. serviceName is derived from repoUrl (git@host:org/repo.git → repo) when omitted.

[Pipeline Management] Intelligently search pipelines with natural language time references (e.g., 'today', 'this week')

[Pipeline Management] Run a pipeline. Use the simplified parameters (branch, tag, branches, repositories, environmentVariables). Do NOT hand-craft the 'params' JSON — it is only for a raw JSON string the user supplies verbatim, and it overrides everything else. Behavior: passing branch or tag alone resolves the repository URLs from the pipeline config automatically; passing branches enables branch mode.

[Pipeline Management] Get information about the latest pipeline run

[Pipeline Management] Get details of a specific pipeline run instance

[Pipeline Management] Get a list of pipeline run instances with filtering options

[Pipeline Management] Get pipeline execution tasks by category. Currently only supports DEPLOY category.

[Pipeline Management] Get the execution history of a pipeline task. Retrieve all execution records for a specific task in a pipeline.

[Pipeline Management] Manually run a pipeline task. Start a specific job in a pipeline run instance.

[Pipeline Management] Get the execution logs of a pipeline job. Retrieve the log content for a specific job in a pipeline run.

[Pipeline Management] Stop/terminate a running pipeline job.

[Pipeline Management] Retry a failed pipeline job run.

[Pipeline Management] Rerun a pipeline job. Only deploy-type jobs are supported. You can set a job as deploy type in its configuration.

[Pipeline Management] Skip a pipeline job run.

[Pipeline Management] Approve/pass a manual checkpoint (human validation gate) in a pipeline run.

[Pipeline Management] Refuse/reject a manual checkpoint (human validation gate) in a pipeline run.

[Pipeline Management] Execute a subsequent action of a pipeline job.

[Pipeline Management] Get the list of steps for a pipeline job. Returns step details including stepIndex and buildId needed for log retrieval.

[Pipeline Management] Get the log content for a specific step of a pipeline job. Use GetPipelineJobSteps first to get stepIndex and buildId.

[Pipeline Management] Get the download URL for a pipeline job step log. Use GetPipelineJobSteps first to get stepIndex and buildId.

[Pipeline Management] Update an existing pipeline in Yunxiao by pipelineId. Use this to update pipeline YAML, stages, jobs, etc.

[Service Connection Management] List service connections in an organization with filtering options

[Resource Member Management] Delete a resource member

[Resource Member Management] Get a list of resource members

[Resource Member Management] Update a resource member

[Resource Member Management] Create a resource member

[Resource Member Management] Transfer resource owner

[VM Deploy Order Management] Stop VM deploy order

[VM Deploy Order Management] Skip VM deploy machine

[VM Deploy Order Management] Retry VM deploy machine

[VM Deploy Order Management] Resume VM deploy order

[VM Deploy Order Management] Get VM deploy order details

[VM Deploy Order Management] Get VM deploy machine log

[Pipeline Management] Create an organization-level variable group for Flow (pipeline).

[Pipeline Management] List organization-level Flow (pipeline) variable groups with pagination.

[Pipeline Management] Get a Flow (pipeline) variable group by numeric id.

[Pipeline Management] Update a Flow (pipeline) variable group by numeric id.

[Pipeline Management] Delete a Flow (pipeline) variable group by numeric id.

[Packages Management] List package repositories in an organization with filtering options

[Packages Management] List artifacts in a package repository with filtering options

[Packages Management] Get information about a single artifact in a package repository

[application delivery] List applications in an organization with pagination

[application delivery] Get application details by name

[application delivery] Create a new application

[application delivery] Update an existing application

[application delivery] List application sources with pagination

[application delivery] Create an application tag

[application delivery] Update an application tag

[application delivery] Search application tags

[application delivery] Update application tag bindings

[application delivery] Search application templates

[application delivery] Create a global variable group

[application delivery] Get a global variable group

[application delivery] Update a global variable group

[application delivery] List global variable groups

[application delivery] Get variable groups for an environment

[application delivery] Create a variable group

[application delivery] Delete a variable group

[application delivery] Get a variable group

[application delivery] Update a variable group

[application delivery] Get variable groups for an application

[application delivery] Get the revision of variable groups for an application

[application delivery] Get the latest orchestration for an environment

[application delivery] List application orchestrations

[application delivery] Create an application orchestration

[application delivery] Delete an application orchestration

[application delivery] Get an application orchestration

[application delivery] Update an application orchestration. This is a full replacement — include all existing spec fields (componentList, labels, placeholderList, groupNameMap) to avoid data loss. Call get_app_orchestration first to retrieve the current state.

[application delivery] Create a change request

[application delivery] Get audit items for a change request

[application delivery] List change request executions

[application delivery] List work items for a change request

[application delivery] Cancel a change request

[application delivery] Close a change request

[application delivery] Search change requests in an application with pagination and filtering

[application delivery] List change requests attached to a release

[application delivery] Get machine deployment log

[application delivery] Add host list to host group

[application delivery] Add host list to deploy group

[application delivery] 创建部署单

[application delivery] 查看部署单版本列表

[application delivery] 读取部署单使用的物料和工单状态

[application delivery] 查询环境部署单日志

[application delivery] 查询部署任务执行日志,其中通常包含下游部署引擎的调度细节信息

[application delivery] 操作环境部署单

[application delivery] 根据创建来源查询部署单

[application delivery] 查询应用下所有发布流程

[application delivery] 查询应用下所有发布流程摘要

[application delivery] 获取发布流程阶段详情

[application delivery] 查询发布流程阶段摘要列表

[application delivery] 更新应用发布流程阶段

[application delivery] 查询发布流程阶段执行记录列表

[application delivery] 执行变更请求的发布流程阶段

[application delivery] 取消发布流程阶段执行

[application delivery] 重试变更请求的发布流程阶段流水线

[application delivery] 跳过变更请求的发布流程阶段流水线

[application delivery] 查询研发阶段执行记录集成变更信息

[application delivery] 获取研发阶段流水线运行实例

[application delivery] 通过发布流程阶段验证

[application delivery] 查询研发阶段流水线任务运行日志

[application delivery] 拒绝发布流程阶段验证

[test management] 获取测试用例目录列表

[test management] 创建测试用例目录

[test management] 获取测试用例字段配置

[test management] 创建测试用例

[test management] 搜索测试用例。分页有上限:page * perPage 不能超过 10000,超出会返回 400,需要更多结果时用 directoryId 或 conditions 缩小范围

[test management] 获取测试用例信息

[test management] 删除测试用例

[test management] 获取测试计划列表

[test management] 获取测试计划中测试用例列表

[test management] 更新测试结果

[test management] 获取测试计划用例执行进度统计(通过/失败/延后/待执行)

[test management] 获取测试计划结果目录列表,按用例库分组返回目录树及每个目录下的用例数量

[test management] 获取测试用例库标签列表,支持分页与按名称关键词过滤

[test management] 获取用例库列表,支持分页与按名称模糊筛选

[test management] 获取测试用例评论列表

[test management] 创建测试用例评论,支持回复(通过parentId)

[test management] 获取测试计划中测试用例的评论列表(与用例库中的用例评论不同,这里是测试计划上下文)

[test management] 创建测试计划中测试用例的评论,支持回复(通过parentId)。与用例库中的用例评论不同,这里是测试计划上下文

Overview

What is alibabacloud-devops-mcp-server?

alibabacloud-devops-mcp-server is an MCP server that enables AI assistants to interact with the AlibabaCloud Yunxiao platform. It allows reading work items, writing code after understanding requirements, and submitting code merge requests. Enterprise development teams use it to assist with code reviews, optimize task management, reduce repetitive operations, and focus on innovation and product delivery.

How to use alibabacloud-devops-mcp-server?

Install via npx (Node >=18) and configure the MCP client with your YUNXIAO_ACCESS_TOKEN. Optionally set YUNXIAO_API_BASE_URL for Region edition. An official hosted endpoint (https://openapi-rdc.aliyuncs.com/ai/mcp) is also available for zero-install use. You can limit which toolsets are enabled with the --toolsets argument or DEVOPS_TOOLSETS environment variable.

Key features of alibabacloud-devops-mcp-server

  • Organization management tools (list, roles, members, departments)
  • Code management tools (branches, files, merge requests, commits)
  • Project management tools (projects, sprints, work items, comments)
  • Pipeline management tools (pipelines, configurations, deployments)
  • Application delivery tools (deployment orders, applications, variable groups)
  • Artifact repository management tools (repositories, artifact lists)
  • Test management tools (test cases, plans, results)

Use cases of alibabacloud-devops-mcp-server

  • AI-assisted code review and merge request management
  • Automatic code writing from work item requirements
  • Streamlined project and task management via natural language
  • Reduced manual operations in DevOps workflows

FAQ from alibabacloud-devops-mcp-server

What are the prerequisites?

Node.js version >=18 and a Yunxiao Personal Access Token with read/write permissions across organization, project, code, pipeline, artifact, application, and testing APIs.

How do I configure the server for a Region edition?

Set the environment variable YUNXIAO_API_BASE_URL to your organization-specific domain (e.g., https://your-org.devops.aliyuncs.com). The server automatically detects central station vs Region edition based on the URL.

Can I use the server without installing anything locally?

Yes. Yunxiao provides an officially hosted MCP endpoint at https://openapi-rdc.aliyuncs.com/ai/mcp using Streamable HTTP transport. Authenticate with a Bearer or X-Yunxiao-Token header.

What transport modes are supported?

Stdio (default), SSE (--sse), Streamable HTTP (--streamable-http), or both (--sse --streamable-http). The server can run via npx or Docker.

How can I enable only the tools I need?

Use the --toolsets command-line argument or DEVOPS_TOOLSETS environment variable with a comma-separated list of toolset names (e.g., code-management,project-management). If not specified, all tools are enabled.

Frequently asked questions

What are the prerequisites?

Node.js version >=18 and a Yunxiao Personal Access Token with read/write permissions across organization, project, code, pipeline, artifact, application, and testing APIs.

How do I configure the server for a Region edition?

Set the environment variable `YUNXIAO_API_BASE_URL` to your organization-specific domain (e.g., `https://your-org.devops.aliyuncs.com`). The server automatically detects central station vs Region edition based on the URL.

Can I use the server without installing anything locally?

Yes. Yunxiao provides an officially hosted MCP endpoint at `https://openapi-rdc.aliyuncs.com/ai/mcp` using Streamable HTTP transport. Authenticate with a Bearer or X-Yunxiao-Token header.

What transport modes are supported?

Stdio (default), SSE (`--sse`), Streamable HTTP (`--streamable-http`), or both (`--sse --streamable-http`). The server can run via npx or Docker.

How can I enable only the tools I need?

Use the `--toolsets` command-line argument or `DEVOPS_TOOLSETS` environment variable with a comma-separated list of toolset names (e.g., `code-management,project-management`). If not specified, all tools are enabled.

Comments

More Cloud & Infrastructure MCP servers