Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Reconcile Procurement

reconcile_procurement
Read-onlyIdempotent

Reconcile the three ledgers. use it rather than accept_task_deliverable for procurement, not task deliverable; an object with 53 fields including amount_ordered, amount_paid. $0.5 USDC.

Input Schema

NameRequiredDescriptionDefault
ordersNoThe orders this operation operates on. See the schema for its type and whether it is required.
paymentsNoThe payments this operation operates on. See the schema for its type and whether it is required.
deliveriesNoThe deliveries this operation operates on. See the schema for its type and whether it is required.
amount_toleranceNoThe amount tolerance this operation operates on. See the schema for its type and whether it is required.
quantity_toleranceNoThe quantity tolerance this operation operates on. See the schema for its type and whether it is required.

Output Schema

NameRequiredDescriptionDefault
llmNoThe `llm` field of the response.
kindNoThe `kind` field of the response.
noteNoA note on how the answer was produced.
clockNoThe `clock` field of the response.
linesNoThe `lines` field of the response.
notesNoThe `notes` field of the response.
detailYesHuman-readable explanation of the verdict.
key_idNoThe `key_id` field of the response.
statusNoThe status of the operation.
totalsNoThe `totals` field of the response.
profileNoThe `profile` field of the response.
verdictYesThe decision this tool returned.
findingsNoThe `findings` field of the response.
no_orderNoThe `no_order` field of the response.
order_idNoThe `order_id` field of the response.
quantityNoThe `quantity` field of the response.
varianceNoThe `variance` field of the response.
verdictsNoThe `verdicts` field of the response.
directionNoThe `direction` field of the response.
paid_overNoThe `paid_over` field of the response.
signatureYesThe Ed25519 signature over the evidence core, base64-encoded.
signed_byNoThe key id that signed the answer.
toleranceNoThe `tolerance` field of the response.
amount_usdNoThe amount the operation concerned.
directionsNoThe `directions` field of the response.
paid_shortNoThe `paid_short` field of the response.
public_keyNoThe `public_key` field of the response.
amount_paidNoThe `amount_paid` field of the response.
methodologyNoThe `methodology` field of the response.
qty_missingNoThe `qty_missing` field of the response.
qty_orderedNoThe `qty_ordered` field of the response.
variance_qtyNoThe `variance_qty` field of the response.
coverage_gapsNoThe `coverage_gaps` field of the response.
evidence_coreYesThe canonical, signed core of the answer — the payload the signature covers.
missingFieldsNoThe `missingFields` field of the response.
output_sha256YesSHA-256 hex digest of the canonical evidence core.
qty_deliveredNoThe `qty_delivered` field of the response.
amount_orderedNoThe `amount_ordered` field of the response.
delivered_overNoThe `delivered_over` field of the response.
missing_fieldsNoThe `missing_fields` field of the response.
profileVersionNoVersion of the answer profile.
amount_varianceNoThe `amount_variance` field of the response.
delivered_shortNoThe `delivered_short` field of the response.
profile_versionNoVersion of the answer profile.
canonicalizationNoThe canonicalisation rule the digest was computed under.
orders_reconciledNoThe `orders_reconciled` field of the response.
methodologyVersionNoThe `methodologyVersion` field of the response.
lines_with_varianceNoThe `lines_with_variance` field of the response.
methodology_versionNoVersion of the method that produced the answer.
signature_algorithmNoThe `signature_algorithm` field of the response.
missing_evidence_ruleNoThe `missing_evidence_rule` field of the response.
insufficient_order_idsNoThe `insufficient_order_ids` field of the response.
lines_insufficient_evidenceNoThe `lines_insufficient_evidence` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed54 schema fields changed
    • addedOutput schema / properties / amount_ordered
      Added value: +{
      +  "description": "The `amount_ordered` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / amount_paid
      Added value: +{
      +  "description": "The `amount_paid` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / amount_usd
      Added value: +{
      +  "description": "The amount the operation concerned.",
      +  "type": "number"
      +}
    • addedOutput schema / properties / amount_variance
      Added value: +{
      +  "description": "The `amount_variance` 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 / clock
      Added value: +{
      +  "description": "The `clock` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / coverage_gaps
      Added value: +{
      +  "description": "The `coverage_gaps` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / delivered_over
      Added value: +{
      +  "description": "The `delivered_over` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / delivered_short
      Added value: +{
      +  "description": "The `delivered_short` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / detail
      Added value: +{
      +  "description": "Human-readable explanation of the verdict.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / direction
      Added value: +{
      +  "description": "The `direction` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / directions
      Added value: +{
      +  "description": "The `directions` 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 / findings
      Added value: +{
      +  "description": "The `findings` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / insufficient_order_ids
      Added value: +{
      +  "description": "The `insufficient_order_ids` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / key_id
      Added value: +{
      +  "description": "The `key_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / kind
      Added value: +{
      +  "description": "The `kind` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / lines
      Added value: +{
      +  "description": "The `lines` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / lines_insufficient_evidence
      Added value: +{
      +  "description": "The `lines_insufficient_evidence` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / lines_with_variance
      Added value: +{
      +  "description": "The `lines_with_variance` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / llm
      Added value: +{
      +  "description": "The `llm` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / methodology
      Added value: +{
      +  "description": "The `methodology` 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 / missingFields
      Added value: +{
      +  "description": "The `missingFields` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / missing_evidence_rule
      Added value: +{
      +  "description": "The `missing_evidence_rule` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / missing_fields
      Added value: +{
      +  "description": "The `missing_fields` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / no_order
      Added value: +{
      +  "description": "The `no_order` 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 / notes
      Added value: +{
      +  "description": "The `notes` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / order_id
      Added value: +{
      +  "description": "The `order_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / orders_reconciled
      Added value: +{
      +  "description": "The `orders_reconciled` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / output_sha256
      Added value: +{
      +  "description": "SHA-256 hex digest of the canonical evidence core.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / paid_over
      Added value: +{
      +  "description": "The `paid_over` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / paid_short
      Added value: +{
      +  "description": "The `paid_short` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / profile
      Added value: +{
      +  "description": "The `profile` field of the response.",
      +  "type": "object"
      +}
    • 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 / public_key
      Added value: +{
      +  "description": "The `public_key` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / qty_delivered
      Added value: +{
      +  "description": "The `qty_delivered` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / qty_missing
      Added value: +{
      +  "description": "The `qty_missing` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / qty_ordered
      Added value: +{
      +  "description": "The `qty_ordered` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / quantity
      Added value: +{
      +  "description": "The `quantity` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signature
      Added value: +{
      +  "description": "The Ed25519 signature over the evidence core, base64-encoded.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / signature_algorithm
      Added value: +{
      +  "description": "The `signature_algorithm` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signed_by
      Added value: +{
      +  "description": "The key id that signed the answer.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / status / description
      Added value: +"The status of the operation."
    • addedOutput schema / properties / tolerance
      Added value: +{
      +  "description": "The `tolerance` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / totals
      Added value: +{
      +  "description": "The `totals` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / variance
      Added value: +{
      +  "description": "The `variance` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / variance_qty
      Added value: +{
      +  "description": "The `variance_qty` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / verdict
      Added value: +{
      +  "description": "The decision this tool returned.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / verdicts
      Added value: +{
      +  "description": "The `verdicts` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "detail",
      +  "evidence_core",
      +  "output_sha256",
      +  "signature",
      +  "verdict"
      +]
  2. Added

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds two genuinely new facts — the $0.5 USDC cost and that the result is an object with 53 fields including amount_ordered and amount_paid. However, it says nothing about how tolerances affect matching, whether mismatches are flagged or merely reported, or what happens when the three inputs are empty (all params are optional).

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

Conciseness2/5

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

The purpose is correctly front-loaded, but the remainder is delivered as semicolon-spliced fragments ("...for procurement, not task deliverable; an object with 53 fields...") with a stray price tag appended. It is short but under-edited, and the mixed audience (routing hint, return shape, billing) is not ordered or separated.

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

Completeness3/5

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

An output schema exists, so the return values need not be spelled out, and annotations cover the safety profile. For a five-parameter financial reconciliation tool the description is only just adequate: it omits the tolerance semantics and the meaning of a successful vs. discrepant outcome, which are the things an agent cannot get from structured fields.

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 description adds no meaning to amount_tolerance or quantity_tolerance — arguably the two parameters whose semantics (units, direction of comparison, default when null) most need prose — and never links the three array parameters to the "three ledgers" framing.

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?

"Reconcile the three ledgers" names a specific verb and resource, and the description immediately disambiguates against accept_task_deliverable. The only weakness is that "three ledgers" is never mapped to the actual orders/payments/deliveries inputs, so the agent must infer it from 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 explicitly names the sibling to avoid (accept_task_deliverable) and states the selecting condition (procurement, not task deliverable). There is no coverage of when reconciliation is premature or what prerequisites exist, but the alternative-selection guidance is clear.

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.