{
  "data": {
    "tool": {
      "category": "commerce",
      "endpoint": "https://api.nagora.shop/mcp",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/nagora.json",
      "kind": "mcp",
      "listed": "indexed",
      "liveUrl": "https://www.anchorterminal.com/api/v1/live/nagora.json",
      "markdownUrl": "https://www.anchorterminal.com/tools/nagora.md",
      "mcpTools": {
        "check": {
          "checker": "anchor-check/1.0",
          "totalTokens": 1927,
          "counts": {
            "error": 0,
            "note": 1,
            "warn": 4
          },
          "findings": [
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "cancel_order",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "confirm_delivery",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "create_purchase",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC16",
              "severity": "warn",
              "tool": "register_agent",
              "message": "no readOnlyHint or destructiveHint",
              "fix": "Set readOnlyHint: true if it only reads; otherwise set destructiveHint and idempotentHint."
            },
            {
              "rule": "TC24",
              "severity": "note",
              "message": "9 of 9 tools have no outputSchema",
              "fix": "Declare outputSchema for tools that return structured data, and return structuredContent that matches it."
            }
          ]
        },
        "checkedAt": "2026-10-04T22:25:55Z",
        "count": 9,
        "schemaTokens": 1927,
        "status": "ok",
        "tools": [
          {
            "name": "search_listings",
            "description": "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.",
            "inputSchema": {
              "properties": {
                "categoryId": {
                  "default": null,
                  "description": "Numeric category filter",
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "count": {
                  "default": null,
                  "description": "Page size 1-100, default 20",
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "maxPrice": {
                  "default": null,
                  "description": "Maximum price filter",
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "minPrice": {
                  "default": null,
                  "description": "Minimum price filter",
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "q": {
                  "default": null,
                  "description": "Free-text search query, e.g. 'mechanical keyboard'",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "sortBy": {
                  "default": null,
                  "description": "Sort order: newest, price_asc, or price_desc. Default newest",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "startIndex": {
                  "default": null,
                  "description": "Pagination offset, default 0",
                  "type": [
                    "integer",
                    "null"
                  ]
                }
              },
              "type": "object"
            },
            "annotations": {
              "readOnlyHint": true
            }
          },
          {
            "name": "register_agent",
            "description": "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 \u003ckey\u003e' header instead. Skip this tool if a credential is already configured; check with whoami.",
            "inputSchema": {
              "properties": {
                "callbackUrl": {
                  "default": null,
                  "description": "Optional webhook URL; Nagora POSTs signed order state-change events to it",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "contactEmail": {
                  "default": null,
                  "description": "Optional contact email for order issues",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "homepageUrl": {
                  "default": null,
                  "description": "Optional homepage describing the agent",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": {
                  "description": "Agent name, e.g. 'claude-shopper' (max 64 chars)",
                  "type": "string"
                },
                "nanoAddress": {
                  "description": "Nano (XNO) address refunds should be sent to: the wallet this agent pays from",
                  "type": "string"
                }
              },
              "required": [
                "name",
                "nanoAddress"
              ],
              "type": "object"
            }
          },
          {
            "name": "confirm_delivery",
            "description": "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.",
            "inputSchema": {
              "properties": {
                "apiKey": {
                  "default": null,
                  "description": "Agent API key (nag_agt_...). Omit when connected with an Authorization header",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "orderId": {
                  "description": "Order ID to confirm",
                  "format": "uuid",
                  "type": "string"
                }
              },
              "required": [
                "orderId"
              ],
              "type": "object"
            }
          },
          {
            "name": "get_order",
            "description": "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.",
            "inputSchema": {
              "properties": {
                "apiKey": {
                  "default": null,
                  "description": "Agent API key (nag_agt_...). Omit when connected with an Authorization header",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "orderId": {
                  "description": "Order ID returned by create_purchase",
                  "format": "uuid",
                  "type": "string"
                }
              },
              "required": [
                "orderId"
              ],
              "type": "object"
            },
            "annotations": {
              "readOnlyHint": true
            }
          },
          {
            "name": "whoami",
            "description": "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.",
            "inputSchema": {
              "properties": {
                "apiKey": {
                  "default": null,
                  "description": "Agent API key (nag_agt_...). Omit when connected with an Authorization header",
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "type": "object"
            },
            "annotations": {
              "readOnlyHint": true
            }
          },
          {
            "name": "get_receipt",
            "description": "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.",
            "inputSchema": {
              "properties": {
                "apiKey": {
                  "default": null,
                  "description": "Agent API key (nag_agt_...). Omit when connected with an Authorization header",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "orderId": {
                  "description": "Order ID to fetch the receipt for",
                  "format": "uuid",
                  "type": "string"
                }
              },
              "required": [
                "orderId"
              ],
              "type": "object"
            },
            "annotations": {
              "readOnlyHint": true
            }
          },
          {
            "name": "create_purchase",
            "description": "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.",
            "inputSchema": {
              "properties": {
                "apiKey": {
                  "default": null,
                  "description": "Agent API key (nag_agt_...). Omit when connected with an Authorization header",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "deliveryOptionId": {
                  "default": null,
                  "description": "Delivery option ID from get_listing, when the listing offers several",
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "listingId": {
                  "description": "Listing to purchase",
                  "format": "uuid",
                  "type": "string"
                },
                "quantity": {
                  "default": 1,
                  "description": "Quantity, default 1",
                  "type": "integer"
                },
                "quotedTotalNano": {
                  "default": null,
                  "description": "Total in XNO from a recent get_listing call. Rejected if more than 2% off the live rate; omit to skip the guard",
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "shippingAddress": {
                  "default": null,
                  "description": "Required for physical delivery; omit for digital listings",
                  "properties": {
                    "city": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "countryCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "fullName": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "line1": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "line2": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "phone": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "postalCode": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "state": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "required": [
                    "fullName",
                    "line1",
                    "line2",
                    "city",
                    "state",
                    "postalCode",
                    "countryCode",
                    "phone"
                  ],
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "variantId": {
                  "default": null,
                  "description": "Variant ID from get_listing, when the listing has variants",
                  "format": "uuid",
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "required": [
                "listingId"
              ],
              "type": "object"
            }
          },
          {
            "name": "get_listing",
            "description": "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.",
            "inputSchema": {
              "properties": {
                "listingId": {
                  "description": "Listing ID from search_listings",
                  "format": "uuid",
                  "type": "string"
                }
              },
              "required": [
                "listingId"
              ],
              "type": "object"
            },
            "annotations": {
              "readOnlyHint": true
            }
          },
          {
            "name": "cancel_order",
            "description": "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.",
            "inputSchema": {
              "properties": {
                "apiKey": {
                  "default": null,
                  "description": "Agent API key (nag_agt_...). Omit when connected with an Authorization header",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "orderId": {
                  "description": "Order ID to cancel",
                  "format": "uuid",
                  "type": "string"
                }
              },
              "required": [
                "orderId"
              ],
              "type": "object"
            }
          }
        ]
      },
      "name": "Nagora",
      "note": "Indexed from the official MCP registry: facts and our own checks, not reviewed, so no score, grade or rank.",
      "packages": [
        {
          "registryType": "npm",
          "identifier": "@nagora/mcp",
          "version": "0.1.0",
          "transport": "stdio"
        }
      ],
      "pageJsonUrl": "https://www.anchorterminal.com/tools/nagora.json",
      "popularity": {
        "githubStars": 0,
        "npmWeekly": 29
      },
      "registryName": "shop.nagora/nagora",
      "remotes": [
        {
          "type": "streamable-http",
          "url": "https://api.nagora.shop/mcp"
        }
      ],
      "repository": "https://github.com/m-flex/nagora-mcp",
      "reviewed": false,
      "slug": "nagora",
      "source": "the official MCP registry",
      "sourceUrl": "https://registry.modelcontextprotocol.io/v0.1/servers?search=shop.nagora/nagora",
      "summary": "Buy real goods with Nano (XNO) through escrow. Search, purchase, track orders, get signed receipts.",
      "updatedAt": "2026-09-11T00:53:10Z",
      "url": "https://www.anchorterminal.com/tools/nagora",
      "vendor": "nagora.shop",
      "vendorUrl": "https://nagora.shop",
      "version": "1.0.1",
      "websiteUrl": "https://nagora.shop",
      "where": "both",
      "why": [
        "vendor"
      ]
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/nagora",
    "json": "https://www.anchorterminal.com/tools/nagora.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/nagora.md",
    "slim": "https://www.anchorterminal.com/tools/nagora.min.md"
  },
  "markdown": "# Nagora\n\n\u003e Indexed, not reviewed: facts from the official MCP registry and our own checks. No score, grade or rank, and not in the rankings until the panel reviews it. How the index works: https://www.anchorterminal.com/indexed/\n\n- Kind: MCP server, by nagora.shop (https://nagora.shop)\n- Category: Commerce \u0026 checkout (https://www.anchorterminal.com/categories/commerce.md)\n- Listed because: It's published in the registry under nagora.shop, a namespace the registry only gives to whoever proves they control that domain.\n- What the official MCP registry says: Buy real goods with Nano (XNO) through escrow. Search, purchase, track orders, get signed receipts.\n\n## Facts\n\n- MCP registry: `shop.nagora/nagora` 1.0.1\n- Endpoint: https://api.nagora.shop/mcp (streamable HTTP)\n- Package: npm `@nagora/mcp` (stdio)\n- Source: https://github.com/m-flex/nagora-mcp\n- Website: https://nagora.shop\n- npm downloads a week: 29\n- GitHub stars: 0\n- Registry entry updated: 2026-09-11\n\n## Tools\n\n- Tools it lists (9, about 1,927 tokens of context, `tools/list` without credentials over MCP 2025-11-25, checked 2026-10-04 22:25 UTC):\n  - `search_listings` (read-only): 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…\n  - `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…\n  - `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…\n  - `get_order` (read-only): Polls an order placed by this agent. Returns orderStatus, escrowStatus, funding timestamps, tracking info, and the receipt ID once available. Poll after…\n  - `whoami` (read-only): Verifies the configured credential and returns the agent's identity, spending caps, callback URL, and webhook secret. Call this first to confirm the credential…\n  - `get_receipt` (read-only): 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…\n  - `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.…\n  - `get_listing` (read-only): 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…\n  - `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…\n- How its tools read to an agent (0 errors, 4 warnings, 1 note, about 1,927 tokens; rules at https://www.anchorterminal.com/check.md; not part of the score):\n  - warn TC16 cancel_order: no readOnlyHint or destructiveHint\n  - warn TC16 confirm_delivery: no readOnlyHint or destructiveHint\n  - warn TC16 create_purchase: no readOnlyHint or destructiveHint\n  - warn TC16 register_agent: no readOnlyHint or destructiveHint\n  - note TC24 server: 9 of 9 tools have no outputSchema\n\n- JSON: https://www.anchorterminal.com/api/v1/tools/nagora.json\n- Being indexed says nothing about quality, and nobody can pay for it. Ask for a review: https://www.anchorterminal.com/builders/#claiming\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Indexed",
        "url": "https://www.anchorterminal.com/indexed/"
      },
      {
        "name": "Nagora",
        "url": ""
      }
    ],
    "description": "Nagora, an MCP server by nagora.shop, listed from the official MCP registry. Indexed, not reviewed: facts and our own checks, no score or ranking. Buy real goods with Nano (XNO) through escrow. Search, purchase, track orders, get signed receipts.",
    "facts": [
      "not reviewed",
      "not ranked",
      "facts only"
    ],
    "h1": "Nagora",
    "image": "https://www.anchorterminal.com/assets/og/indexed.png",
    "path": "/tools/nagora",
    "published": "",
    "section": "indexed",
    "title": "Nagora: MCP server, indexed from the official MCP registry",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/tools/nagora"
  },
  "tokens": {
    "markdown": 1050,
    "slim": 980
  },
  "version": 1
}
