Nagora
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Buy real goods with Nano (XNO) through escrow. Search, purchase, track orders, get signed receipts.
| Author | shop.nagora |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 424 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"Nagora": {
"url": "https://api.nagora.shop/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (9)
search_listingsread-onlyFull-text search over active listings on nagora.shop. No API key required. Returns an items array and total count. Use get_listing for full detail before purchasing.
Parameters:
q— ['string', 'null'] — Free-text search query, e.g. 'mechanical keyboard'count— ['integer', 'null'] — Page size 1-100, default 20sortBy— ['string', 'null'] — Sort order: newest, price_asc, or price_desc. Default newestmaxPrice— ['number', 'null'] — Maximum price filterminPrice— ['number', 'null'] — Minimum price filtercategoryId— ['integer', 'null'] — Numeric category filterstartIndex— ['integer', 'null'] — Pagination offset, default 0
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
register_agentCreates a Nagora agent and mints its API key in one call. No Nagora account or signup required. IMPORTANT: this is a remote server with no local storage, so the key is returned ONCE in the result. Store it securely and pass it as the apiKey argument on subsequent calls in this session; for long-lived setups reconnect with an 'Authorization: Bearer <key>' header instead. Skip this tool if a credential is already configured; check with whoami.
Parameters:
name(required) — string — Agent name, e.g. 'claude-shopper' (max 64 chars)nanoAddress(required) — string — Nano (XNO) address refunds should be sent to: the wallet this agent pays fromcallbackUrl— ['string', 'null'] — Optional webhook URL; Nagora POSTs signed order state-change events to ithomepageUrl— ['string', 'null'] — Optional homepage describing the agentcontactEmail— ['string', 'null'] — Optional contact email for order issues
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
confirm_deliveryConfirms the goods or digital content arrived and releases the escrowed funds to the seller. Requires the order's escrowStatus to be Shipped. Call promptly once delivery is verified: the seller is waiting on this to get paid. If never called, an auto-finalise timer releases funds after the configured window.
Parameters:
orderId(required) — string — Order ID to confirmapiKey— ['string', 'null'] — Agent API key (nag_agt_...). Omit when connected with an Authorization header
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_orderread-onlyPolls an order placed by this agent. Returns orderStatus, escrowStatus, funding timestamps, tracking info, and the receipt ID once available. Poll after funding the deposit address, and after the seller ships, before calling confirm_delivery. For digital listings, digitalContent holds what was bought once the order is paid.
Parameters:
orderId(required) — string — Order ID returned by create_purchaseapiKey— ['string', 'null'] — Agent API key (nag_agt_...). Omit when connected with an Authorization header
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
whoamiread-onlyVerifies the configured credential and returns the agent's identity, spending caps, callback URL, and webhook secret. Call this first to confirm the credential works.
Parameters:
apiKey— ['string', 'null'] — Agent API key (nag_agt_...). Omit when connected with an Authorization header
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
get_receiptread-onlyReturns the cryptographically signed receipt for a completed order, including the seller's Nano address, the on-chain payout block hash, and Nagora's KMS signature. Available only after escrow is Released; returns an error while the order is still in progress.
Parameters:
orderId(required) — string — Order ID to fetch the receipt forapiKey— ['string', 'null'] — Agent API key (nag_agt_...). Omit when connected with an Authorization header
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
create_purchasePlaces an order against a listing. Returns a depositAddress (per-order escrow Nano account) and amountNano. IMPORTANT: the order is not funded by this call. Send exactly amountNano to depositAddress from the agent's Nano wallet to fund escrow. Once funds are detected the order moves to AwaitingShipment automatically. Physical listings require a shippingAddress.
Parameters:
listingId(required) — string — Listing to purchaseapiKey— ['string', 'null'] — Agent API key (nag_agt_...). Omit when connected with an Authorization headerquantity— integer — Quantity, default 1variantId— ['string', 'null'] — Variant ID from get_listing, when the listing has variantsquotedTotalNano— ['number', 'null'] — Total in XNO from a recent get_listing call. Rejected if more than 2% off the live rate; omit to skip the guardshippingAddress— ['object', 'null'] — Required for physical delivery; omit for digital listingsdeliveryOptionId— ['integer', 'null'] — Delivery option ID from get_listing, when the listing offers several
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
get_listingread-onlyFetch a single listing by ID. No API key required. Returns full detail including variants, delivery options, and pricing. Use the returned Nano total as quotedTotalNano when purchasing to guard against exchange-rate drift.
Parameters:
listingId(required) — string — Listing ID from search_listings
Hints: read-only yes · destructive not declared · idempotent not declared · open-world not declared
cancel_orderCancels an order whose escrow is still Initiated (no on-chain funds sent yet). Restores listing stock. Cannot cancel once escrow is Funded; use the dispute or refund flow on the website instead.
Parameters:
orderId(required) — string — Order ID to cancelapiKey— ['string', 'null'] — Agent API key (nag_agt_...). Omit when connected with an Authorization header
Hints: read-only not declared · destructive not declared · idempotent not declared · open-world not declared
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.