NewAgent Observability — find failures before customers do.
Back to directory
Spinnaker/Kayenta logo

Spinnaker MCP server: 37 community tools, Kayenta not covered

A third-party connector covering Spinnaker's pipelines and infrastructure in depth, and the half of the product it does not reach at all.

Connector
Community, self-hosted
Coverage
Pipelines, executions, clusters
Tools
37, all on by default
Biggest risk for an agent
10 write tools unless read-only

Checked 3 October 2026 · from The community repository, npm and the server's own tools/list response

One of 91 guides to monitoring and developer tools. Each covers what an AI coding agent can get out of the tool through MCP, the protocol that lets the agent query the tool directly.

Summary

As of 3 October 2026, the Spinnaker project has not published an MCP server of its own. The most active community option is GeiserX/spinnaker-mcp, an unaffiliated project that is registry-listed, published to npm and still developed, with 37 tools.

Two older community repositories exist, dion-hagan/mcp-server-spinnaker (three tools, last push 3 December 2024) and himanhsugusain/spinnaker-mcp (three tools, last push 21 July 2025). Neither has moved since.

Its Spinnaker coverage is broad: pipelines, executions, applications, clusters, server groups, load balancers, firewalls, networks, subnets and images.

Kayenta is the gap. No tool starts or reads an automated canary analysis. Two tools mention canary, and both are about Spinnaker deployment strategies such as red/black and rolling. Those name a rollout shape, not a judgment about whether the rollout is healthy.

What is the Spinnaker/Kayenta MCP server?

The five-star GeiserX/spinnaker-mcp community package exposes Spinnaker pipelines and the infrastructure they deploy to. It uses the Model Context Protocol.

The tools map onto Spinnaker's own API surface through Gate. list_pipelines and get_pipeline_history read configuration, list_executions and get_execution read runs, and get_console_output reaches the logs from a stage.

One tool is unusual and useful. evaluate_expression evaluates a Spring Expression Language expression against a pipeline execution context, which is how an agent inspects pipeline variables and stage outputs without guessing.

It sits in CI and release, touches production observability through cluster state, and reaches nothing in code review, agent observability or cost.

Part of the workWhat Spinnaker/Kayenta has hereCan an agent reach it
Code, tests & reviewNoneNothing for code or review
CI & releasePipelines, executions, deployment strategiesYes. Core strength. Pipelines can be read, saved, triggered, paused, resumed and deleted
Production observabilityClusters, server groups, instances, scaling activitiesPartial. Deployed infrastructure and its scaling history are reachable; there are no metrics, logs or traces
Agent observability & evalsNoneNo traces or evaluations for your own agents
AI cost managementNoneNo spend data of any kind

Spinnaker's connector answers what was deployed and the resulting pipeline state. It can trigger a pipeline and read failed console output. It cannot judge a canary, and it cannot see how the application behaves. Pair it with a telemetry connector.

What can an AI agent do with Spinnaker/Kayenta?

TaskToolsWorksWatch out for
Find a pipelinelist_pipelines get_pipeline get_pipeline_historyYesHistory is configuration history, not execution history
See what a run didlist_executions get_execution search_executions get_console_outputYesget_console_output is the route from a failed stage to its logs
Inspect pipeline variablesevaluate_expressionYesEvaluates a SpEL expression against an execution context
Run or stop a deploymenttrigger_pipeline cancel_execution pause_execution resume_execution restart_stageYesAll five act on live deployments
Look at what is deployedlist_clusters get_cluster list_server_groups get_target_server_group get_instanceYesget_scaling_activities explains why a group changed size
Check networkinglist_load_balancers list_firewalls get_firewall list_networks list_subnetsYesThese describe cloud provider resources as Spinnaker sees them
Judge a canaryNoNo tool starts or reads a Kayenta canary analysis. This is the gap

list_strategies and save_strategy are the only tools that mention canary, and they cover Spinnaker deployment strategies such as red/black and rolling. Neither runs an automated canary judgment.

37 tools registered, all on by default, 10 of them writing

Pipelines4
list_pipelinesget_pipelineget_pipeline_historylist_strategies
Executions5
list_executionsget_executionsearch_executionsget_taskget_console_output
Applications4
list_applicationsget_applicationlist_accountsget_account
Infrastructure6
list_clustersget_clusterlist_server_groupsget_target_server_groupget_instanceget_scaling_activities
Networking5
list_load_balancerslist_firewallsget_firewalllist_networkslist_subnets
Images2
find_imagesget_image_tags
Debugging1
evaluate_expression
Acting on deployments5Write
trigger_pipelinecancel_executionpause_executionresume_executionrestart_stage
Changing configuration5Write
save_pipelineupdate_pipelinedelete_pipelinesave_strategydelete_strategy

