Server data from the Official MCP Registry
OpenSea NFT collection data via NFT Data API, paid per request with x402.
About
OpenSea NFT collection data via NFT Data API, paid per request with x402.
Security Report
Valid MCP server (2 strong, 4 medium validity signals). 3 known CVEs in dependencies (0 critical, 2 high severity) Package registry verified. Imported from the Official MCP Registry.
6 files analyzed · 4 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: EVM_PRIVATE_KEY
Environment variable: NFTDATA_MAX_REQUESTS
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-nomad07-nftdata-mcp": {
"env": {
"EVM_PRIVATE_KEY": "your-evm-private-key-here",
"NFTDATA_MAX_REQUESTS": "your-nftdata-max-requests-here"
},
"args": [
"-y",
"nftdata-mcp"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub 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.
- npm: https://www.npmjs.com/package/nftdata-mcp
- MCP Registry: https://registry.modelcontextprotocol.io/?q=nftdata
- NFT Data GitHub: https://github.com/Nomad07/nft-data
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):
{
"mcpServers": {
"nftdata": {
"command": "npx",
"args": ["-y", "nftdata-mcp@1.0.3"],
"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:
-
Open a new conversation.
-
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.
-
When Claude asks for a collection slug, enter an example slug such as:
azukiYou can use the slug of any existing NFT collection instead.
-
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
| Field | Value |
|---|---|
| Name | Azuki |
| Slug | azuki |
| Chain | Ethereum |
| Contract | 0xed5af388653567af2f388e6224dc7c4b3241c544 |
| Created | January 12, 2022 |
| Total supply | 10,000 |
| Unique owners | 4,394 |
| Floor price | 0.4933 ETH |
Market activity
| Period | Sales | Volume |
|---|---|---|
| 24 hours | 21 | 10.15 ETH |
| 7 days | 163 | 96.68 ETH |
| 30 days | 471 | 325.72 ETH |
| Lifetime | 93,156 | 831,992.65 ETH |
Payment
| Field | Value |
|---|---|
| Cost | $0.002 |
| Protocol | x402 |
| Transaction | 0x4fb3...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
{ "collection": "azuki" }
{
"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
| Product | Payment Protocols | Payment Networks |
|---|---|---|
| NFT Data (website/API) | x402 and MPP | x402 - Base and Solana; MPP - Base |
| NFT Data (MCP server) | x402 | Base |
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:
- The server sends the API request.
- The API responds with HTTP 402 and a payment challenge.
- 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
- Scheme:
- If everything matches, the wallet signs and submits the payment.
- 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
| Variable | Required | Default | Description |
|---|---|---|---|
EVM_PRIVATE_KEY | yes | - | Private key (0x + 64 hex chars) of the wallet that pays for calls |
NFTDATA_MAX_REQUESTS | no | 100 | Max signed payments per session. Integer 1–1000; any other value stops startup with an error |
NFTDATA_TIMEOUT_MS | no | 15000 | Request timeout in milliseconds (1000–60000) |
NFTDATA_URL | no | https://www.nftdata.app/api/get-collection-data | Accepts only the official NFT Data endpoint; anything else stops startup |
Behavior
- Sends
POST /api/get-collection-datawith 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
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
To use a local checkout with Claude Desktop, set "command": "npx" and "args": ["tsx", "/absolute/path/to/nftdata-mcp/server.ts"].
Build and test
npm run build # compiles to dist/
npm test # offline unit tests, no network and no payments
Links
- NFT Data website
- NFT Data API docs
- NFT Data OpenAPI spec
- x402 protocol docs
- BaseScan
- nftdata-mcp on npm
- nftdata-mcp in the MCP Registry
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_TOinlib.tsand 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.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Rea
Freeby Morluto · Developer Tools
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Paperclip
Freeby Paperclipai · Developer Tools
Trending hip-hop artist momentum scores across four cultural dimensions.
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
