Nagora

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

사용해야 할까요

품질 및 안전성

A
설명 품질
98%
스키마 완전성
98%
이름 품질
96%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,620토큰 (도구 정의)
~1.4 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.27%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

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

실행 가능한 패키지

npm@nagora/mcp0.1.0stdio

원격 엔드포인트

https://api.nagora.shop/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (9)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢search_listings(q, categoryId, minPrice, maxPrice, sortBy, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "q": {
      "description": "Free-text search query, e.g. 'mechanical keyboard'",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "categoryId": {
      "description": "Numeric category filter",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "minPrice": {
      "description": "Minimum price filter",
      "type": [
        "number",
        "null"
      ],
      "default": null
    },
    "maxPrice": {
      "description": "Maximum price filter",
      "type": [
        "number",
        "null"
      ],
      "default": null
    },
    "sortBy": {
      "description": "Sort order: newest, price_asc, or price_desc. Default newest",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "startIndex": {
      "description": "Pagination offset, default 0",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "count": {
      "description": "Page size 1-100, default 20",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    }
  }
}
🟢register_agent(name, nanoAddress, contactEmail, homepageUrl, callbackUrl)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "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"
    },
    "contactEmail": {
      "description": "Optional contact email for order issues",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "homepageUrl": {
      "description": "Optional homepage describing the agent",
      "type": [
        "string",
        "null"
      ],
      "default": null
    },
    "callbackUrl": {
      "description": "Optional webhook URL; Nagora POSTs signed order state-change events to it",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "name",
    "nanoAddress"
  ]
}
🟢confirm_delivery(orderId, apiKey)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "orderId": {
      "description": "Order ID to confirm",
      "type": "string",
      "format": "uuid"
    },
    "apiKey": {
      "description": "Agent API key (nag_agt_...). Omit when connected with an Authorization header",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "orderId"
  ]
}
🟢get_order(orderId, apiKey)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "orderId": {
      "description": "Order ID returned by create_purchase",
      "type": "string",
      "format": "uuid"
    },
    "apiKey": {
      "description": "Agent API key (nag_agt_...). Omit when connected with an Authorization header",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "orderId"
  ]
}
🟢whoami(apiKey)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "apiKey": {
      "description": "Agent API key (nag_agt_...). Omit when connected with an Authorization header",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  }
}
🟢get_receipt(orderId, apiKey)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "orderId": {
      "description": "Order ID to fetch the receipt for",
      "type": "string",
      "format": "uuid"
    },
    "apiKey": {
      "description": "Agent API key (nag_agt_...). Omit when connected with an Authorization header",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "orderId"
  ]
}
🟡create_purchase(listingId, quantity, deliveryOptionId, variantId, shippingAddress, ...)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "listingId": {
      "description": "Listing to purchase",
      "type": "string",
      "format": "uuid"
    },
    "quantity": {
      "description": "Quantity, default 1",
      "type": "integer",
      "default": 1
    },
    "deliveryOptionId": {
      "description": "Delivery option ID from get_listing, when the listing offers several",
      "type": [
        "integer",
        "null"
      ],
      "default": null
    },
    "variantId": {
      "description": "Variant ID from get_listing, when the listing has variants",
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "default": null
    },
    "shippingAddress": {
      "description": "Required for physical delivery; omit for digital listings",
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "fullName": {
          "type": [
            "string",
            "null"
          ]
        },
        "line1": {
          "type": [
            "string",
            "null"
          ]
        },
        "line2": {
          "type": [
            "string",
            "null"
          ]
        },
        "city": {
          "type": [
            "string",
            "null"
          ]
        },
        "state": {
          "type": [
            "string",
            "null"
          ]
        },
        "postalCode": {
          "type": [
            "string",
            "null"
          ]
        },
        "countryCode": {
          "type": [
            "string",
            "null"
          ]
        },
        "phone": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "fullName",
        "line1",
        "line2",
        "city",
        "state",
        "postalCode",
        "countryCode",
        "phone"
      ],
      "default": null
    },
    "quotedTotalNano": {
      "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"
      ],
      "default": null
    },
    "apiKey": {
      "description": "Agent API key (nag_agt_...). Omit when connected with an Authorization header",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "listingId"
  ]
}
🟢get_listing(listingId)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "listingId": {
      "description": "Listing ID from search_listings",
      "type": "string",
      "format": "uuid"
    }
  },
  "required": [
    "listingId"
  ]
}
🔴cancel_order(orderId, apiKey)

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.

입력 스키마

{
  "type": "object",
  "properties": {
    "orderId": {
      "description": "Order ID to cancel",
      "type": "string",
      "format": "uuid"
    },
    "apiKey": {
      "description": "Agent API key (nag_agt_...). Omit when connected with an Authorization header",
      "type": [
        "string",
        "null"
      ],
      "default": null
    }
  },
  "required": [
    "orderId"
  ]
}

권장 프롬프트

search_research
Search for information about [topic] using Nagora
예상 도구: search_listings
find_specific
Find [specific item] using Nagora
예상 도구: search_listings
retrieve_data
Get details about [item] from Nagora
예상 도구: get_order
fetch_info
Fetch [information type] using Nagora
예상 도구: get_order
list_items
List all [items] available in Nagora
예상 도구: search_listings

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 9개
검증됨버전이 기록되지 않음도구 9개