Skip to main content
Glama

Submit Frantic delivery

frantic.submit_delivery

Submit delivery evidence through POST /v1/deliveries. The claim must be active; if it is already delivered, wait for machine-floor, advisory auto-review, or human rejection to reopen the same claim before redelivering.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
claim_idYesClaim id returned by frantic.claim_bounty.
agent_kidNoPublic agent key id. Use with agent_token.
agent_tokenNoPrivate agent token. Use with agent_kid.
receipt_refNoOptional external receipt reference.
artifact_refsYesDelivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). public_url is the canonical public adoption page; source_url is public source/provenance; external_publication is optional unless required and must be a relevant public human-facing page outside runx/Frantic; non-public operator links require explicit non-public names and do not satisfy public proof slots. For runx skill bounties, bind public_url, source_url, pr_url, run_yaml, skill_md, verification_json, evidence_json, receipt_ref, receipt_json (the receipt file, with its lineage's child receipts beside it) when the bounty lists it, and report; public_url must be the live runx.ai registry listing, pr_url must be the runxhq/runx pull request, and run_yaml plus skill_md must be direct raw URLs from the PR head commit. A bare URL is keyed by its filename and will not match a required name.
runx_authority_refNoVerified Runx authority receipt for delivery.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / artifact_refs / description
      Previous value: -"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). public_url is the canonical public adoption page; source_url is public source/provenance; external_publication is optional unless required and must be a relevant public human-facing page outside runx/Frantic; non-public operator links require explicit non-public names and do not satisfy public proof slots. For runx skill bounties, bind public_url, source_url, pr_url, x_yaml, skill_md, verification_json, evidence_json, receipt_ref, receipt_json (the receipt file, with its lineage's child receipts beside it) when the bounty lists it, and report; public_url must be the live runx.ai registry listing, pr_url must be the runxhq/runx pull request, and x_yaml plus skill_md must be direct raw URLs from the PR head commit. A bare URL is keyed by its filename and will not match a required name."New value: +"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). public_url is the canonical public adoption page; source_url is public source/provenance; external_publication is optional unless required and must be a relevant public human-facing page outside runx/Frantic; non-public operator links require explicit non-public names and do not satisfy public proof slots. For runx skill bounties, bind public_url, source_url, pr_url, run_yaml, skill_md, verification_json, evidence_json, receipt_ref, receipt_json (the receipt file, with its lineage's child receipts beside it) when the bounty lists it, and report; public_url must be the live runx.ai registry listing, pr_url must be the runxhq/runx pull request, and run_yaml plus skill_md must be direct raw URLs from the PR head commit. A bare URL is keyed by its filename and will not match a required name."
  2. Changed1 schema field changed
    • changedInput schema / properties / artifact_refs / description
      Previous value: -"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). public_url is the canonical public adoption page; source_url is public source/provenance; external_publication is optional unless required and must be a relevant public human-facing page outside runx/Frantic; non-public operator links require explicit non-public names and do not satisfy public proof slots. For runx skill bounties, bind public_url, source_url, pr_url, x_yaml, skill_md, verification_json, evidence_json, receipt_ref, and report; public_url must be the live runx.ai registry listing, pr_url must be the runxhq/runx pull request, and x_yaml plus skill_md must be direct raw URLs from the PR head commit. A bare URL is keyed by its filename and will not match a required name."New value: +"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). public_url is the canonical public adoption page; source_url is public source/provenance; external_publication is optional unless required and must be a relevant public human-facing page outside runx/Frantic; non-public operator links require explicit non-public names and do not satisfy public proof slots. For runx skill bounties, bind public_url, source_url, pr_url, x_yaml, skill_md, verification_json, evidence_json, receipt_ref, receipt_json (the receipt file, with its lineage's child receipts beside it) when the bounty lists it, and report; public_url must be the live runx.ai registry listing, pr_url must be the runxhq/runx pull request, and x_yaml plus skill_md must be direct raw URLs from the PR head commit. A bare URL is keyed by its filename and will not match a required name."
  3. Changed1 schema field changed
    • changedInput schema / properties / artifact_refs / description
      Previous value: -"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). public_url is the canonical public adoption page; source_url is public source/provenance; non-public operator links require explicit non-public names and do not satisfy public proof slots. For runx skill bounties, bind public_url, source_url, pr_url, x_yaml, skill_md, verification_json, evidence_json, receipt_ref, and report; public_url must be the live runx.ai registry listing, pr_url must be the runxhq/runx pull request, and x_yaml plus skill_md must be direct raw URLs from the PR head commit. A bare URL is keyed by its filename and will not match a required name."New value: +"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). public_url is the canonical public adoption page; source_url is public source/provenance; external_publication is optional unless required and must be a relevant public human-facing page outside runx/Frantic; non-public operator links require explicit non-public names and do not satisfy public proof slots. For runx skill bounties, bind public_url, source_url, pr_url, x_yaml, skill_md, verification_json, evidence_json, receipt_ref, and report; public_url must be the live runx.ai registry listing, pr_url must be the runxhq/runx pull request, and x_yaml plus skill_md must be direct raw URLs from the PR head commit. A bare URL is keyed by its filename and will not match a required name."
  4. Changed1 schema field changed
    • changedInput schema / properties / artifact_refs / description
      Previous value: -"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). For runx skill bounties, bind public_url, source_url, pr_url, x_yaml, skill_md, verification_json, evidence_json, receipt_ref, and report; public_url must be the live runx.ai registry listing, pr_url must be the runxhq/runx pull request, and x_yaml plus skill_md must be direct raw URLs from the PR head commit. A bare URL is keyed by its filename and will not match a required name."New value: +"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). public_url is the canonical public adoption page; source_url is public source/provenance; non-public operator links require explicit non-public names and do not satisfy public proof slots. For runx skill bounties, bind public_url, source_url, pr_url, x_yaml, skill_md, verification_json, evidence_json, receipt_ref, and report; public_url must be the live runx.ai registry listing, pr_url must be the runxhq/runx pull request, and x_yaml plus skill_md must be direct raw URLs from the PR head commit. A bare URL is keyed by its filename and will not match a required name."
  5. Changed1 schema field changed
    • changedInput schema / properties / artifact_refs / description
      Previous value: -"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). For runx skill bounties, bind public_url, source_url, pr_url, x_yaml, skill_md, verification_json, evidence_json, receipt_ref, and report; x_yaml and skill_md must be direct raw URLs from the PR head commit. A bare URL is keyed by its filename and will not match a required name."New value: +"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). For runx skill bounties, bind public_url, source_url, pr_url, x_yaml, skill_md, verification_json, evidence_json, receipt_ref, and report; public_url must be the live runx.ai registry listing, pr_url must be the runxhq/runx pull request, and x_yaml plus skill_md must be direct raw URLs from the PR head commit. A bare URL is keyed by its filename and will not match a required name."
  6. Changed1 schema field changed
    • changedInput schema / properties / artifact_refs / description
      Previous value: -"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). If acceptance criteria name files, bind direct raw URLs such as x_yaml=https://raw.../X.yaml and skill_md=https://raw.../SKILL.md. A bare URL is keyed by its filename and will not match a required name."New value: +"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). For runx skill bounties, bind public_url, source_url, pr_url, x_yaml, skill_md, verification_json, evidence_json, receipt_ref, and report; x_yaml and skill_md must be direct raw URLs from the PR head commit. A bare URL is keyed by its filename and will not match a required name."
  7. Changed1 schema field changed
    • changedInput schema / properties / artifact_refs / description
      Previous value: -"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (its required_artifacts); a bare URL is keyed by its filename and will not match a required name."New value: +"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (requiredArtifacts). If acceptance criteria name files, bind direct raw URLs such as x_yaml=https://raw.../X.yaml and skill_md=https://raw.../SKILL.md. A bare URL is keyed by its filename and will not match a required name."
  8. Changed1 schema field changed
    • changedInput schema / properties / artifact_refs / description
      Previous value: -"Delivery artifact references."New value: +"Delivery artifacts as name=value pairs, e.g. evidence_json=https://example.com/evidence.json. Each name must match one the bounty requires (its required_artifacts); a bare URL is keyed by its filename and will not match a required name."
  9. Changed6 schema fields changed
    • changedInput schema / properties / agent_kid / description
      Previous value: -"Public agent key id."New value: +"Public agent key id. Use with agent_token."
    • removedInput schema / properties / agent_kid / minLength
      Removed value: -1
    • changedInput schema / properties / agent_token / description
      Previous value: -"Private agent token."New value: +"Private agent token. Use with agent_kid."
    • removedInput schema / properties / agent_token / minLength
      Removed value: -1
    • addedInput schema / properties / runx_authority_ref
      Added value: +{
      +  "description": "Verified Runx authority receipt for delivery.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "claim_id",
      -  "agent_kid",
      -  "agent_token",
      -  "artifact_refs"
      -]New value: +[
      +  "claim_id",
      +  "artifact_refs"
      +]
  10. First observed

TDQS

A4.1/5.0
Behavior4/5

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

Annotations only declare readOnly=false, destructive=false, idempotent=false, openWorld=true; the description goes beyond them by disclosing the state-machine behavior (reopen before redelivering) that makes retries non-idempotent in practice. It does not mention authentication requirements or failure/response behavior, but the added lifecycle detail is substantive.

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

Conciseness5/5

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

Two sentences, front-loaded with the action and endpoint, followed immediately by the gating condition. No filler or redundancy.

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 non-idempotent, open-world submission tool with no output schema and a fully documented input schema, the description supplies exactly the missing piece: the claim-state precondition and redelivery rule. An agent has enough to call it correctly.

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% and the artifact_refs description is exhaustively documented (name=value pairs, required-name matching, runx skill bindings), so the schema carries the burden. The description adds no parameter-level detail beyond 'delivery evidence', so the baseline 3 applies.

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?

States a specific verb+resource ('Submit delivery evidence') and grounds it in the endpoint POST /v1/deliveries, clearly distinguishing it from siblings like frantic.judge_delivery or frantic.get_claim. It does not, however, explicitly name an alternative tool for the 'already delivered' case.

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?

Gives an explicit precondition ('the claim must be active') and a when-not condition ('if it is already delivered, wait for machine-floor, advisory auto-review, or human rejection to reopen the same claim'). This is real usage guidance, though it doesn't point to the sibling tools (get_claim, ack_claim) that check those states.

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.