Skip to main content
Glama
yjiace

AlibabaCloud DevOps MCP Server

by yjiace

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoThe port number for HTTP/SSE mode (default is 3000)3000
MCP_TRANSPORTNoThe transport mode for the MCP server (stdio, sse, or http)stdio
DEVOPS_TOOLSETSNoComma-separated list of toolsets to enable (base, code-management, organization-management, project-management, pipeline-management, packages-management, application-delivery). If not specified, all tools will be enabled.
YUNXIAO_ACCESS_TOKENYesYour AlibabaCloud Devops Personal Access Token. Grant read and write permissions to all APIs under organization management, project collaboration, code management, pipeline management, artifact repository management, application delivery and testing management.

Tools

Functions exposed to the LLM to take actions

NameDescription
get_current_organization_info

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_user_organizations

Get the list of organizations the current user belongs to

get_current_user

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

create_branch

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

get_branch

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

delete_branch

[Code Management] Delete a branch from a Codeup repository

list_branches

[Code Management] List branches in a Codeup repository

get_file_blobs

[Code Management] Get file content from a Codeup repository

create_file

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

update_file

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

delete_file

[Code Management] Delete a file from a Codeup repository

list_files

[Code Management] List file tree from a Codeup repository

compare

[Code Management] Query code to compare content

get_repository

[Code Management] Get information about a Codeup repository

list_repositories

