spinnaker-mcp banner

spinnaker-mcp

npm CI Coverage Docker Pulls License

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

It gives an LLM 37 tools to read and operate Spinnaker: applications, pipelines, executions, strategies and infrastructure. ![MCP Inspector connected to spinnaker-mcp started with TOOLSETS=readonly: only read tools are listed, and search_executions is selected with its arguments](https://raw.githubusercontent.com/GeiserX/spinnaker-mcp/main/docs/images/screenshots/tools-readonly.png) ## Features - Applications and pipelines: list, read, trigger, save, update and delete pipelines, with revision history. - Executions: list, search by trigger type, time range and status, cancel, pause, resume, restart a stage, evaluate SpEL. - Deployment strategies: list, save and delete. - Infrastructure: server groups, load balancers, clusters, firewalls, instances and console output, images, networks, subnets, accounts. - Orchestration task status (deploy, resize, rollback). - Bearer token, basic auth, x509 client certificate, or the session cookie of a Gate behind SSO (`spinnaker-mcp login`). - stdio or HTTP transport; HTTP binds to `127.0.0.1` by default. - Ships as an npm package (`npx spinnaker-mcp`), a Docker image and multi-arch Go binaries. ## Quick start Add the server to your MCP client (Claude Code, Claude Desktop, Cursor): ```json { "mcpServers": { "spinnaker": { "command": "npx", "args": ["-y", "spinnaker-mcp"], "env": { "GATE_URL": "https://spin-gate.example.com", "GATE_TOKEN": "your-token-here" } } } } ``` Needs Node 18 or newer; the npm package runs the Go binary over stdio. Docker, local builds and the other credentials are in [Getting started](https://geiserx.github.io/spinnaker-mcp/getting-started/). A variable whose value is only an unexpanded placeholder, such as `${GATE_TOKEN}`, counts as unset. ## Documentation The full documentation is at [geiserx.github.io/spinnaker-mcp](https://geiserx.github.io/spinnaker-mcp/). - [Getting started](https://geiserx.github.io/spinnaker-mcp/getting-started/): npm, Docker, Helm, local build, and the client configuration - [Configuration](https://geiserx.github.io/spinnaker-mcp/configuration/): every environment variable, the read-only toolset, the HTTP endpoints - [Usage](https://geiserx.github.io/spinnaker-mcp/usage/): the 37 tools and which ones change Spinnaker, the 10 resources, the 5 prompts - [Development](https://geiserx.github.io/spinnaker-mcp/development/): testing, contributing, credits - [Related projects](https://geiserx.github.io/spinnaker-mcp/related/): the other MCP servers and the registry listings ## License [GPL-3.0-or-later](https://github.com/GeiserX/spinnaker-mcp/blob/main/LICENSE)