alibabacloud-devops-mcp-server

Works with Alibaba Cloud Yunxiao DevOps: code, work items, pipelines, deployments and tests

Official · Alibaba Cloud TypeScript Remote (hosted) · Streamable HTTPLocal · stdio Git and code hostingDevOps and monitoringProductivity

66 popularity score ★ 182 ↓ 2.2k/wk

Connect your client

Remote (hosted)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

CursorCursor's MCP configuration file
{
  "mcpServers": {
    "yunxiao": {
      "url": "https://openapi-rdc.aliyuncs.com/ai/mcp",
      "headers": { "Authorization": "Bearer <YOUR_TOKEN>" }
    }
  }
}
Local (npm)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

It needs YUNXIAO_ACCESS_TOKEN. Replace each <NAME> with your value.

Claude CodeTerminal
claude mcp add alibabacloud-devops -e YUNXIAO_ACCESS_TOKEN=<YUNXIAO_ACCESS_TOKEN> -- npx -y alibabacloud-devops-mcp-server
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "alibabacloud-devops": {
      "command": "npx",
      "args": [
        "-y",
        "alibabacloud-devops-mcp-server"
      ],
      "env": {
        "YUNXIAO_ACCESS_TOKEN": "<YUNXIAO_ACCESS_TOKEN>"
      }
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "alibabacloud-devops": {
      "command": "npx",
      "args": [
        "-y",
        "alibabacloud-devops-mcp-server"
      ],
      "env": {
        "YUNXIAO_ACCESS_TOKEN": "<YUNXIAO_ACCESS_TOKEN>"
      }
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "alibabacloud-devops": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "alibabacloud-devops-mcp-server"
      ],
      "env": {
        "YUNXIAO_ACCESS_TOKEN": "<YUNXIAO_ACCESS_TOKEN>"
      }
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.alibabacloud-devops]
command = "npx"
args = ["-y", "alibabacloud-devops-mcp-server"]

[mcp_servers.alibabacloud-devops.env]
YUNXIAO_ACCESS_TOKEN = "<YUNXIAO_ACCESS_TOKEN>"
Gemini CLITerminal
gemini mcp add --scope user -e YUNXIAO_ACCESS_TOKEN=<YUNXIAO_ACCESS_TOKEN> alibabacloud-devops npx -- -y alibabacloud-devops-mcp-server
Local (container)

Add in one click

Opens the app, which asks before it adds the server. Then replace each <NAME> in its settings with your value.

Or add it by command or config

It needs YUNXIAO_ACCESS_TOKEN. Replace each <NAME> with your value.

Claude CodeTerminal
claude mcp add alibabacloud-devops -e YUNXIAO_ACCESS_TOKEN=<YUNXIAO_ACCESS_TOKEN> -- docker run -i --rm -e YUNXIAO_ACCESS_TOKEN build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latest
Claude Desktopclaude_desktop_config.json
{
  "mcpServers": {
    "alibabacloud-devops": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "YUNXIAO_ACCESS_TOKEN",
        "build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latest"
      ],
      "env": {
        "YUNXIAO_ACCESS_TOKEN": "<YUNXIAO_ACCESS_TOKEN>"
      }
    }
  }
}
Cursor~/.cursor/mcp.json
{
  "mcpServers": {
    "alibabacloud-devops": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "YUNXIAO_ACCESS_TOKEN",
        "build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latest"
      ],
      "env": {
        "YUNXIAO_ACCESS_TOKEN": "<YUNXIAO_ACCESS_TOKEN>"
      }
    }
  }
}
VS Code.vscode/mcp.json
{
  "servers": {
    "alibabacloud-devops": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "YUNXIAO_ACCESS_TOKEN",
        "build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latest"
      ],
      "env": {
        "YUNXIAO_ACCESS_TOKEN": "<YUNXIAO_ACCESS_TOKEN>"
      }
    }
  }
}
Codex~/.codex/config.toml
[mcp_servers.alibabacloud-devops]
command = "docker"
args = ["run", "-i", "--rm", "-e", "YUNXIAO_ACCESS_TOKEN", "build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latest"]

[mcp_servers.alibabacloud-devops.env]
YUNXIAO_ACCESS_TOKEN = "<YUNXIAO_ACCESS_TOKEN>"
Gemini CLITerminal
gemini mcp add --scope user -e YUNXIAO_ACCESS_TOKEN=<YUNXIAO_ACCESS_TOKEN> alibabacloud-devops docker -- run -i --rm -e YUNXIAO_ACCESS_TOKEN build-steps-public-registry.cn-beijing.cr.aliyuncs.com/build-steps/alibabacloud-devops-mcp-server:latest

Settings 10

YUNXIAO_ACCESS_TOKEN Required: Yunxiao personal access token used for every API call.
YUNXIAO_API_BASE_URL Optional: OpenAPI address for Region-edition organizations; defaults to https://openapi-rdc.aliyuncs.com.
DEVOPS_TOOLSETS Optional: Comma-separated toolsets to enable; all are on when unset (same as --toolsets).
MCP_TRANSPORT Optional: sse, streamable-http or both to serve over HTTP instead of stdio.
PORT Optional: Port for the HTTP transports.
MCP_STREAMABLE_PATH Optional: Streamable HTTP endpoint path, /mcp by default.
MCP_HTTP_HOST Optional: Bind address for HTTP mode, 0.0.0.0 by default.
MCP_ALLOWED_HOSTS Optional: Comma-separated Host header values accepted in HTTP mode.
YUNXIAO_ALLOW_REQUEST_API_BASE_URL Optional: Set to false so HTTP callers cannot override the API address per request; allowed by default.
MCP_JSON_BODY_LIMIT Optional: Largest JSON request body in HTTP mode, 20mb by default.

