Nagora

shop.nagoraPublished by nagora.shopOfficial publisherv1.0.1Updated Oct 24, 2026

Buy real goods with Nano (XNO) through escrow. Search, purchase, track orders, get signed receipts.

VerifiedStreamable HTTPWeb executableFinanceBusiness & Commerce

Overview

AI-generated overview

Nagora lets an AI assistant search a Nano-settled peer-to-peer marketplace, place escrow-protected purchases, track orders and fetch signed receipts.

What you can do
Search and read listings, including variants, delivery options and Nano pricing, without an API key or account registration, then verify the agent's identity, spending caps and webhook secret with whoami. Place orders that return a per-order escrow deposit address and amount, and cancel orders whose escrow has not yet been funded. Poll order and escrow status, tracking and receipt IDs, and confirm delivery to release escrowed funds to the seller. Fetch a KMS-signed receipt with the seller's Nano address and on-chain payout block hash once escrow is released.
When to use it
Use it when you want an assistant to shop on nagora.shop and pay in Nano, with escrow holding funds until delivery is confirmed. It suits agents that need a self-registering buyer identity with server-enforced spending caps, or a verifiable signed receipt for a completed purchase.
Requirements
Runs as a hosted remote endpoint or as a local npm package started with npx, which needs Node.js. No account or API key is needed to search or to call register_agent; the returned key is stored locally at ~/.nagora/credentials.json or supplied via the NAGORA_API_KEY variable or an Authorization Bearer header. A separate Nano wallet is needed to fund escrow, since the server holds no keys.
Before you install
Purchases spend real Nano: create_purchase only places the order, and you must send exactly amountNano to the returned deposit address from your own wallet. confirm_delivery releases escrowed funds to the seller, and an auto-finalise timer releases them if it is never called. The API key from register_agent is returned only once on the hosted server, so store it securely; it can be revoked from the website. Disputes and refunds after funding go through the website, not the tools.

Installation

In SourceWeft

  1. Open Nagora in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/shop.nagora%2Fnagora/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "nagora": {
      "type": "http",
      "url": "https://api.nagora.shop/mcp"
    }
  }
}

README

Nagora MCP server

The official MCP server for nagora.shop, the P2P marketplace where everything settles in Nano (XNO).

It gives any MCP client (Claude Desktop, Claude Code, or your own agent runtime) tools to search listings, place escrow-protected purchases, track orders, and pull signed receipts. Your AI assistant can shop for you, and escrow protects you while it does: funds are held in a per-order Nano account and only released to the seller after delivery is confirmed.

Tools

ToolAuthWhat it does
search_listingsnoneFull-text search over active listings
get_listingnoneFull listing detail: variants, delivery options, Nano pricing
register_agentnoneCreate an agent + API key in one call, no account needed; key is stored locally
whoamiAPI keyVerify the key; see spending caps and webhook secret
create_purchaseAPI keyPlace an order; returns the escrow deposit address and amount
get_orderAPI keyPoll order and escrow status, tracking, receipt ID
confirm_deliveryAPI keyConfirm arrival and release escrow to the seller
cancel_orderAPI keyCancel an order that has not been funded yet
get_receiptAPI keyFetch the KMS-signed receipt with the on-chain payout block

Setup

Zero-install alternative: Nagora also hosts these same tools as a remote MCP server. claude mcp add --transport http nagora https://api.nagora.shop/mcp and you are done. The trade-off: the hosted server cannot store your key locally, so register_agent returns it once and you pass it as the apiKey tool argument or pin it with --header "Authorization: Bearer nag_agt_...". This local package keeps the key in ~/.nagora/credentials.json for you instead.

Claude Code

bash
claude mcp add nagora -- npx -y @nagora/mcp

Claude Desktop

In claude_desktop_config.json:

json
{  "mcpServers": {    "nagora": {      "command": "npx",      "args": ["-y", "@nagora/mcp"]    }  }}

From source (instead of npx)

bash
cd nagora-mcpnpm installnpm run buildclaude mcp add nagora -- node /path/to/nagora-mcp/dist/index.js

Let the agent register itself

That's the whole setup. No Nagora account, no key to copy. The first time your assistant needs to buy something, it calls register_agent with a name and a refund Nano address; the API key comes back once and is saved to ~/.nagora/credentials.json (mode 600). Every other tool picks it up automatically from then on.

Self-registered keys get conservative default spending caps (currently 25 XNO per transaction, 100 XNO per day), enforced server-side. Want higher caps, multiple keys, or a dashboard? Create an account at nagora.shop and manage agents under Settings → Agents; keys minted there work the same way via NAGORA_API_KEY.

Configuration

VariableDefaultNotes
NAGORA_API_KEYunsetOptional. Overrides the stored credential from register_agent
NAGORA_API_URLhttps://api.nagora.shopPoint at http://localhost:5004 for local dev

How a purchase flows

  1. search_listings / get_listing: find the item, note the Nano total.
  2. create_purchase: places the order. The response contains a depositAddress (a per-order escrow account on the Nano network) and amountNano.
  3. Fund the escrow: send exactly amountNano to depositAddress from the agent's own Nano wallet. This server deliberately holds no keys and moves no funds; pair it with a wallet tool such as xno-mcp, or fund it manually. Nano transfers are feeless and settle in under a second.
  4. The order moves to AwaitingShipment automatically when funds land. The seller ships and adds tracking.
  5. get_order (or webhooks, see below) to watch for Shipped.
  6. confirm_delivery once the goods arrive: escrow releases the funds to the seller on-chain.
  7. get_receipt: a signed, independently verifiable proof of the whole transaction, including the payout block hash.

If the seller never ships, the escrow auto-cancel timer refunds the buyer. If something is wrong with the order, open a dispute from the website; a human reviews it.

Webhooks (optional)

Instead of polling get_order, register a callbackUrl on your agent (Settings → Agents). Nagora signs every webhook with HMAC-SHA256: compute HMAC-SHA256("{X-Nagora-Timestamp}.{raw_body}", webhookSecret) and compare it against X-Nagora-Signature: sha256=<hex>. The webhookSecret comes from whoami.

Events: order.funded, order.shipped, and friends fire as the order progresses.

Safety model

  • The server is stateless and keyless: it cannot spend Nano, only request orders that you then fund (or don't).
  • Spending caps are enforced server-side per API key; a runaway agent hits a 429, not your wallet.
  • Escrow means an agent mistake is recoverable: unfunded orders can be cancelled, funded orders are protected until you confirm delivery.
  • Revoke a key at any time from Settings → Agents; revocation takes effect within 60 seconds.

Source: README.md at commit 6b5b1ce

Tools

9

search_listings

Full-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.

ParametersqcountsortBymaxPriceminPricecategoryIdstartIndex

register_agent

Creates 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.

ParametersnamerequiredcallbackUrlhomepageUrlnanoAddressrequiredcontactEmail

confirm_delivery

Confirms 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.

ParametersapiKeyorderIdrequired

get_order

Polls 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.

ParametersapiKeyorderIdrequired

whoami

Verifies the configured credential and returns the agent's identity, spending caps, callback URL, and webhook secret. Call this first to confirm the credential works.

ParametersapiKey

get_receipt

Returns 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.

ParametersapiKeyorderIdrequired

create_purchase

Places 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.

ParametersapiKeyquantitylistingIdrequiredvariantIdquotedTotalNanoshippingAddressdeliveryOptionId

get_listing

Fetch 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.

ParameterslistingIdrequired

cancel_order

Cancels 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.

ParametersapiKeyorderIdrequired

Version history

1
  1. v1.0.1LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts