Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Issue Delivery Attestation

issue_delivery_attestation
Destructive

A paid service on the x402 rail — the result. use it rather than accept_task_deliverable for delivery attestation, not task deliverable; an object with 23 fields including acknowledged_at, acknowledged_by. $0.1 USDC.

Input Schema

NameRequiredDescriptionDefault
recipientNoThe recipient this operation operates on. See the schema for its type and whether it is required.
deliverableNoThe deliverable this operation operates on. See the schema for its type and whether it is required.
delivered_atNoThe delivered at this operation operates on. See the schema for its type and whether it is required.
acknowledged_atNoThe acknowledged at this operation operates on. See the schema for its type and whether it is required.
acknowledged_byNoThe acknowledged by this operation operates on. See the schema for its type and whether it is required.
promised_sha256NoThe promised sha256 this operation operates on. See the schema for its type and whether it is required.

Output Schema

NameRequiredDescriptionDefault
okYesWhether the operation succeeded.
kindNoThe `kind` field of the response.
noteNoA note on how the answer was produced.
stepNoThe `step` field of the response.
chainNoThe `chain` field of the response.
verdictYesThe decision this tool returned.
signatureYesThe Ed25519 signature over the evidence core, base64-encoded.
signed_byNoThe key id that signed the answer.
byte_matchNoThe `byte_match` field of the response.
hash_matchNoThe `hash_match` field of the response.
delivered_atNoThe `delivered_at` field of the response.
evidence_coreYesThe canonical, signed core of the answer — the payload the signature covers.
output_sha256YesSHA-256 hex digest of the canonical evidence core.
scopeBoundaryNoThe `scopeBoundary` field of the response.
missing_fieldsNoThe `missing_fields` field of the response.
profileVersionNoVersion of the answer profile.
scope_boundaryNoWhat this service explicitly does not do.
acknowledged_atNoThe `acknowledged_at` field of the response.
acknowledged_byNoThe `acknowledged_by` field of the response.
profile_versionNoVersion of the answer profile.
canonicalizationNoThe canonicalisation rule the digest was computed under.
methodologyVersionNoThe `methodologyVersion` field of the response.
methodology_versionNoVersion of the method that produced the answer.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed25 schema fields changed
    • addedOutput schema / properties / acknowledged_at
      Added value: +{
      +  "description": "The `acknowledged_at` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / acknowledged_by
      Added value: +{
      +  "description": "The `acknowledged_by` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / byte_match
      Added value: +{
      +  "description": "The `byte_match` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / canonicalization
      Added value: +{
      +  "description": "The canonicalisation rule the digest was computed under.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / chain
      Added value: +{
      +  "description": "The `chain` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / delivered_at
      Added value: +{
      +  "description": "The `delivered_at` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evidence_core
      Added value: +{
      +  "description": "The canonical, signed core of the answer — the payload the signature covers.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / hash_match
      Added value: +{
      +  "description": "The `hash_match` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / kind
      Added value: +{
      +  "description": "The `kind` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / methodologyVersion
      Added value: +{
      +  "description": "The `methodologyVersion` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / methodology_version
      Added value: +{
      +  "description": "Version of the method that produced the answer.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / missing_fields
      Added value: +{
      +  "description": "The `missing_fields` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "description": "A note on how the answer was produced.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / ok
      Added value: +{
      +  "description": "Whether the operation succeeded.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / output_sha256
      Added value: +{
      +  "description": "SHA-256 hex digest of the canonical evidence core.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / profileVersion
      Added value: +{
      +  "description": "Version of the answer profile.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / profile_version
      Added value: +{
      +  "description": "Version of the answer profile.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / scopeBoundary
      Added value: +{
      +  "description": "The `scopeBoundary` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / scope_boundary
      Added value: +{
      +  "description": "What this service explicitly does not do.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / signature
      Added value: +{
      +  "description": "The Ed25519 signature over the evidence core, base64-encoded.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / signed_by
      Added value: +{
      +  "description": "The key id that signed the answer.",
      +  "type": "string"
      +}
    • removedOutput schema / properties / status
      Removed value: -{
      -  "type": "string"
      -}
    • addedOutput schema / properties / step
      Added value: +{
      +  "description": "The `step` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / verdict
      Added value: +{
      +  "description": "The decision this tool returned.",
      +  "type": "string"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "evidence_core",
      +  "ok",
      +  "output_sha256",
      +  "signature",
      +  "verdict"
      +]
  2. Added

TDQS

B3.3/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true and idempotentHint=false, so the safety bar is lower; the description still adds material context the annotations cannot: this is a paid x402-rail call costing $0.1 USDC, and it returns an object with 23 fields. The cost/payment-rail disclosure is exactly the kind of extra behavioral fact that matters here. It does not say what gets destroyed or whether payment is charged on failure, keeping it below 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.

Conciseness3/5

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

It is short and contains no filler, but the structure is poor: it leads with a confusing fragment ('A paid service on the x402 rail — the result.') rather than the action, and packs the sibling routing rule, return shape, and price into a single run-on clause.

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?

An output schema exists, so return values need not be explained, and the description supplies the two things structured fields don't: cost/rail and the sibling disambiguation. The remaining gap is the core action itself — whether it writes a new attestation record or reads an existing one — which is left ambiguous.

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%, so the baseline is 3; the schema already documents all six parameters (albeit with boilerplate text). The description's mention of 'acknowledged_at, acknowledged_by' merely echoes field names already present in the schema and adds no syntax, format, or requiredness guidance.

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

Purpose3/5

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

The name and phrase 'delivery attestation' identify the resource, and the description explicitly contrasts it with `accept_task_deliverable` ('not task deliverable'). However, the opening fragment 'A paid service on the x402 rail — the result.' is garbled and never states the action verb (issue/create) plainly, so an agent must infer what the tool actually does.

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

Usage Guidelines3/5

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

It names an alternative (`accept_task_deliverable`) and gives a negative selection rule ('use it rather than ... not task deliverable'), which is real routing guidance. But there is no positive when-to-use condition — e.g., 'use after a deliverable has been delivered and needs to be attested' — and no prerequisites or exclusions beyond that single sibling.

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.