Ten of the 37 names begin with a writing verb. delete_pipeline states in its own description that the action cannot be undone. Counted on 25 August 2026 from the released npm package.

What the tool definitions cost in context

A client that loads every tool definition at the start of a session spends this much context before the first question. Claude Code defers definitions by default through tool search, and loads a tool's definition when the agent needs it. The method below gives the version and date measured.

A context window is the amount of text a model can hold at once. A client that loads every tool definition upfront sends each tool's name, description and input schema to the model when the session starts. That list is charged whether or not a single tool is called.

37 tools cost between 3,996 and 7,767 tokens, which is 2.0% to 3.9% of a 200,000-token window.

Both halves are compact. Descriptions average 260 characters and schemas 237, so a wide surface stays cheap.

Tool setToolsTokens (GPT-5.6, GPT-5.5)Tokens (GPT-4, GPT-3.5)Tokens (Claude Haiku 4.5 to Opus 5)Share of a 200,000-token window
Every tool, as registered374,102 to 5,8533,996 to 5,8405,783 to 7,7672.0% to 3.9%

Encodings: GPT-5.6, GPT-5.5 o200k_base; GPT-4, GPT-3.5 cl100k_base; Claude Haiku 4.5 to Opus 5 count_tokens. Counted 25 August 2026 from tools/list on the released npm package 0.3.3. It was run locally against a placeholder Gate URL.

Registration is static, so no Spinnaker instance answered. Figures cover name, description and input schema.

The two models in column one share the o200k_base encoding, so they get one count. The spread is formatting, about 46%. Reasoning tokens are output, spent per request. The tool list is billed as input whenever the client loads it.

The Claude figures are measured rather than encoded. Anthropic publishes no local tokenizer. So the definitions were sent to the API's count_tokens endpoint, and a no-tools baseline was subtracted. The range covers two tokenizer generations rather than two serializations. Haiku 4.5 and Opus 4.6 sit at the low end. Opus 5 and Sonnet 5 sit at the high end. The gap between them is about a third.

Spinnaker/Kayenta MCP server limits: where answers come back incomplete

The first limit is the half of the name this connector does not reach. No tool performs a Kayenta canary analysis.

The agent says: “The canary passed.” No tool can tell you that.

None of the 37 tools starts or reads a Kayenta canary analysis. The two that mention canary, list_strategies and save_strategy, describe Spinnaker deployment strategies such as red/black and rolling.

A deployment strategy named canary is a rollout shape. Kayenta's automated canary judgment is a separate service, and this connector does not reach it.

Guard: Have the agent state that canary judgment is out of scope, and read Kayenta results through Spinnaker's own interface.

The agent says: “I have run the pipeline.” That is a real deployment.

trigger_pipeline starts a pipeline execution with optional parameters, and its description names deployments as one of the workflows it starts. Four more tools cancel, pause, resume or restart a live run.

Guard: Start the server with TOOLSETS=readonly when the agent only investigates. Otherwise set client approval for the ten writing tools, and scope the Gate credentials away from production pipelines.

This is not Spinnaker's own server.

As of 3 October 2026, the spinnaker GitHub organization has no MCP repository, and spinnaker.io's sitemap has no MCP page. GeiserX/spinnaker-mcp is one maintainer's project, with 5 stars and a GPL-3.0 license.

Guard: Pin a version you have read, and review the code before pointing it at a Gate that can deploy to production.

How to configure Spinnaker/Kayenta MCP for agents

  1. 1

    Treat it as unaffiliated software

    It is not from the Spinnaker project, and it is GPL-3.0 rather than Spinnaker's own license.

  2. 2

    Decide who may deploy

    trigger_pipeline starts a real deployment, and delete_pipeline removes configuration permanently.

  3. 3

    Do not plan on canary analysis

    No tool reaches Kayenta, so an agent cannot judge a canary through this connector.

  4. 4

    Set TOOLSETS=readonly for investigation

    The server then registers only the 27 reading tools. The --toolsets= flag does the same and wins over the variable.

  5. 5

    Scope the Gate credentials as well

    The toolset decides which tools exist. Gate's own authorization still decides what the token can reach.

Paste this into your agent’s instructions

Two tools mention canary and neither performs one, and ten tools change live deployments. Both need naming in the answer.

Terminal
When you answer using Spinnaker MCP tools, state:
- The application and pipeline the answer covers.
- Whether you triggered, canceled, paused, resumed or
  restarted anything, and on which execution.
- That no tool performs a Kayenta canary analysis, if the
  question was about canary results.
