Skip to main content
Glama

till_verify_delivery

I CAN PROVE I PAID. CAN I PROVE I WAS SERVED? Every other check here runs before money moves; this is the question after, and it is the one nothing in this market answers. A payment is a fact on Base that anyone can re-check forever; the deliverable was a sentence in a message. So a buyer can prove it spent and cannot prove it received — and every settlement record in existence, including the ones this server writes, records the money and takes the goods on trust. The fix is a commitment, not an opinion: the seller publishes sha256(deliverable) BEFORE being paid, the buyer hashes what arrived and compares. That settles exactly two things no prose can fake — the deliverable EXISTED before the money (you cannot hash what you have not made, which kills "pay me and I will get to it") and the bytes were NOT SWAPPED for something cheaper once the funds cleared. FOUR states, and the last two are the point. commitment_too_late: the bytes match but the hash was published at or after payment, so it proves only that nobody edited it afterwards — a hash published after the funds clear can simply be the hash of whatever was eventually sent, which is the exact trick this catches, and calling it served would bless it. unverifiable: no commitment was made, which is the honest verdict for almost every agent transaction today — a buyer must know it never had the MEANS to check rather than believe it passed one. It proves NOTHING about quality: a committed hash of garbage verifies perfectly. Pure, offline, no network, no keys.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paidAtNoblock or unix ms of the payment — needed for the strong claim
receivedNothe bytes you actually received (or pass receivedHash instead if you hashed them yourself)
committedAtNoblock or unix ms at which the commitment was recorded somewhere the seller cannot rewrite
receivedHashNo0x + sha256 of what you received, if you would rather not send the artifact
commitmentHashNo0x + sha256 the seller published BEFORE payment. Omit it and the answer is unverifiable, which is the truth.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observed

TDQS

B3.1/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it explains the four possible outcomes (commitment_too_late, unverifiable, etc.), notes that it proves existence and integrity but not quality, and states it is 'pure, offline, no network, no keys.' Limitations are clearly disclosed.

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 description is excessively long and uses a stream-of-consciousness style with rhetorical questions and philosophical asides. It is not concise; every sentence does not earn its place. A few clear sentences would suffice.

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?

The description adequately explains the verification logic and states, but it does not specify the exact return format (e.g., what fields are in the response). Given no output schema, this is a gap. Dependencies between parameters are partially explained, but the overall response structure is missing.

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?

Input schema has 100% description coverage for all 5 parameters, and the tool description adds contextual value by explaining dependencies (e.g., omitting commitmentHash yields unverifiable) and clarifying the role of each parameter in the verification logic. This goes beyond the schema's descriptions.

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 description explains the problem of proving delivery using cryptographic commitments and indicates the tool verifies if delivered content matches a pre-commitment, but the purpose is buried in verbose, metaphorical prose. It is not immediately clear what the tool does compared to a concise statement like 'Verify that delivered content matches a seller's pre-commitment hash.'

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description does not compare with sibling tools or specify prerequisites. It implies use after payment, but does not state when not to use it or what to use instead if no commitment exists.

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.

TDQS

B3.1/5.0
Disambiguation3/5

Many tools have distinct, well-named purposes (vet_agent vs vet_merchant), but there is notable overlap between till_trust and till_vet_merchant (both provide trust verdicts), and till_launch_funder vs till_funder_history are closely related. The descriptions are detailed enough to differentiate, but an agent could still misselect between a few pairs.

Naming Consistency3/5

All tools share the till_ prefix, but the pattern is mixed: some use verb_noun (check_invoice, create_charge, watch_wallet) while others are noun phrases (key_exposure, open_approvals, rug_powers) or bare nouns (floor, trust, roll). This is readable but not predictable, so an agent cannot reliably guess a tool name from a verb.

Tool Count2/5

At 29 tools, this server exceeds the 25+ threshold that signals an overgrown toolkit. Even with a broad domain, many tools are one-off niche scanners (till_b20_authentic, till_floor, till_meter) that inflate the surface and could be consolidated or externalized.

Completeness4/5

The toolkit covers the payment lifecycle comprehensively: create charges/invoices, check payments, verify delivery, generate receipts, rolls, and accounting exports. It also spans identity, trust, security scanning, and theft tracing. Minor gaps exist (no update/cancel for charges, no token-general vetting), but the non-custodial, read-only design makes these acceptable.