io.github.Nomad07/nftdata-mcp

Registre officiel Autres

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

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

NPM package nftdata-mcp
Claude Code
claude mcp add nftdata-mcp -e 'EVM_PRIVATE_KEY=<your evm_private_key>' -e 'NFTDATA_MAX_REQUESTS=<NFTDATA_MAX_REQUESTS>' -- npx -y nftdata-mcp@1.0.3
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "nftdata-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "nftdata-mcp@1.0.3"
            ],
            "env": {
                "EVM_PRIVATE_KEY": "<your evm_private_key>",
                "NFTDATA_MAX_REQUESTS": "<NFTDATA_MAX_REQUESTS>"
            }
        }
    }
}

Variables d'environnement

  • EVM_PRIVATE_KEY obligatoire secret Private key of a dedicated wallet holding a small amount of USDC on Base. Pays $0.002 per request via x402.
  • NFTDATA_MAX_REQUESTS Maximum signed payments per session (integer 1-1000, default 100).

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. nftdata-mcp
  2. Tool
  3. Requirements
  4. Quick start (npx)
  5. Run from source
  6. Build
  7. Configuration
  8. Behavior
  9. Limitations
  10. API reference

nftdata-mcp

An MCP server that exposes the NFT Data API to AI clients (Claude Desktop, Cursor, etc.) as a single tool. It handles the x402 payment flow automatically.

Tool

get_collection_data

Returns OpenSea collection market data in one call.

ParameterTypeDescription
collectionstringOpenSea collection slug, from opensea.io/collection/<slug> (e.g. azuki)

Returned fields: name, slug, contracts, floor_price, floor_price_currency, one_day_sales, one_day_volume, seven_day_sales, seven_day_volume, thirty_day_sales, thirty_day_volume, total_sales, total_volume, num_owners, total_supply, created_date. Volume and price currencies are given in the matching *_currency fields (ETH, USDC, HYPE, ...).

Each call costs $0.002 (USDC on Base, paid via x402).

Requirements

  • Node.js 20+
  • A wallet private key funded with a small amount of USDC on Base

Use a dedicated wallet with only a small balance. Never use your main wallet.

Quick start (npx)

Works only after the package has been published to npm. Until then, use "Run from source" below.

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "nftdata": {
      "command": "npx",
      "args": ["-y", "nftdata-mcp"],
      "env": {
        "EVM_PRIVATE_KEY": "0x..."
      }
    }
  }
}

Restart Claude Desktop, then ask for example: "What is the floor price and 7-day volume of azuki?"

If the package is published under a scope, use that name instead (e.g. @your-scope/nftdata-mcp).

Run from source

npm install

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

# macOS / Linux
export EVM_PRIVATE_KEY=0x...
npm start
# Windows PowerShell
$env:EVM_PRIVATE_KEY = "0x..."
npm start
:: Windows cmd
set EVM_PRIVATE_KEY=0x...
npm start

The server waits for an MCP client on stdin, so running it by hand just shows no output; it is meant to be launched by an MCP client.

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

Build

npm run build   # compiles server.ts and lib.ts to dist/
npm test        # offline unit tests, no network and no payments

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 (www.nftdata.app or nftdata.app); 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.
  • Only Base mainnet (eip155:8453) is registered with the x402 client. Before signing, every payment challenge is checked: scheme exact, network Base mainnet, token USDC on Base, amount at most 2000 units ($0.002), and recipient (must be 0x344143199642e87320785823c20c2df107d17534). Anything else is refused without signing.
  • 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.
  • Caches successful responses for 5 minutes per slug. Concurrent identical calls share a single in-flight request.
  • Returns generic errors for 400 (invalid slug), 404 (collection not found), 429 (rate limit, with Retry-After), timeouts and other failures; server and payment details are not passed to the MCP client.

Limitations

  • Only x402 on Base is supported. Solana and MPP payment methods are not implemented in this wrapper.
  • The expected recipient address is hardcoded in lib.ts. If the NFT Data payout address ever changes, update OFFICIAL_PAY_TO and release a new version.
  • The payment hook (server.ts) depends on the installed @x402/* SDK and is not covered by the offline tests.
  • The x402 client libraries change quickly; if imports fail, check the current x402 docs.

API reference

Questions fréquentes

Qu'est-ce que io.github.Nomad07/nftdata-mcp ?

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

Comment installer io.github.Nomad07/nftdata-mcp ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add nftdata-mcp -e 'EVM_PRIVATE_KEY=<your evm_private_key>' -e 'NFTDATA_MAX_REQUESTS=<NFTDATA_MAX_REQUESTS>' -- npx -y nftdata-mcp@1.0.3. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour io.github.Nomad07/nftdata-mcp ?

Oui. Il attend EVM_PRIVATE_KEY, à renseigner dans sa configuration.

io.github.Nomad07/nftdata-mcp est-il open source ?

Oui. Son code est sur GitHub sous licence MIT.

Qui maintient io.github.Nomad07/nftdata-mcp ?

Il est publié par Nomad07. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.