spinnaker-mcp

MCP server exposing Spinnaker CD platform via Gate API for pipeline and deployment management

Spinnaker MCP banner

Spinnaker-MCP

npm CI Coverage Go Docker Pulls GitHub Stars License

Official MCP Registry Glama MCP Server MCPServers.org mcp.so ToolSDK Registry listed on awesome-mcp-servers

A bridge that exposes any Spinnaker instance as an MCP v1 server via the Gate API, written in Go.


What you get

CategoryToolDescription
Applicationslist_applicationsList all Spinnaker applications
get_applicationGet detailed application info (accounts, clusters, attributes)
Pipelineslist_pipelinesList pipeline configurations for an application
get_pipelineGet a specific pipeline's full configuration
trigger_pipelineTrigger a pipeline with optional parameters
save_pipelineSave/create a pipeline definition
update_pipelineUpdate an existing pipeline definition
delete_pipelineDelete a pipeline definition
get_pipeline_historyGet revision history for a pipeline config
Executionslist_executionsList recent executions, filterable by status
get_executionGet full execution details (stages, outputs, timing)
search_executionsRich search by trigger type, time range, status
cancel_executionCancel a running execution with optional reason
pause_executionPause a running execution at the current stage
resume_executionResume a paused execution
restart_stageRestart a failed stage within an execution
evaluate_expressionEvaluate a SpEL expression against an execution
Strategieslist_strategiesList deployment strategy configurations
save_strategyCreate or update a deployment strategy
delete_strategyDelete a deployment strategy
Infrastructurelist_server_groupsList server groups (deployment targets) with instance counts
list_load_balancersList load balancers across all accounts and regions
list_clustersList cluster names grouped by account
get_clusterGet cluster details including server groups
get_scaling_activitiesGet scaling activities for a cluster
get_target_server_groupTarget-based server group lookup (newest, oldest, etc.)
list_firewallsList all firewalls/security groups across accounts
get_firewallGet firewall details by account, region, and name
get_instanceGet instance details (health, metadata, launch time)
get_console_outputGet instance console output for debugging
find_imagesSearch for machine images by tags, region, account
get_image_tagsList image tags for a repository
list_networksList VPCs/networks by cloud provider
list_subnetsList subnets by cloud provider
list_accountsList all configured cloud accounts/credentials
get_accountGet account details and permissions
Tasksget_taskGet orchestration task status (deploy, resize, rollback)

Everything is exposed over JSON-RPC. LLMs and agents can: initialize -> listTools -> callTool and interact with your Spinnaker deployments.


Quick-start

npm (stdio transport)

npx spinnaker-mcp

Or install globally:

npm install -g spinnaker-mcp
spinnaker-mcp

This downloads the pre-built Go binary for your platform and runs it with stdio transport.

Docker

docker run --rm -e GATE_URL=http://spin-gate:8084 -e TRANSPORT=stdio drumsergio/spinnaker-mcp:0.3.1

Local build

git clone https://github.com/GeiserX/spinnaker-mcp
cd spinnaker-mcp

cp .env.example .env && $EDITOR .env

go run ./cmd/server

Configuration

VariableDefaultDescription
GATE_URLhttp://localhost:8084Spinnaker Gate API endpoint (without trailing /)
GATE_TOKEN(empty)Bearer token for authentication
GATE_USER(empty)Basic auth username (alternative to token)
GATE_PASS(empty)Basic auth password
GATE_CERT_FILE(empty)Path to x509 client certificate (PEM)
GATE_KEY_FILE(empty)Path to x509 client key (PEM)
GATE_INSECUREfalseSkip TLS certificate verification
TRANSPORT(empty = HTTP)Set to stdio for stdio transport
MCP_PORT8085HTTP transport port (ignored when TRANSPORT=stdio)
MCP_BIND_ADDR127.0.0.1HTTP transport bind address (set to 0.0.0.0 to listen on all interfaces)

Authentication priority: Bearer token > Basic auth > x509 client cert > No auth.

Put them in a .env file (from .env.example) or set them in the environment.

Claude Code / Claude Desktop configuration

{
  "mcpServers": {
    "spinnaker": {
      "command": "npx",
      "args": ["-y", "spinnaker-mcp"],
      "env": {
        "GATE_URL": "https://spin-gate.example.com",
        "GATE_TOKEN": "your-token-here"
      }
    }
  }
}

Testing

go test -v -race ./...

Tested with Inspector. Before making a PR, make sure this MCP server behaves well via that tool.

Credits

Spinnaker -- open-source continuous delivery platform

MCP-GO -- Go MCP implementation

GoReleaser -- painless multi-arch releases

Maintainers

@GeiserX.

Contributing

Feel free to dive in! Open an issue or submit PRs.

Spinnaker-MCP follows the Contributor Covenant Code of Conduct.

Other MCP Servers by GeiserX

İlgili Sunucular

NotebookLM Web Importer

Web sayfalarını ve YouTube videolarını tek tıkla NotebookLM'e aktarın. 200.000'den fazla kullanıcı tarafından güveniliyor.

Chrome Eklentisini Yükle