Nftdata Mcp

io.github.Nomad07由 GitHub 帳號 Nomad07 發布v1.0.3更新於 Nov 1, 2026

OpenSea NFT collection data via NFT Data API, paid per request with x402.

已驗證STDIO僅桌面金融AI 與機器學習

概覽

AI 產生的概覽

本機 MCP 伺服器,透過 x402 每次請求支付 0.002 美元 USDC(Base 鏈),取得 30 多條鏈上的 OpenSea NFT 合集資料。

可以做什麼
  • 透過單一工具 get_collection_data,依 OpenSea slug 或合集名稱查詢 NFT 合集資料
  • 回傳地板價、24 小時/7 天/30 天及歷史成交筆數與成交額,以及持有人數、供給量、合約地址和建立日期
  • 每次付費回應附上付款交易雜湊與區塊瀏覽器驗證連結
  • 同一 slug 的結果快取五分鐘,同時進行的相同呼叫共用一次請求
適用情境
當助理需要某個 NFT 合集的即時市場統計,且你願意用已儲值的錢包按次支付小額費用時適用,例如產生合集報告或跨鏈比較。
執行需求
以 stdio 在本機執行,通常透過 npx 啟動 npm 套件,需要 Node.js 20 或更新版本。需要一個在 Base 主網持有少量 USDC 的專用錢包,透過環境變數 EVM_PRIVATE_KEY 提供。選用設定:NFTDATA_MAX_REQUESTS、NFTDATA_TIMEOUT_MS、NFTDATA_URL。需要連線至 NFT Data API 的網路存取。
安裝前請注意
伺服器持有錢包私鑰(EVM_PRIVATE_KEY),並會在 Base 主網自動簽署真實 USDC 付款,務必使用僅有少量餘額的專用錢包,切勿使用主要錢包。每次已簽署的付款都會計入 NFTDATA_MAX_REQUESTS,即使請求之後失敗或逾時;不會自動重試,因此逾時也可能已經產生費用。合集 slug 與查詢內容會傳送給第三方 NFT Data API。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Nftdata Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

NFT Data MCP

A multichain NFT data MCP server that gives AI assistants, agents, and other MCP-compatible clients access to the NFT Data API through a single tool: get_collection_data.

Compatible with Claude Desktop and other MCP-compatible applications, AI agents, and clients, including future clients that support the Model Context Protocol (MCP).

Each API request is paid automatically at $0.002 in USDC on Base using the x402 payment protocol.

Retrieve NFT collection data across 30+ blockchain networks through the NFT Data API's OpenSea integration, including Ethereum, Base, Ink, Arc, HyperEVM, Robinhood Chain, Solana, and more.


Prerequisites

  • Node.js 20 or newer (required by the x402 SDK)
  • A dedicated wallet funded with a small amount of USDC on Base mainnet

Always use a dedicated wallet with only a small balance. Never use your primary wallet or share its private key.


Claude Desktop setup

Add the following block to claude_desktop_config.json (usually found in ~/Library/Application Support/Claude/ on macOS or %APPDATA%\Claude\ on Windows):

json
{  "mcpServers": {    "nftdata": {      "command": "npx",      "args": ["-y", "[email protected]"],      "env": {        "EVM_PRIVATE_KEY": "YOUR_EVM_PRIVATE_KEY"      }    }  }}

Replace YOUR_EVM_PRIVATE_KEY with the private key of your dedicated wallet (0x followed by 64 hex characters). Then restart Claude Desktop.

The server communicates over stdio and is launched automatically by Claude Desktop. Running it by hand shows no output; it waits for an MCP client to connect.


First query

After restarting Claude Desktop:

  1. Open a new conversation.

  2. To make sure Claude selects the right server when you have multiple MCP servers configured, start with an explicit request:

    Use the NFT Data MCP server.

  3. When Claude asks for a collection slug, enter an example slug such as:

    azuki

    You can use the slug of any existing NFT collection instead.

  4. Continue with natural follow-up questions. If Claude does not use the NFT Data server, ask it explicitly to do so.