[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

get_change_request

[Code Management] Get information about a change request

list_change_requests

[Code Management] List change requests

create_change_request

[Code Management] Create a new change request

create_change_request_comment

[Code Management] Create a comment on a change request

list_change_request_comments

[Code Management] List comments on a change request

list_change_request_patch_sets

[Code Management] List patch sets for a change request

list_commits

[Code Management] List commits in a Codeup repository

get_commit

[Code Management] Get information about a commit

create_commit_comment

[Code Management] Create a comment on a commit

list_organization_departments

Get the list of departments in an organization

get_organization_department_info

Get information about a department in an organization

get_organization_department_ancestors

Get the ancestors of a department in an organization

list_organization_members

list user members in an organization

get_organization_member_info

Get information about a member in an organization

get_organization_member_info_by_user_id

Get information about a member in an organization by user ID

search_organization_members

[Organization Management] Search for organization members

list_organization_roles

[Organization Management] List organization roles

get_organization_role

[Organization Management] Get information about an organization role

get_project

[Project Management] Get information about a Yunxiao project

search_projects

[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

get_sprint

[Project Management] Get information about a sprint

list_sprints

[Project Management] List sprints in a project

create_sprint

[Project Management] Create a new sprint

update_sprint

[Project Management] Update an existing sprint

get_work_item

[Project Management] Get information about a work item

create_work_item

[Project Management] Create a work item

search_workitems

[Project Management] Search work items with various filter conditions

get_work_item_types

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

update_work_item

[Project Management] Update a work item

list_all_work_item_types

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

list_work_item_types

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

get_work_item_type

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

list_work_item_relation_work_item_types

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

get_work_item_type_field_config

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

get_work_item_workflow

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

list_work_item_comments

[Project Management] List comments for a specific work item

create_work_item_comment

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

list_current_user_effort_records

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

list_effort_records

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

create_effort_record

[Project Management] 登记实际工时

list_estimated_efforts

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

create_estimated_effort

[Project Management] 登记预计工时

update_effort_record

[Project Management] 更新登记实际工时

update_estimated_effort

[Project Management] 更新登记预计工时

get_pipeline

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

list_pipelines

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

generate_pipeline_yaml

[Pipeline Management] Generate only the YAML configuration for a pipeline without creating it.

📋 Use Cases:

  • Preview YAML before creating pipeline

  • Generate YAML for manual deployment

  • Debug pipeline configuration

📖 Recommended Workflow:

  1. 🎯 Parse user description for explicit parameters

  2. 🔍 If missing context, prefer IDE detection (terminal + file reading) over API calls

  3. 🚀 Call this tool with collected parameters

💡 Parameter Collection Strategy:

  • For QUICK pipeline creation: Use IDE detection (git config, file reading)

  • For PRECISE parameter selection: Consider list_repositories, list_service_connections when needed

  • Balance efficiency vs. accuracy based on user intent

⚡ Built-in capabilities: Handles default service connections internally, auto-extracts project name from repo URL

create_pipeline_from_description

[Pipeline Management] Create a pipeline using structured parameters extracted from user descriptions and environment context.

🔧 Built-in Capabilities:

  • ✅ Automatically retrieves default service connection IDs when not specified

  • ✅ Handles repository and service connection logic internally

  • ✅ Auto-extracts project name from repository URL (git@host:org/repo.git → repo)

  • ✅ Supports both IDE detection and explicit parameter specification

📖 Recommended Workflow:

  1. 🎯 PARSE user description for explicit parameters

  2. 🔍 DETECT missing info from IDE environment FIRST:

    • Run git config --get remote.origin.url → repoUrl

    • Run git branch --show-current → branch

    • Auto-extract serviceName from repoUrl

    • Check project files for tech stack:

      • pom.xml → buildLanguage='java', buildTool='maven'

      • build.gradle → buildLanguage='java', buildTool='gradle'

      • package.json + package-lock.json → buildLanguage='nodejs', buildTool='npm'

      • package.json + yarn.lock → buildLanguage='nodejs', buildTool='yarn'

      • requirements.txt → buildLanguage='python', buildTool='pip'

      • go.mod → buildLanguage='go', buildTool='go'

      • *.csproj → buildLanguage='dotnet', buildTool='dotnet'

  3. 🚀 CALL this tool with collected parameters

⚠️ Important Guidelines:

  • DO NOT call list_repositories unless user explicitly asks to choose from available repositories

  • DO NOT call list_service_connections unless user explicitly asks to choose from available connections

  • ALWAYS try IDE detection first before making any API calls

  • If IDE detection fails, THEN consider API calls as fallback

🎯 Parameter Priority:

  1. 👤 USER EXPLICIT (highest) - buildLanguage, buildTool, versions, deployTarget

  2. 🔍 IDE DETECTION (preferred) - repoUrl, branch, serviceName, tech stack

  3. 🤖 TOOL DEFAULTS (automatic) - serviceConnectionId, organizationId

🔍 IDE Detection Rules (MUST TRY FIRST):

  • 📂 Repository: git config --get remote.origin.url → repoUrl

  • 🌿 Branch: git branch --show-current → branch

  • 🏷️ Service Name: Auto-extracted from repoUrl (git@host:org/repo.git → repo)

  • ☕ Java Maven: pom.xml exists → buildLanguage='java', buildTool='maven'

  • 🏗️ Java Gradle: build.gradle exists → buildLanguage='java', buildTool='gradle'

  • 🟢 Node npm: package.json + package-lock.json → buildLanguage='nodejs', buildTool='npm'

  • 🧶 Node yarn: package.json + yarn.lock → buildLanguage='nodejs', buildTool='yarn'

  • 🐍 Python: requirements.txt → buildLanguage='python', buildTool='pip'

  • 🐹 Go: go.mod → buildLanguage='go', buildTool='go'

  • 💙 .NET: *.csproj → buildLanguage='dotnet', buildTool='dotnet'

📝 Version Detection (from project files):

  • ☕ JDK: Read pom.xml <maven.compiler.source> → jdkVersion

  • 🟢 Node: Read package.json engines.node → nodeVersion

  • 🐍 Python: Read .python-version, pyproject.toml → pythonVersion

  • 🐹 Go: Read go.mod go directive → goVersion

🎯 Deployment Parsing:

  • '部署到主机/VM/虚拟机' → deployTarget='vm'

  • '部署到Kubernetes/K8s' → deployTarget='k8s'

  • '只构建/构建制品' → deployTarget='none'

🔗 Service Connection Strategy (3 scenarios):

  1. User specifies ID explicitly (e.g., '使用服务连接ID abc123') → ✅ Pass serviceConnectionId=abc123 directly, NO list_service_connections call needed

  2. User doesn't specify any ID (most common case) → ✅ Pass serviceConnectionId=null, tool will auto-retrieve default ID internally

  3. User wants to choose from available options (e.g., '显示可用的服务连接让我选择') → 🔍 Call list_service_connections first, then let user choose, then create pipeline

🤔 When to Use Other Tools:

  • User asks to "select from available repositories" → use list_repositories first

  • User wants to "choose from service connections" → use list_service_connections first

  • User wants to see options before deciding → gather info first, then create

  • For quick creation with current repo → directly use IDE detection

✅ Required: organizationId, name, buildLanguage, buildTool

smart_list_pipelines

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

create_pipeline_run

[Pipeline Management] Run a pipeline with optional parameters

get_latest_pipeline_run

[Pipeline Management] Get information about the latest pipeline run

get_pipeline_run

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

list_pipeline_runs

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

list_pipeline_jobs_by_category

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

list_pipeline_job_historys

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

execute_pipeline_job_run

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

get_pipeline_job_run_log

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

update_pipeline

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

list_service_connections

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

delete_resource_member

[Resource Member Management] Delete a resource member

list_resource_members

[Resource Member Management] Get a list of resource members

update_resource_member

[Resource Member Management] Update a resource member

create_resource_member

[Resource Member Management] Create a resource member

update_resource_owner

[Resource Member Management] Transfer resource owner

stop_vm_deploy_order

[VM Deploy Order Management] Stop VM deploy order

skip_vm_deploy_machine

[VM Deploy Order Management] Skip VM deploy machine

retry_vm_deploy_machine

[VM Deploy Order Management] Retry VM deploy machine

resume_vm_deploy_order

[VM Deploy Order Management] Resume VM deploy order

get_vm_deploy_order

[VM Deploy Order Management] Get VM deploy order details

get_vm_deploy_machine_log

[VM Deploy Order Management] Get VM deploy machine log

list_package_repositories

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

list_artifacts

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

get_artifact

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

list_applications

[application delivery] List applications in an organization with pagination

get_application

[application delivery] Get application details by name

create_application

[application delivery] Create a new application

update_application

[application delivery] Update an existing application

create_app_tag

[application delivery] Create an application tag

update_app_tag

[application delivery] Update an application tag

search_app_tags

[application delivery] Search application tags

update_app_tag_bind

[application delivery] Update application tag bindings

search_app_templates

[application delivery] Search application templates

create_global_var

[application delivery] Create a global variable group

get_global_var

[application delivery] Get a global variable group

update_global_var

[application delivery] Update a global variable group

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yjiace/alibabacloud-devops-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server