In a container, a setting goes in with -e NAME=value after docker run.

What it does

Alibaba Cloud's own MCP server for Yunxiao (AlibabaCloud DevOps), its hosted development platform. Through a personal access token it calls the Yunxiao OpenAPI to look up organizations and members, manage Codeup repositories, branches, files and merge requests, handle projects, sprints, work items and time records, run and inspect Flow pipelines, drive AppStack application delivery and release workflows, list artifact repositories, and keep test cases and test plans.

The tool list is much larger than the README shows: the tools.json file at v0.3.68 counts 203 tools, including ones the README leaves out such as merge_change_request, review_change_request, create_repository and delete_work_item. Tools are grouped into seven toolsets (organization-management, code-management, project-management, pipeline-management, packages-management, application-delivery, test-management); all are on unless --toolsets or DEVOPS_TOOLSETS picks a subset, which keeps the list an assistant sees shorter.

It runs locally over stdio with npx or Docker, can be self-hosted over SSE or Streamable HTTP, and Yunxiao also runs a hosted Streamable HTTP endpoint at https://openapi-rdc.aliyuncs.com/ai/mcp (Region editions use their own domain plus /ai/mcp). It talks to the central OpenAPI at openapi-rdc.aliyuncs.com by default; Region-edition organizations set YUNXIAO_API_BASE_URL.

What it needs

To run it yourselfNode.js 18+orDocker

Node.js 18 or later for the npx way, or Docker for the container. A Yunxiao (AlibabaCloud DevOps) organization and a personal access token; the README asks for read and write rights on organization, project, code, pipeline, artifact repository, application delivery and test management APIs. Region-edition organizations need their own domain in YUNXIAO_API_BASE_URL. The hosted endpoint needs no install, only the token as a Bearer header.

Limits

Only works with Yunxiao; it does not reach other Alibaba Cloud services or other code hosts. Work item attachments are capped at 10 MB per file and Yunxiao rejects svg and tiff files (tools.json). list_current_user_effort_records refuses ranges longer than six months. Some tool descriptions are written in Chinese. With all 203 tools enabled the list is long; the docs suggest choosing toolsets. The README's tool list is incomplete and spells one tool get_current_organization_Info, while the code names it get_current_organization_info.

Who it suits

Teams already on Alibaba Cloud Yunxiao that want an assistant to read requirements, change code, open and merge requests, start pipelines or push releases there. Because it is official and the hosted endpoint needs no install, it is the direct choice for Yunxiao users. Its token-wide write access is broad, so a team that only wants read access or one area should limit the token's scopes and enable only the toolsets it needs. Teams on GitHub, GitLab or other CI systems need a server for that platform instead.

Tools 60 of 203

get_current_organization_info
Shows the user and organization the token belongs to
get_user_organizations
Lists organizations the user has joined
search_organization_members
Finds members of the organization
list_organization_roles
Lists roles defined in the organization
list_repositories
Lists code repositories
create_repository
Creates a new code repository
create_branch
Creates a branch
delete_branch
Removes a branch
list_files
Lists the file tree of a repository
get_file_blobs
Reads a file's contents
create_file
Adds a file in a repository
update_file
Changes a file's contents
delete_file
Removes a file from a repository
compare
Diffs two branches, tags or commits
list_commits
Lists commits in a repository
create_change_request
Opens a merge request
get_change_request
Reads one merge request
review_change_request
Approves or rejects a merge request with an optional comment
merge_change_request
Merges a merge request; cannot be undone
create_change_request_comment
Comments on a merge request
search_projects
Finds projects
list_sprints
Lists a project's sprints
create_sprint
Starts a new sprint
search_workitems
Searches work items such as tasks, bugs and requirements
get_work_item
Reads one work item
create_work_item
Creates a work item
update_work_item
Edits a work item's fields or status
delete_work_item
Removes a work item permanently
create_work_item_comment
Comments on a work item, as rich text or Markdown
create_workitem_attachment
Uploads a file to a work item, up to 10 MB
list_workitem_activities
Shows a work item's change history
create_effort_record
Logs time spent on a work item
list_pipelines
Lists pipelines
smart_list_pipelines
Finds pipelines using plain-language time ranges
generate_pipeline_yaml
Drafts pipeline YAML
create_pipeline_from_description
Builds a pipeline from a written description
update_pipeline
Replaces a pipeline's YAML
create_pipeline_run
Starts a pipeline run
get_pipeline_run
Reads a pipeline run's details
get_pipeline_job_run_log
Fetches a pipeline job's log
stop_pipeline_job_run
Stops a running pipeline job
list_service_connections
Lists service connections in the organization
update_resource_owner
Hands a resource to a new owner
get_vm_deploy_order
Reads a VM deployment order
list_package_repositories
Lists artifact repositories
list_artifacts
Lists artifacts in a repository
list_applications
Lists AppStack applications
create_application
Creates an AppStack application
create_variable_group
Adds a variable group
create_change_order
Creates a deployment order
execute_job_action
Acts on an environment deployment order
create_appstack_change_request
Opens an application change request
execute_app_release_stage
Runs a release workflow stage
pass_app_release_stage_validate
Approves a release stage check
add_host_list_to_host_group
Adds hosts to a host group
search_testcases
Searches test cases
create_testcase
Writes a new test case
list_test_plans
Lists test plans
update_test_result
Records a test result in a plan
get_test_result_list
Lists test cases and results in a plan

Similar servers