Skip to main content
Glama

origami_run_get

Poll an Origami agent run — the follow-up of origami_campaign_create (which returns agent_id + run_id).

GET /agents/{agent_id}/runs/{run_id} — there is NO GET /runs/{id}, the run lives under its agent. Returns the run object: status ("running" until terminal), steps, response (tables touched, transcript with include="transcript", economics with include="stats"). Poll until status != "running", then read the drafted campaign with origami_campaigns. A terminal run whose action list is EMPTY is REFUSED (error aucune_action): it created nothing reachable, whatever its prose says — verify with origami_campaigns(op="list_for_table"), then relaunch origami_campaign_create ONCE (a refused run may leave a draft shell visible only in the Origami interface; each relaunch adds one).

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": {
      "agent_id": "<agent_id>",
      "run_id": "<run_id>"
    },
    "name": "origami_run_get"
  }
}

Input Schema

NameRequiredDescriptionDefault
_orgNoOrg (id) de CET APPEL. `oto_list_orgs()`.
_groupNoÉquipe (id) de CET APPEL, sous son org parente.
run_idYesfrom `origami_campaign_create` → `run_id`.
_run_idNoOBLIGATOIRE à chaque appel dès `run_start` ou `data_claim_next` : sans lui, l'écriture sur une ligne réservée est refusée. Hérité seulement si le serveur tient un run actif — n'y compte pas.
includeNooptional CSV of "stats", "transcript".
_projectNoProjet (id) de CET APPEL — jeton PRIMAIRE. `oto_project(op='list')`.
agent_idYesfrom `origami_campaign_create` → `agent_id`.
_instanceNoInstance de connecteur PRÉCISE (un credential exact). `oto_instance(op='list')`.

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations at all, the description carries the full burden and does so: it names the terminal-refusal condition (empty action list), the concrete error code `aucune_action`, and the side effect that a refused run leaves a draft shell visible only in the Origami UI, accumulating with each relaunch. That is precisely the kind of non-obvious failure semantics an agent cannot infer from the schema.

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 purpose, then endpoint, then return shape, then the refusal/relaunch procedure — a sound order with no filler paragraphs. It is dense and slightly editorial in tone ("whatever its prose says", capitalized EMPTY/REFUSED), which costs a little tightness but not comprehension.

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?

For a polling tool with no output schema and no annotations, everything an agent needs is present: input provenance, the field layout of the returned run object, the loop-termination condition, the error case, and the follow-up tools. Nothing material is missing for correct invocation.

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, but the description adds real meaning: it tells the agent where `agent_id` and `run_id` originate, and it maps `include="transcript"` and `include="stats"` to the `response` sub-fields they populate, beyond the schema's bare "optional CSV of stats, transcript". The prefixed `_org`/`_group`/`_project`/`_run_id` context parameters are left entirely to 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 specific verb and resource ("Poll an Origami agent run") and immediately anchors it to the sibling that produces its inputs (`origami_campaign_create` → `agent_id` + `run_id`). It also discloses the exact endpoint shape and the negative constraint that no `GET /runs/{id}` exists, which removes the most likely mis-invocation.

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?

Explicit lifecycle guidance: call after `origami_campaign_create`, poll until `status != "running"`, then read results via `origami_campaigns`. It also names the recovery path — verify with `origami_campaigns(op="list_for_table")` and relaunch `origami_campaign_create` exactly ONCE — so when-to-use, when-to-stop, and what-to-do-next are all specified.

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