Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Recover Agent Workflow

recover_agent_workflow
Read-onlyIdempotent

Reconstruct a failed workflow's state and emit a safe resume plan. use it rather than recover_failed_workflow for agent workflow, not failed workflow; an object with 59 fields including action, complete. $0.25 USDC.

Input Schema

NameRequiredDescriptionDefault
step_logNoThe step log this operation operates on. See the schema for its type and whether it is required.
workflow_idNoThe identifier of the workflow.

Output Schema

NameRequiredDescriptionDefault
okYesWhether the operation succeeded.
tsNoThe `ts` field of the response.
doneNoThe `done` field of the response.
failNoThe `fail` field of the response.
skipNoThe `skip` field of the response.
stepNoThe `step` field of the response.
todoNoThe `todo` field of the response.
typeNoThe `type` field of the response.
errorNoThe machine-readable error code, when the operation failed.
indexNoThe `index` field of the response.
stateNoThe `state` field of the response.
stepsNoThe `steps` field of the response.
actionNoThe `action` field of the response.
detailYesHuman-readable explanation of the verdict.
queuedNoThe `queued` field of the response.
reasonNoWhy the verdict was reached.
statusNoThe status of the operation.
erroredNoThe `errored` field of the response.
failureNoThe `failure` field of the response.
runningNoThe `running` field of the response.
startedNoThe `started` field of the response.
successNoThe `success` field of the response.
completeNoThe `complete` field of the response.
coverageNoHow much of the underlying corpus the answer is based on.
problemsNoThe `problems` field of the response.
exceptionNoThe `exception` field of the response.
executingNoThe `executing` field of the response.
in_flightNoThe `in_flight` field of the response.
succeededNoThe `succeeded` field of the response.
detected_byNoThe `detected_by` field of the response.
not_startedNoThe `not_started` field of the response.
occurrencesNoThe `occurrences` field of the response.
resume_stepNoThe `resume_step` field of the response.
unambiguousNoThe `unambiguous` field of the response.
workflow_idNoThe `workflow_id` field of the response.
failed_countNoThe `failed_count` field of the response.
resume_pointNoThe `resume_point` field of the response.
missing_stepsNoThe `missing_steps` field of the response.
pending_countNoThe `pending_count` field of the response.
resume_safetyNoThe `resume_safety` field of the response.
skipped_countNoThe `skipped_count` field of the response.
status_reasonNoThe `status_reason` field of the response.
payload_sha256NoThe `payload_sha256` field of the response.
completed_countNoThe `completed_count` field of the response.
completed_stepsNoThe `completed_steps` field of the response.
idempotency_keyNoThe `idempotency_key` field of the response.
verdict_meaningNoThe `verdict_meaning` field of the response.
duplicated_stepsNoThe `duplicated_steps` field of the response.
incomplete_stepsNoThe `incomplete_steps` field of the response.
duplicate_detailsNoThe `duplicate_details` field of the response.
in_progress_countNoThe `in_progress_count` field of the response.
last_completed_atNoThe `last_completed_at` field of the response.
last_completed_stepNoThe `last_completed_step` field of the response.
resume_instructionsNoThe `resume_instructions` field of the response.
last_completed_indexNoThe `last_completed_index` field of the response.
unknown_status_countNoThe `unknown_status_count` field of the response.
unknown_status_stepsNoThe `unknown_status_steps` field of the response.
idempotency_key_reuseNoThe `idempotency_key_reuse` field of the response.
idempotency_key_presentNoThe `idempotency_key_present` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed60 schema fields changed
    • addedOutput schema / properties / action
      Added value: +{
      +  "description": "The `action` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / complete
      Added value: +{
      +  "description": "The `complete` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / completed_count
      Added value: +{
      +  "description": "The `completed_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / completed_steps
      Added value: +{
      +  "description": "The `completed_steps` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / coverage
      Added value: +{
      +  "description": "How much of the underlying corpus the answer is based on.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / detail
      Added value: +{
      +  "description": "Human-readable explanation of the verdict.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / detected_by
      Added value: +{
      +  "description": "The `detected_by` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / done
      Added value: +{
      +  "description": "The `done` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / duplicate_details
      Added value: +{
      +  "description": "The `duplicate_details` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / duplicated_steps
      Added value: +{
      +  "description": "The `duplicated_steps` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / error
      Added value: +{
      +  "description": "The machine-readable error code, when the operation failed.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / errored
      Added value: +{
      +  "description": "The `errored` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / exception
      Added value: +{
      +  "description": "The `exception` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / executing
      Added value: +{
      +  "description": "The `executing` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / fail
      Added value: +{
      +  "description": "The `fail` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / failed_count
      Added value: +{
      +  "description": "The `failed_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / failure
      Added value: +{
      +  "description": "The `failure` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / idempotency_key
      Added value: +{
      +  "description": "The `idempotency_key` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / idempotency_key_present
      Added value: +{
      +  "description": "The `idempotency_key_present` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / idempotency_key_reuse
      Added value: +{
      +  "description": "The `idempotency_key_reuse` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / in_flight
      Added value: +{
      +  "description": "The `in_flight` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / in_progress_count
      Added value: +{
      +  "description": "The `in_progress_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / incomplete_steps
      Added value: +{
      +  "description": "The `incomplete_steps` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / index
      Added value: +{
      +  "description": "The `index` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / last_completed_at
      Added value: +{
      +  "description": "The `last_completed_at` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / last_completed_index
      Added value: +{
      +  "description": "The `last_completed_index` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / last_completed_step
      Added value: +{
      +  "description": "The `last_completed_step` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / missing_steps
      Added value: +{
      +  "description": "The `missing_steps` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / not_started
      Added value: +{
      +  "description": "The `not_started` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / occurrences
      Added value: +{
      +  "description": "The `occurrences` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / ok
      Added value: +{
      +  "description": "Whether the operation succeeded.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / payload_sha256
      Added value: +{
      +  "description": "The `payload_sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / pending_count
      Added value: +{
      +  "description": "The `pending_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / problems
      Added value: +{
      +  "description": "The `problems` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / queued
      Added value: +{
      +  "description": "The `queued` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / reason
      Added value: +{
      +  "description": "Why the verdict was reached.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / resume_instructions
      Added value: +{
      +  "description": "The `resume_instructions` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / resume_point
      Added value: +{
      +  "description": "The `resume_point` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / resume_safety
      Added value: +{
      +  "description": "The `resume_safety` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / resume_step
      Added value: +{
      +  "description": "The `resume_step` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / running
      Added value: +{
      +  "description": "The `running` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / skip
      Added value: +{
      +  "description": "The `skip` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / skipped_count
      Added value: +{
      +  "description": "The `skipped_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / started
      Added value: +{
      +  "description": "The `started` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / state
      Added value: +{
      +  "description": "The `state` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / status / description
      Added value: +"The status of the operation."
    • addedOutput schema / properties / status_reason
      Added value: +{
      +  "description": "The `status_reason` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / step
      Added value: +{
      +  "description": "The `step` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / steps
      Added value: +{
      +  "description": "The `steps` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / succeeded
      Added value: +{
      +  "description": "The `succeeded` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / success
      Added value: +{
      +  "description": "The `success` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / todo
      Added value: +{
      +  "description": "The `todo` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / ts
      Added value: +{
      +  "description": "The `ts` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / type
      Added value: +{
      +  "description": "The `type` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / unambiguous
      Added value: +{
      +  "description": "The `unambiguous` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / unknown_status_count
      Added value: +{
      +  "description": "The `unknown_status_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / unknown_status_steps
      Added value: +{
      +  "description": "The `unknown_status_steps` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / verdict_meaning
      Added value: +{
      +  "description": "The `verdict_meaning` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / workflow_id
      Added value: +{
      +  "description": "The `workflow_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "detail",
      +  "ok"
      +]
  2. Added

TDQS

A3.8/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, and the description adds genuinely useful context beyond them: a per-call price of $0.25 USDC and the shape of the result (an object with 59 fields including action, complete). It stops short of saying what happens if the workflow is not actually recoverable or whether the plan is replayable.

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

Conciseness3/5

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

The purpose is front-loaded and there is no filler, but the middle is a run-on of semicolon-joined fragments ('for agent workflow, not failed workflow; an object with 59 fields...') and the price dangles as a bare fragment. Tightening into discrete clauses would make the routing rule and the payload/price facts separately scannable.

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

Completeness4/5

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

For a 2-parameter, read-only recovery tool with an output schema, the definition covers the essential extras: cost, sibling disambiguation, and result shape. The one real hole is the undefined boundary between an 'agent workflow' and a 'failed workflow', which is the exact decision the agent must make.

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

Parameters3/5

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

Schema description coverage is 100% for both parameters, so the schema already carries their meaning; the description adds nothing about `step_log` contents or how `workflow_id` interacts with it. Baseline 3 applies when the schema does the interpretive work.

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

Purpose4/5

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

Specific verb+resource: 'Reconstruct a failed workflow's state and emit a safe resume plan', and it explicitly names the sibling it is not (`recover_failed_workflow`). The differentiator ('agent workflow, not failed workflow') is asserted but never defined, so an agent still cannot tell what makes a workflow 'agent' rather than merely 'failed'.

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

Usage Guidelines4/5

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

It names the alternative tool explicitly and gives a selection condition, which is more than most definitions do. However the condition is circular and undefined ('agent workflow, not failed workflow'), so the routing rule is stated but not actually resolvable without outside knowledge.

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.