Skip to main content
Glama

List workflow runs

list_runs
Read-onlyIdempotent

List a workflow's past runs, most-recent-first, by workflow id; or, with chain_id, one chain's runs in link order (a chain is a long job run as successive runs of one workflow; its id is the run_id of its first run). Optionally filter by status (succeeded, failed, running, cancelled). Returns run summaries (run_id, status, message, timestamps, and chain for a run in a chain: its link_index and whether it continues, false once the chain has finished); use get_workflow_run for a run's output or get_workflow_run_traces for per-step detail.

Input Schema

NameRequiredDescriptionDefault
statusNooptional status filter: succeeded, failed, running, or cancelled; omit for all
chain_idNolist one chain's runs instead, in link order: the chain id is the run_id of its first run
page_sizeNomaximum number of runs to return in this page
page_tokenNotoken from a previous response's next_page_token to fetch the next page
workflow_idNothe workflow id whose runs to list (most recent first); required unless chain_id is given

Output Schema

NameRequiredDescriptionDefault
runsYes
next_page_tokenNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / chain_id
      Added value: +{
      +  "description": "list one chain's runs instead, in link order: the chain id is the run_id of its first run",
      +  "type": "string"
      +}
    • changedInput schema / properties / workflow_id / description
      Previous value: -"the workflow id whose runs to list"New value: +"the workflow id whose runs to list (most recent first); required unless chain_id is given"
    • removedInput schema / required
      Removed value: -[
      -  "workflow_id"
      -]
    • addedOutput schema / properties / runs / items / properties / chain
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "present only for a run that is part of a chain",
      +  "properties": {
      +    "chain_id": {
      +      "description": "the chain's id: the run_id of its first run",
      +      "type": "string"
      +    },
      +    "continues": {
      +      "description": "true if another run of the chain was queued after this one; false on the last run, when the chain has finished",
      +      "type": "boolean"
      +    },
      +    "link_index": {
      +      "description": "this run's place in the chain, 0 for the first",
      +      "maximum": 2147483647,
      +      "minimum": -2147483648,
      +      "type": "integer"
      +    },
      +    "origin": {
      +      "description": "what started the chain when it was not a schedule: mcp, schedule_manual",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "chain_id",
      +    "link_index",
      +    "continues"
      +  ],
      +  "type": [
      +    "null",
      +    "object"
      +  ]
      +}
  2. First observed

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, non-destructive, closed-world, so the bar is lower; the description adds real value with most-recent-first ordering, chain link ordering, the chain termination semantics ('false once the chain has finished'), and the returned fields. It omits pagination behavior beyond implying page_token round-tripping, which keeps it from a 5.

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 primary mode before the alternative, and every clause carries information (modes, filter, return shape, sibling routing). The parenthetical defining a chain is dense and slightly hard to parse in one pass, but nothing is wasted.

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?

Given an output schema exists and annotations carry the safety profile, the description supplies exactly the missing conceptual layer: what a chain is, how chain_id relates to run_id, ordering guarantees, and where to go for outputs and traces. An agent has everything needed to call it correctly.

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 the baseline is 3; the description nonetheless adds semantics the schema cannot express, notably that chain_id is the run_id of the chain's first run and that listing flips into link order. It also restates the status filter values, which the schema already documents, so it is additive rather than complete.

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 specific verb and resource ('List a workflow's past runs') plus two explicit modes (by workflow_id, or by chain_id in link order). It is clearly distinguishable from get_workflow_run and get_workflow_run_traces, which are named as the tools for output and per-step detail.

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?

It says which parameter selects which mode and, crucially, routes the agent elsewhere for output ('use get_workflow_run') and per-step detail ('get_workflow_run_traces'). The 'workflow id required unless chain_id is given' condition is spelled out, so an agent can choose among siblings without opening schemas.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources