loading…
Search for a command to run...
loading…
A bridge that exposes any Spinnaker instance as an MCP server via the Gate API, enabling management of applications, pipelines, executions, and cloud infrastruc
A bridge that exposes any Spinnaker instance as an MCP server via the Gate API, enabling management of applications, pipelines, executions, and cloud infrastructure.
A bridge that exposes any Spinnaker instance as an MCP v1 server via the Gate API, written in Go.
| Category | Tool | Description |
|---|---|---|
| Applications | list_applications |
List all Spinnaker applications |
get_application |
Get detailed application info (accounts, clusters, attributes) | |
| Pipelines | list_pipelines |
List pipeline configurations for an application |
get_pipeline |
Get a specific pipeline's full configuration | |
trigger_pipeline |
Trigger a pipeline with optional parameters | |
save_pipeline |
Save/create a pipeline definition | |
update_pipeline |
Update an existing pipeline definition | |
delete_pipeline |
Delete a pipeline definition | |
get_pipeline_history |
Get revision history for a pipeline config | |
| Executions | list_executions |
List recent executions, filterable by status |
get_execution |
Get full execution details (stages, outputs, timing) | |
search_executions |
Rich search by trigger type, time range, status | |
cancel_execution |
Cancel a running execution with optional reason | |
pause_execution |
Pause a running execution at the current stage | |
resume_execution |
Resume a paused execution | |
restart_stage |
Restart a failed stage within an execution | |
evaluate_expression |
Evaluate a SpEL expression against an execution | |
| Strategies | list_strategies |
List deployment strategy configurations |
save_strategy |
Create or update a deployment strategy | |
delete_strategy |
Delete a deployment strategy | |
| Infrastructure | list_server_groups |
List server groups (deployment targets) with instance counts |
list_load_balancers |
List load balancers across all accounts and regions | |
list_clusters |
List cluster names grouped by account | |
get_cluster |
Get cluster details including server groups | |
get_scaling_activities |
Get scaling activities for a cluster | |
get_target_server_group |
Target-based server group lookup (newest, oldest, etc.) | |
list_firewalls |
List all firewalls/security groups across accounts | |
get_firewall |
Get firewall details by account, region, and name | |
get_instance |
Get instance details (health, metadata, launch time) | |
get_console_output |
Get instance console output for debugging | |
find_images |
Search for machine images by tags, region, account | |
get_image_tags |
List image tags for a repository | |
list_networks |
List VPCs/networks by cloud provider | |
list_subnets |
List subnets by cloud provider | |
list_accounts |
List all configured cloud accounts/credentials | |
get_account |
Get account details and permissions | |
| Tasks | get_task |
Get 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.
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 run --rm -e GATE_URL=http://spin-gate:8084 -e TRANSPORT=stdio drumsergio/spinnaker-mcp:0.3.1
git clone https://github.com/GeiserX/spinnaker-mcp
cd spinnaker-mcp
cp .env.example .env && $EDITOR .env
go run ./cmd/server
| Variable | Default | Description |
|---|---|---|
GATE_URL |
http://localhost:8084 |
Spinnaker 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_INSECURE |
false |
Skip TLS certificate verification |
TRANSPORT |
(empty = HTTP) | Set to stdio for stdio transport |
MCP_PORT |
8085 |
HTTP transport port (ignored when TRANSPORT=stdio) |
MCP_BIND_ADDR |
127.0.0.1 |
HTTP 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.
{
"mcpServers": {
"spinnaker": {
"command": "npx",
"args": ["-y", "spinnaker-mcp"],
"env": {
"GATE_URL": "https://spin-gate.example.com",
"GATE_TOKEN": "your-token-here"
}
}
}
}
go test -v -race ./...
Tested with Inspector. Before making a PR, make sure this MCP server behaves well via that tool.
Spinnaker -- open-source continuous delivery platform
MCP-GO -- Go MCP implementation
GoReleaser -- painless multi-arch releases
Feel free to dive in! Open an issue or submit PRs.
Spinnaker-MCP follows the Contributor Covenant Code of Conduct.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"geiserx-spinnaker-mcp": {
"command": "npx",
"args": []
}
}
}PRs, issues, code search, CI status
Database, auth and storage
Reference / test server with prompts, resources, and tools.
Secure file operations with configurable access controls.