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, 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.
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, 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."
  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; 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."
  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). 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."
  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; 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."
  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). 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."
  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 (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."
  7. 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."
  8. 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"
      +]
  9. First observed

TDQS

A4.4/5.0
Behavior4/5

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

The description reveals the submission’s dependency on claim state and the wait-for-reopen lifecycle, which is not visible from annotations alone. It also signals non-idempotent behavior without repeating the annotations.

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: the first states the operation and endpoint, the second gives the critical lifecycle constraint. No filler or redundant repetition of schema or annotation information.

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 complex submission tool with no output schema, the definition provides the endpoint, the state precondition, and the redelivery rule, while the schema fully documents parameters. It does not describe response/error shape, but that is not necessary for correct selection and 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. The description adds value by constraining claim_id to active claims, which the schema does not state; the artifact_refs schema description already carries the complex naming rules.

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?

The description names a specific action ('Submit delivery evidence'), the exact endpoint ('POST /v1/deliveries'), and the resource being acted on. This clearly separates it from siblings like frantic.judge_delivery or frantic.ack_claim without needing the schema.

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 gives clear context: the claim must be active, and it explicitly says not to redeliver an already-delivered claim until it is reopened. It does not name alternative tools, but the when-not instruction is specific and actionable.

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.