Skip to main content
Glama

Duplicate order check

wever_duplicate-order-check
Read-only

Job Records: submit one timed-out or ambiguous checkout (merchant, item, amount, timestamp and the order reference where known) with the merchant order or receipt records you hold and, where you have it, when those records were exported. The signed report compares each record field by field and returns matching_order_found when a completed order already covers the checkout (a second order would duplicate it), no_matching_order when a fresh order is consistent with the records, or indeterminate when the records cannot settle it, with the matched fields itemized and the open points named. Records comparison only; the merchant is never contacted and no order is placed. POST /api/duplicate-order-check. Reads only the material in the call: no network request, fetch, wallet or merchant lookup, order, payment or external write. Paid URL: 0.10 USDC per call on Base via x402 exact, with the shared 10 signed-wallet free calls per rolling 30 days. Bind X-Wever-Wallet-Proof to the exact JSON arguments and the tool route. Returns a report with an Ed25519 signed receipt. Contract: /api/job-records-contract. Human page: https://weverlabs.com/job-records/.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "checkout": "<checkout>",
      "orders": "<orders>"
    },
    "name": "wever_duplicate-order-check"
  }
}

Input Schema

NameRequiredDescriptionDefault
assetNoAsset for records that state none.
labelNoOptional name recorded in the report.
ordersYesMerchant order or receipt records.
checkoutYes
records_as_ofNoWhen the order records were exported. Records exported before the checkout cannot show its order.
window_minutesNoHow far apart a checkout and an order may be in time and still be one attempt. Defaults to 60.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Beyond the annotations, it declares what is read and not read ('no network request, fetch, wallet or merchant lookup, order, payment or external write'), the cost and free tier (0.10 USDC per call on Base via x402, 10 signed-wallet free calls per rolling 30 days), the auth binding required (X-Wever-Wallet-Proof to the exact JSON arguments and route), and the return format (report with Ed25519 signed receipt). That is materially more than readOnlyHint/destructiveHint convey.

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

Conciseness4/5

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

The content is front-loaded: what to submit, what the report returns, and the safety/scope limits come before pricing and URLs. The middle sentence is a dense multi-clause run-on that could be split, but nearly every clause carries operational information an agent needs.

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?

There is no output schema, yet the description fully describes the return values, the itemized matched fields and named open points, and the signed receipt. Combined with payment, auth-proof, and read-only guarantees, nothing essential for correct invocation is missing for a two-required-parameter nested tool.

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 coverage is 83%, so the schema already documents most parameters, including records_as_of and window_minutes. The description reinforces which checkout fields matter and the role of export timing, but adds little syntax or format guidance for the nested orders records beyond what the schema states. Baseline 3 is appropriate.

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 states a specific verb (compare/submit) and resource (a timed-out or ambiguous checkout against merchant order records) and enumerates the three exact outcomes it returns: matching_order_found, no_matching_order, indeterminate. An agent can distinguish this from sibling evidence-check tools without opening 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 scopes the trigger clearly ('submit one timed-out or ambiguous checkout') and states the exclusion 'Records comparison only; the merchant is never contacted and no order is placed', which steers an agent away from any execution tool. It does not name a specific sibling alternative or a when-not-to-call condition, so it falls short of a 5.

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.

Resources