You can also ask directly by collection name or OpenSea slug. Claude will retrieve the latest collection statistics, including floor price, sales volume, owner count, supply, and lifetime metrics. Each successful request includes a payment transaction hash and a BaseScan verification link.


Example: Azuki collection report

The following is an example response from one query. Market data changes continuously; these values are from a specific query and are not current live data.

Collection overview

FieldValue
NameAzuki
Slugazuki
ChainEthereum
Contract0xed5af388653567af2f388e6224dc7c4b3241c544
CreatedJanuary 12, 2022
Total supply10,000
Unique owners4,394
Floor price0.4933 ETH

Market activity

PeriodSalesVolume
24 hours2110.15 ETH
7 days16396.68 ETH
30 days471325.72 ETH
Lifetime93,156831,992.65 ETH

Payment

FieldValue
Cost$0.002
Protocolx402
Transaction0x4fb3...580f8

Customize your results

The server supplies the underlying collection data returned by the API. Claude can organize that information in the format you prefer, from a concise summary to a detailed report, tables, or comparisons. Simply ask Claude how you want the results presented. This changes the presentation, not the source values.


Raw request and response

Claude Desktop may show the tool request and returned data through its tool-activity details (the exact label varies by client version).

Tool request

json
{ "collection": "azuki" }
Full raw response
json
{  "name": "Azuki",  "slug": "azuki",  "contracts": [    {      "address": "0xed5af388653567af2f388e6224dc7c4b3241c544",      "chain": "ethereum"    }  ],  "floor_price": 0.49328599,  "floor_price_currency": "ETH",  "one_day_sales": 21,  "one_day_volume": 10.150091000000002,  "seven_day_sales": 163,  "seven_day_volume": 96.67526161112121,  "thirty_day_sales": 471,  "thirty_day_volume": 325.72023569476767,  "total_sales": 93156,  "total_volume": 831992.6461159982,  "num_owners": 4394,  "total_supply": 10000,  "created_date": "2022-01-12",  "one_day_volume_currency": "ETH",  "seven_day_volume_currency": "ETH",  "thirty_day_volume_currency": "ETH",  "total_volume_currency": "ETH"}

Raw floating-point values have more decimal places than the rounded values in the report above.

Payment verification

Transaction hash: 0x4fb35acc31a9f6841647ca2533a7f9ac7113f54364e979b8de4786bf1de580f8

Verify on BaseScan: https://basescan.org/tx/0x4fb35acc31a9f6841647ca2533a7f9ac7113f54364e979b8de4786bf1de580f8


Data networks vs. payment network

Payment Protocols and Supported Networks

ProductPayment ProtocolsPayment Networks
NFT Data (website/API)x402 and MPPx402 - Base and Solana; MPP - Base
NFT Data (MCP server)x402Base

Note: The NFT Data website/API and the NFT Data MCP server have different payment capabilities. The MCP server currently supports x402 payments on Base only; MPP support is not implemented in this package.

Data network refers to the blockchain where an NFT collection exists. NFT Data is a multichain service supporting NFT collections across 30+ blockchain networks through the NFT Data API's OpenSea integration, including Ethereum, Base, Ink, Arc, HyperEVM, Robinhood Chain, and Solana, among others. OpenSea continues to expand its supported blockchain networks, so coverage may grow over time. The data network is independent of the payment network used to pay for API requests.

Payment network refers to the blockchain used to pay for each API request. This server pays on Base mainnet only, using USDC via x402, regardless of which chain the queried collection is on.


x402 and payment verification

