Skip to main content
Glama
yjiace

AlibabaCloud DevOps MCP Server

by yjiace

generate_pipeline_yaml

Generate YAML configuration for Alibaba Cloud DevOps pipelines to preview, debug, or manually deploy without creating the pipeline.

Instructions

[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

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
organizationIdYesOrganization ID, can be found in the basic information page of the organization admin console
nameYesPipeline name (required). LLM should generate a meaningful name based on user's request
buildLanguageYesProgramming language (REQUIRED). LLM should detect from project files: pom.xml→java, package.json→nodejs, requirements.txt→python, go.mod→go, *.csproj→dotnet
buildToolYesBuild tool (REQUIRED). LLM should infer from buildLanguage and project files: java+pom.xml→maven, java+build.gradle→gradle, nodejs+package-lock.json→npm, nodejs+yarn.lock→yarn, python→pip, go→go, dotnet→dotnet
deployTargetNoDeployment target from user description. vm: Virtual Machine/Host deployment, k8s: Kubernetes deployment, none: Build only without deployment. Default: none
repoUrlNoRepository URL (LLM should get from 'git config --get remote.origin.url')
branchNoGit branch (LLM should get from 'git branch --show-current')
serviceNameNoService name (LLM can derive from repository name or project directory name)
serviceConnectionIdNoService connection UUID for repository access
jdkVersionNoJDK version for Java projects (LLM should read from pom.xml or gradle.properties). Options: 1.6, 1.7, 1.8, 11, 17, 21. Default: 1.8
mavenVersionNoMaven version for Java projects. Options: 3.6.1, 3.6.3, 3.8.4, 3.9.3. Default: 3.6.3
nodeVersionNoNode.js version for Node projects (LLM should read from package.json engines.node or .nvmrc). Options: 16.8, 18.12, 20. Default: 18.12
pythonVersionNoPython version for Python projects (LLM should read from .python-version or pyproject.toml). Options: 3.9, 3.12. Default: 3.12
goVersionNoGo version for Go projects (LLM should read from go.mod). Options: 1.19.x, 1.20.x, 1.21.x. Default: 1.21.x
kubectlVersionNoKubectl version for Kubernetes apply. Options: 1.25.16, 1.26.12, 1.27.9. Default: 1.27.9
buildCommandNoCustom build command to override default
testCommandNoCustom test command to override default
uploadTypeNoArtifact upload type. flowPublic: Yunxiao public storage space, packages: Organization private generic package repository. Default: packages
artifactNameNoCustom artifact name. Default: 'Artifacts_${PIPELINE_ID}'
artifactVersionNoArtifact version number, required when uploadType is packages. Default: '1.0'
packagesServiceConnectionNoPackages service connection UUID, required when uploadType is packages
packagesRepoIdNoPackages generic repository ID, required when uploadType is packages. Default: 'flow_generic_repo'
includePathInArtifactNoWhether to include full path in artifact. Default: false
machineGroupIdNoMachine group UUID for VM deployment (required when deployTarget=vm)
executeUserNoUser for executing deployment scripts (root, admin). Default: root
artifactDownloadPathNoPath to download artifacts on target machine for VM deployment. Default: /home/admin/app/package.tgz
deployCommandNoCustom deploy command for VM deployment
pauseStrategyNoPause strategy for VM deployment. firstBatchPause: The first batch is paused. noPause: No pause. eachBatchPause: Pause each batch. Default: firstBatchPause
batchNumberNoNumber of batches for VM deployment. Default: 2
kubernetesClusterIdNoKubernetes cluster ID for K8s deployment (required when deployTarget=k8s)
namespaceNoKubernetes namespace for K8s deployment
dockerImageNoDocker image name for container deployment
yamlPathNoPath to Kubernetes YAML file for K8s deployment
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses key behavioral traits: the tool generates YAML without creating anything (non-destructive), handles defaults internally, auto-extracts project names, and provides guidance on parameter collection strategies (IDE detection vs API calls). However, it doesn't mention rate limits, authentication needs, or error behaviors, leaving some gaps for a tool with 33 parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections (Use Cases, Recommended Workflow, etc.), but it's verbose for a tool description. Sentences like 'Balance efficiency vs. accuracy based on user intent' don't directly help tool invocation. While front-loaded with the core purpose, it includes instructional content that might be better placed in agent guidelines rather than the tool description itself.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (33 parameters, no output schema, no annotations), the description does a good job of providing context. It explains the tool's role in a workflow, when to use it, and behavioral aspects. However, for such a parameter-heavy tool, it could better summarize key parameters or constraints beyond what's in the schema, and it doesn't describe the output format (YAML structure).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 33 parameters thoroughly. The description adds minimal parameter-specific semantics beyond the schema—it mentions 'auto-extracts project name from repo URL' (related to 'repoUrl') and 'handles default service connections internally' (related to 'serviceConnectionId'), but most parameter context is already in the schema. Baseline 3 is appropriate given the comprehensive schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Generate only the YAML configuration for a pipeline without creating it.' This is a specific verb ('generate') + resource ('YAML configuration') that distinguishes it from sibling tools like 'create_pipeline_from_description' (which would actually create the pipeline). The description explicitly contrasts with creation, establishing a clear boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance through the 'đź“‹ Use Cases' section (preview, manual deployment, debug) and the 'đź“– Recommended Workflow' with step-by-step instructions. It distinguishes when to use this tool (for YAML generation only) versus alternatives like 'create_pipeline_from_description' (implied for actual creation). The 'đź’ˇ Parameter Collection Strategy' further clarifies context-based decision-making.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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