Skip to main content
Glama

KlickyMart

build_experience_note

Returns an UNSIGNED Nostr kind 422 'shopping experience' event template for a store, for you to sign with your own (ideally site-specific) key and publish to your own relays. KlickyMart never signs or publishes for you. Optionally POST the signed event to /reviews (or the submit_review tool). Location must be ZIP3, US state (US-KS) or country only. Proof tags (zap/preimage/cashu/order_hash = sha256 of the confirmation) mark a verified purchase. preset=checkout (record_checkout): one call at the payment screen records subtotal, shipping and tax for a ZIP3; depth is then optional.

Input Schema

NameRequiredDescriptionDefault
feeNoa store or payment fee, e.g. a gift-card fee
taxNo
agentNo
basisNovisit = you went to the store; directory = written from KlickyMart data; secondhand = relayed; omitted = unknown. Only visit counts toward the chart.
depthNofurthest stage reached (same stages as checkout maps; 'attempt' accepted as an alias)
guestNoyes/no are aliases for true/false
priceNothe item price you saw (alias price_seen)
stepsNo
totalNo
wallsNo
domainYes
presetNocheckout = record_checkout: call once at the payment screen, before paying. Needs region (ZIP3 only), price_seen (subtotal), shipping, tax; total optional and checked. Sets basis=visit, depth=payment, shipping_source=checkout. 2+ independent aged keys are needed before a quote drives est_total on /landed.
ratingNo
regionNoZIP3, US-XX or country code
strictNoreject unknown fields instead of ignoring them with a warning
blockerNo
productNoproduct URL or GTIN
currencyNo
pay_usedNovocab pay code (see /vocab.json), e.g. ln, btc, card, spay
shippingNo
btc_routeNo
deliveredNo
estimatedNotrue = every amount you give is an estimate; false = none; or a list of amount kinds you estimated (array or comma string, e.g. tax,total)
narrativeNo
duration_sNo
price_paidNowhat you actually paid, if you paid
price_seenNo
pay_offeredNovocab codes; an empty list means you looked and saw none (tagged none-observed); omit if not checked
price_sourceNoprice copied from KlickyMart data or read on the store
delivery_daysNo
shipping_sourceNowhere the shipping amount came from: the store's shipping policy, the checkout itself, or unknown
account_requiredNo
shown_before_paymentNocomma list: tax, shipping, none, not-observed or unknown
tax_shown_before_paymentNo
shipping_shown_before_paymentNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations at all, the description carries the full burden. It does disclose the most important behavioral trait — the output is unsigned, KlickyMart never signs or publishes, and proof tags mark a verified purchase — which is genuine value beyond structured fields. However, it says nothing about validation failure behavior, idempotency, rate limits, or what happens when region/proof data is malformed, which matters for a 35-parameter mutation-adjacent builder.

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 key contract — unsigned template, you sign and publish — is front-loaded, and each following sentence adds a distinct rule (location granularity, proof tags, checkout preset). It is dense but not padded; the heavy parentheticals make a few sentences run long, slightly hurting scanability.

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?

For a complex 35-parameter tool with no annotations and no output schema, the description covers the core behavioral contract but leaves large semantic gaps on parameter meaning and on what the returned template actually contains. It is adequate to start a call correctly, but not complete for invoking the tool reliably across its many optional fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 46% across 35 parameters, so the description must compensate, and it only covers a handful: region format, price_seen/shipping/tax for the checkout preset, and proof-tag concepts. Many parameters (fee, agent, steps, walls, blocker, narrative, duration_s, delivery_days, btc_route, rating, strict, the *_shown_before_payment family) get no explanation in either schema or description. It also references proof tags (zap/preimage/cashu/order_hash) that do not appear as named properties in the schema.

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 first sentence names a specific verb (returns/builds) and a precise resource (unsigned Nostr kind 422 'shopping experience' event template), plus the scope constraint that KlickyMart never signs or publishes. It also names the sibling submit_review, so an agent can distinguish this tool from the review-submission path without opening either 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 concrete usage context: sign with your own site-specific key and publish to your own relays, optionally POST the signed event to /reviews or the submit_review tool, and location must be ZIP3/US-state/country only. The preset=checkout paragraph adds a clear when-to-call rule ('one call at the payment screen'). It stops short of explicit when-not-to-use guidance or a full comparison with submit_review.

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.