Never state that data does not exist. State that no
executions matched the filters above.
Write your answer in ASD-STE100 Simplified Technical
English. Use short sentences with one idea in each.

Do you need the MCP server at all?

Not for automation. Spinnaker's Gate API is the direct route, and for a scripted trigger it avoids both the context cost and an unreviewed dependency.

The connector earns its place during a failed deployment. An agent moves from the execution, to its console output, to a SpEL expression, and that loop is what it is good at.

For canary judgment, use Kayenta's own interface or API. None of the three public Spinnaker MCP repositories has a Kayenta tool as of 3 October 2026.

Connect it to investigate a failed pipeline. Use Gate directly for anything scripted, and Kayenta's interface for canary results.

Spinnaker/Kayenta MCP server setup

The package runs with npx and reads the URL of your Spinnaker Gate service from GATE_URL, defaulting to http://localhost:8084. Gate is Spinnaker's API gateway.

For authentication it sends GATE_TOKEN as a bearer token, or GATE_USER and GATE_PASS as basic auth, or an x509 client certificate from GATE_CERT_FILE and GATE_KEY_FILE. The token wins when more than one is set.

From 0.3.5 it also reaches a Gate behind SSO. spinnaker-mcp login stores the Gate session cookie, or you set GATE_COOKIE directly. The bearer token and basic auth take priority over the cookie.

It is registry-listed, so clients that read the official MCP registry can find it without a manual configuration.

Claude Code

Read-only, with a bearer token. Drop GATE_TOKEN if your Gate accepts unauthenticated requests.

Terminal
claude mcp add-json "spinnaker" '{"command":"npx",
  "args":["-y","spinnaker-mcp"],
  "env":{"GATE_URL":"https://gate.internal",
         "GATE_TOKEN":"<your-token>","TOOLSETS":"readonly"}}'

Cursor

In ~/.cursor/mcp.json. GATE_URL is the only required value; the token and toolset are optional.

Terminal
{"mcpServers":{"spinnaker":{"command":"npx",
  "args":["-y","spinnaker-mcp"],
  "env":{"GATE_URL":"https://gate.internal",
         "GATE_TOKEN":"<your-token>","TOOLSETS":"readonly"}}}}

Codex CLI

Codex reads TOML, so the JSON blocks above will not transfer. The same three variables go in the env table.

Terminal
[mcp_servers.spinnaker]
command = "npx"
args = ["-y", "spinnaker-mcp"]
env = { GATE_URL = "https://gate.internal", GATE_TOKEN = "<your-token>", TOOLSETS = "readonly" }

Every other client

Each block below is the configuration for one client, with the file path and the key that client expects.

Pinned version

Pinning matters more on a community server than a vendor one, because nobody has promised you a stable tool list. 0.3.3 added TOOLSETS, and 0.3.5 is the latest release as of 6 October 2026.

Terminal
{"mcpServers":{"spinnaker":{"command":"npx",
  "args":["-y","spinnaker-mcp@0.3.5"],
  "env":{"GATE_URL":"https://gate.internal",
         "GATE_TOKEN":"<your-token>","TOOLSETS":"readonly"}}}}

Read-only access, permissions and security

  • This is not Spinnaker's software

    It is a third-party project with 5 stars, under GPL-3.0, and nobody at the Spinnaker project has reviewed it.

  • Ten tools change state

    Triggering, cancelling, pausing, resuming and restarting executions, plus saving, updating and deleting pipelines and strategies.

  • One deletion is permanent

    delete_pipeline says in its own description that the action cannot be undone.

  • Two layers of control

    TOOLSETS=readonly removes the ten writing tools at the server. Below that, whatever your Gate allows the credentials to do is what the agent can do.

Troubleshooting

Nothing returns from any tool
Check the Gate URL. The server registers all 37 tools whether or not Spinnaker is reachable, so an unreachable Gate looks like empty data.
A canary question cannot be answered
No tool reaches Kayenta. list_strategies and save_strategy cover deployment strategies such as red/black and rolling, which is a different concept.
A pipeline disappeared
delete_pipeline is in the default tool list and its description states the action cannot be undone.
Pipeline variables are unclear
Read the execution first with get_execution. Then compose a SpEL expression for evaluate_expression, which returns stage outputs and variables directly.

Spinnaker/Kayenta MCP server: Reference

