Skip to main content
Glama
spinnaker-mcp

spinnaker-mcp

by GeiserX

Get execution

get_execution
Read-onlyIdempotent

Retrieve a Spinnaker pipeline execution by ID to diagnose deploy failures and check stage status, timing, errors, and any manual judgment waiting for input; request full JSON when needed.

Instructions

Get one pipeline execution by ID. By default returns a compact summary: overall status, trigger, timing, and per stage its id, name, type, status, timing and first error, plus the stages running now and any manual judgment waiting for input. Use it to answer "why did my deploy fail" or "is it waiting on me". Pass summary=false for the full execution JSON with stage contexts and outputs, which is often hundreds of KB. Get the execution_id from trigger_pipeline, list_executions or search_executions.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "execution_id": "<execution_id>"
    },
    "name": "get_execution"
  }
}

Input Schema

NameRequiredDescriptionDefault
summaryNoReturn the compact summary (default true). false returns the full execution JSON.
execution_idYesPipeline execution ID (returned by trigger_pipeline, list_executions or search_executions)

Output Schema

NameRequiredDescriptionDefault
idNo
stagesNoPer stage summary, or Gate's full stage objects with summary=false.
statusNo
runningNoStages running now (summary only).
awaitingJudgmentNoManual judgment stages waiting for input (summary only).

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changedv0.4.1
    • changedInput schema / properties / execution_id / description
      Previous value: -"Pipeline execution ID (UUID returned when triggering or from list_executions)"New value: +"Pipeline execution ID (returned by trigger_pipeline, list_executions or search_executions)"
    • addedInput schema / properties / summary
      Added value: +{
      +  "default": true,
      +  "description": "Return the compact summary (default true). false returns the full execution JSON.",
      +  "type": "boolean"
      +}
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "By default the compact execution summary; with summary=false the full execution object from Gate, which has id, status and stages too.",
      +  "properties": {
      +    "awaitingJudgment": {
      +      "description": "Manual judgment stages waiting for input (summary only).",
      +      "type": "array"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "running": {
      +      "description": "Stages running now (summary only).",
      +      "type": "array"
      +    },
      +    "stages": {
      +      "description": "Per stage summary, or Gate's full stage objects with summary=false.",
      +      "type": "array"
      +    },
      +    "status": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  2. First observedv0.1.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only/idempotent, so the description focuses on non-obvious behavior: the default payload is a compact summary, the full JSON is 'often hundreds of KB'. That size warning is exactly the kind of cost disclosure annotations cannot carry, and the summary field enumeration lets the agent reason about what it will receive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core action and default behavior, then the rationale and the alternative. The long inline enumeration of summary fields is dense but functional; it could be tightened without losing meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists so return values needn't be re-explained, and the description still covers the only decision an agent must make (compact vs full) plus where the required ID comes from. Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description goes beyond the schema's one-liner by explaining the practical consequence of summary=false (huge payload) and what the summary branch contains. It doesn't add format or syntax detail for execution_id beyond echoing the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a precise verb+resource plus scope ('one pipeline execution by ID') and immediately distinguishes itself from sibling retrieval paths by describing the compact default payload. An agent can tell it apart from list_executions/search_executions without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete user questions it answers ('why did my deploy fail', 'is it waiting on me') and explicitly names the sibling tools that supply the execution_id. It also sets the escalation rule: only pass summary=false when the full JSON is truly needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.