LabscoMCP early access ↗
GeiserXMCP SERVER · OFFICIAL PROJECT

Spinnaker MCP

Drive Spinnaker from an agent — pipelines listed, triggered and edited, executions paused, resumed, cancelled and restarted, and the cloud infrastructure behind them read.

by GeiserX ↗Build Systems & CI/CD✓ Official

LABSCO SUMMARY

It does not just read your pipelines — it can change and run them.

save_pipeline, update_pipeline, delete_pipeline and trigger_pipeline write to your delivery configuration and start real deploys, and the execution tools stop and restart work that is already in flight. Give it a Gate credential scoped to what you actually intend, and note the authentication order: with no token, user or certificate set, it connects unauthenticated rather than refusing. On the read side, evaluate_expression and get_console_output are the two that turn a failed deploy into an explanation instead of a screenshot.

What it is

A Go bridge that exposes a Spinnaker instance through its Gate API as an MCP server. It covers the continuous-delivery loop end to end: applications and pipeline configuration, execution control while a deploy is running, and the cloud resources a deploy targets — server groups, clusters, load balancers, firewalls, images, networks and accounts.

What you get

  • Applications listed and opened with their accounts, clusters and attributes — list_applications, get_application
  • Pipeline configurations listed, read in full, created, updated and deleted, with revision history — list_pipelines, get_pipeline, save_pipeline, update_pipeline, delete_pipeline, get_pipeline_history
  • A pipeline triggered with parameters — trigger_pipeline
  • Executions listed and filtered by status, searched by trigger type, time range and status, and opened with their stages, outputs and timing — list_executions, search_executions, get_execution
  • A running execution controlled rather than watched: paused at its current stage, resumed, cancelled with a reason, or a failed stage restarted — pause_execution, resume_execution, cancel_execution, restart_stage
  • A SpEL expression evaluated against an execution, which is how you debug a pipeline that resolved the wrong value — evaluate_expression
  • Deployment strategies listed, saved and deleted — list_strategies, save_strategy, delete_strategy
  • The infrastructure behind a deploy: server groups with instance counts, clusters by account, load balancers across accounts and regions, scaling activities, and target-based server group lookup by newest or oldest — list_server_groups, list_clusters, get_cluster, list_load_balancers, get_scaling_activities, get_target_server_group
  • Firewalls and security groups listed and opened, instance health and metadata read, and an instance's console output pulled for debugging — list_firewalls, get_firewall, get_instance, get_console_output
  • Machine images searched by tag, region and account with their tags listed, networks and subnets enumerated by cloud provider, and configured cloud accounts read with their permissions — find_images, get_image_tags, list_networks, list_subnets, list_accounts, get_account
  • Orchestration task status for deploys, resizes and rollbacks — get_task

Requirements

A reachable Spinnaker Gate endpoint in GATE_URL, which is the one required setting. Authentication is tried in a fixed order — bearer token in GATE_TOKEN, then basic auth via GATE_USER and GATE_PASS, then an x509 client certificate through GATE_CERT_FILE and GATE_KEY_FILE, then none at all — so an unset credential silently means unauthenticated rather than an error. Run it with npx spinnaker-mcp, which fetches the prebuilt Go binary for your platform, or from drumsergio/spinnaker-mcp on Docker, or build the Go source. Transport is HTTP unless TRANSPORT is set to stdio; MCP_PORT and MCP_BIND_ADDR control the HTTP listener, which binds to 127.0.0.1 by default. The published version is 0.3.3.

Setup effort

One command — npx spinnaker-mcp