ItemValue
Statusnpm 0.3.5, 5 October 2026 · registry-listed at 0.3.5
Adoption5 stars · unaffiliated with the Spinnaker project
LicenseGPL-3.0
Packagespinnaker-mcp on npm
AuthGATE_TOKEN, GATE_USER and GATE_PASS, a client certificate, or a Gate session cookie from 0.3.5
Read-only modeTOOLSETS=readonly or --toolsets=readonly, 27 tools
Tools37, all on by default
Writing tools10, including a permanent pipeline deletion
Kayenta coverageNone. No tool runs a canary analysis
Context cost3,996 to 7,767 tokens

What engineers report

Spinnaker has no first-party connector, so the repository facts of the community servers carry the weight here.

What was checkedWhat it shows
First-party serversNone published by the Spinnaker project
Community serverGeiserX/spinnaker-mcp, 5 stars
Last push2 October 2026
Older community servers2, last pushed December 2024 and July 2025
LicenseGPL-3.0
Tools returned by tools/list37
Kayenta tools0
Writing tools10

As of 3 October 2026, the official MCP registry lists only io.github.GeiserX/spinnaker-mcp for Spinnaker, and nothing for Kayenta. GitHub also holds dion-hagan/mcp-server-spinnaker and himanhsugusain/spinnaker-mcp, each with three tools. Tool counts come from the released npm package's own tools/list response.

Should you connect an agent to Spinnaker/Kayenta?

Only if a community server is acceptable to you. Best for investigation on a pinned version with TOOLSETS=readonly, and Gate credentials scoped away from production deploys.

Strongest fit
Spinnaker teams comfortable running an unaffiliated connector against a scoped Gate service.
Main advantage
Broad, cheap coverage of pipelines and infrastructure, with SpEL evaluation for inspecting a stuck execution.
Main weakness
No Kayenta coverage at all, which is half of what the name promises.
Operational risk
Ten writing tools on by default, including a permanent pipeline deletion, on software the Spinnaker project has not reviewed.

From Oodle

One platform for agent traces and infrastructure

Agent traces usually sit in a different product from the rest of your telemetry, so when a slow database makes an agent slow the symptom is in one tool and the cause is in another. Oodle keeps both in one query surface.

See agent observability

Frequently asked questions

Is there an official Spinnaker MCP server?

No. As of 3 October 2026 the Spinnaker project has not published one. The active community option is GeiserX/spinnaker-mcp, which is registry-listed. Two older community repositories have not been updated since 2024 and 2025.

How many tools does it have?

37, all on by default. Counted from the released npm package 0.3.3's own tools/list response on 25 August 2026. Releases 0.3.4 and 0.3.5 left the tool list unchanged.

Can it run a Kayenta canary analysis?

No. No tool starts or reads one. The two tools mentioning canary cover Spinnaker deployment strategies such as red/black and rolling.

Can an agent deploy with it?

Yes, by default. trigger_pipeline starts a real execution, and four more tools cancel, pause, resume or restart one. Set TOOLSETS=readonly to register only the 27 reading tools.

What does it cost in context?

Between 3,996 and 7,767 tokens, or 2.0% to 3.9% of a 200,000-token window.

Changelog

  • 5 October 2026. v0.3.5 released. It signs in to a Gate behind SSO with its session cookie, through GATE_COOKIE or spinnaker-mcp login. The MCP registry listing moved to 0.3.5 the same day.
  • 4 October 2026. v0.3.4 released, with signed and notarized macOS binaries.
  • 30 September 2026. Documentation site published at geiserx.github.io/spinnaker-mcp, including the read-only toolset.
  • 24 April 2026. GeiserX/spinnaker-mcp v0.3.3 released. It added TOOLSETS, with readonly and mutating groups.
  • 23 April 2026. First release, v0.2.0. Four releases shipped that day, up to v0.3.2.

Sources

Every number on the page traces to one of these

  1. Repository facts from the GitHub API · GeiserX/spinnaker-mcp, retrieved 6 October 2026
  2. Package facts from npm · spinnaker-mcp 0.3.5, and the official MCP registry listing, retrieved 6 October 2026
  3. Changes from v0.3.3 to v0.3.5 from the GitHub compare view. The Go changes touch only the Gate client, the login command and configuration
  4. Tool counts, descriptions and schema sizes from the server's own tools/list response on 0.3.3
  5. spinnaker-mcp configuration · environment variables and toolsets, retrieved 3 October 2026
  6. Source · config/config.go and internal/toolsets/toolsets.go at tag v0.3.3, retrieved 3 October 2026
  7. Other community servers · dion-hagan/mcp-server-spinnaker and himanhsugusain/spinnaker-mcp from the GitHub API, retrieved 3 October 2026
  8. First-party status checked against the spinnaker GitHub organization and spinnaker.io's sitemap, 3 October 2026

Spinnaker/Kayenta’s own MCP documentation

Also CI and release:

For what the deployment did: