Nagora

shop.nagora由 nagora.shop 发布官方发布者v1.0.1更新于 Oct 24, 2026

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

已验证Streamable HTTP可网页运行金融商业与电商

概览

AI 生成的概览

Nagora 让 AI 助手在以 Nano 结算的点对点市场上搜索商品、下单托管交易、跟踪订单并获取签名收据。

可以做什么
搜索并查看商品详情,包括规格、配送方式和 Nano 价格,无需 API 密钥或注册账号;用 whoami 核对凭据并查看消费上限和 webhook 密钥。下单后返回每笔订单的托管充值地址和金额,并可取消尚未充值的订单。轮询订单与托管状态、物流和收据编号,确认收货以将托管资金放款给卖家。托管放款后可获取带 KMS 签名的收据,含卖家 Nano 地址和链上放款区块哈希。
适用场景
适合希望让助手在 nagora.shop 购物并以 Nano 付款、由托管在确认收货前保管资金的场景。也适合需要可自助注册的买家身份、由服务端强制执行消费上限,或需要可验证签名收据的智能体。
运行要求
可作为远程托管端点使用,也可作为本地 npm 包通过 npx 启动,本地方式需要 Node.js。搜索和调用 register_agent 无需账号或 API 密钥;返回的密钥保存在本地 ~/.nagora/credentials.json,或通过 NAGORA_API_KEY 变量或 Authorization Bearer 请求头提供。由于服务器不持有密钥,充值托管需要另配 Nano 钱包。
安装前请注意
购买会花费真实 Nano:create_purchase 只负责下单,需自行从钱包向返回的充值地址转入恰好 amountNano。confirm_delivery 会把托管资金放款给卖家,若一直不调用,自动结算计时器也会放款。托管服务器上 register_agent 返回的 API 密钥只显示一次,须妥善保存,可在网站撤销。充值后的争议与退款需在网站处理,工具不提供。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Nagora,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/shop.nagora%2Fnagora/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "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.

来源:README.md,提交 6b5b1ce

工具

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.

输入参数qcountsortBymaxPriceminPricecategoryIdstartIndex

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.

输入参数name必填callbackUrlhomepageUrlnanoAddress必填contactEmail

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.

输入参数apiKeyorderId必填

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.

输入参数apiKeyorderId必填

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.

输入参数apiKey

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.

输入参数apiKeyorderId必填

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.

输入参数apiKeyquantitylistingId必填variantIdquotedTotalNanoshippingAddressdeliveryOptionId

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.

输入参数listingId必填

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.

输入参数apiKeyorderId必填

版本历史

1
  1. v1.0.1最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分