Each request is paid automatically using the x402 protocol over Base mainnet. The payment flow:

  1. The server sends the API request.
  2. The API responds with HTTP 402 and a payment challenge.
  3. Before signing, the server validates the challenge:
    • Scheme: exact
    • Network: Base mainnet (eip155:8453)
    • Token: USDC on Base (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913)
    • Amount: exactly 2000 atomic units ($0.002)
    • Recipient: 0x344143199642e87320785823c20c2df107d17534
  4. If everything matches, the wallet signs and submits the payment.
  5. The API fulfills the request and returns the collection data along with the on-chain transaction hash.

Every successful response includes:

Payment: 0x...Verify: https://basescan.org/tx/0x...

This server supports x402 on Base only. Solana and MPP payment methods are not implemented.


Configuration

VariableRequiredDefaultDescription
EVM_PRIVATE_KEYyes-Private key (0x + 64 hex chars) of the wallet that pays for calls
NFTDATA_MAX_REQUESTSno100Max signed payments per session. Integer 1–1000; any other value stops startup with an error
NFTDATA_TIMEOUT_MSno15000Request timeout in milliseconds (1000–60000)
NFTDATA_URLnohttps://www.nftdata.app/api/get-collection-dataAccepts only the official NFT Data endpoint; anything else stops startup

Behavior

  • Sends POST /api/get-collection-data with body {"collection": "<slug>"}.
  • The slug is trimmed and lowercased, then must match ^[a-z0-9][a-z0-9_-]*$ (max 100 characters); otherwise no request is made.
  • Each signed payment counts against NFTDATA_MAX_REQUESTS, including payments for requests that later fail or time out.
  • No automatic retries: one tool call makes at most one payment attempt.
  • Successful responses are cached for 5 minutes per slug. Concurrent identical calls share a single in-flight request.
  • Cache hits do not include a payment transaction hash (no new payment was made).
  • Returns generic errors for 400 (invalid slug), 404 (collection not found), 429 (rate limit, with retry delay), timeouts, and other failures. Server and payment details are not exposed to the MCP client.

Troubleshooting

Server does not appear in Claude Desktop Verify the claude_desktop_config.json path, check for JSON syntax errors, and restart Claude Desktop fully.

EVM_PRIVATE_KEY is missing or malformed The key must be 0x followed by exactly 64 hex characters. Check for extra whitespace or a missing 0x prefix.

paid request limit ... reached The session has reached NFTDATA_MAX_REQUESTS. Restart Claude Desktop to reset the counter, or set a higher limit.

Request timed out A payment may have been signed before the timeout. The server does not retry automatically.

Imports fail after an SDK update The x402 SDK changes frequently. Check the x402 docs and the nftdata-mcp changelog for the latest compatible version.


Run from source

bash
npm install

Set the key for the current shell session only, then start:

bash
# macOS / Linuxexport EVM_PRIVATE_KEY=0x...npm start
powershell
# Windows PowerShell$env:EVM_PRIVATE_KEY = "0x..."npm start
bat
:: Windows cmdset EVM_PRIVATE_KEY=0x...npm start

To use a local checkout with Claude Desktop, set "command": "npx" and "args": ["tsx", "/absolute/path/to/nftdata-mcp/server.ts"].


Build and test

bash
npm run build   # compiles to dist/npm test        # offline unit tests, no network and no payments

Links


Limitations

  • Only x402 on Base mainnet is supported for payments. Solana and MPP are not implemented.
  • The expected recipient address is hardcoded. If the NFT Data payout address changes, update OFFICIAL_PAY_TO in lib.ts and release a new version.
  • The payment hook depends on the installed @x402/* SDK and is not covered by the offline unit tests.
  • The x402 SDK changes quickly. If imports fail, check the x402 docs.

來源:README.md,提交 44f6284

工具

0
SourceWeft 曾在隔離沙箱中以無憑證方式啟動該軟體包一次,以列出其工具,但未能完成:伺服器未能啟動。

版本歷史

3
  1. v1.0.3最新Nov 1, 2026
  2. v1.0.1Oct 31, 2026
  3. v1.0.0Oct 29, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分