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

관련 서버

NotebookLM 웹 임포터

원클릭으로 웹 페이지와 YouTube 동영상을 NotebookLM에 가져오기. 200,000명 이상이 사용 중.

Chrome 확장 프로그램 설치