Nftdata MCP
OpenSea NFT data, paid per request in USDC on Base via x402 (default) or MPP.
Description from the maker (original English)
Nano cryptocurrency operations wallet, balance, transactions via MCP
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://nano-mcp.replit.appRun this in your terminal
claude mcp add --transport http nano https://nano-mcp.replit.appPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"nano": {
"url": "https://nano-mcp.replit.app"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"nano": {
"type": "http",
"url": "https://nano-mcp.replit.app"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://nano-mcp.replit.appMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
The server did not answer when we last checked, so we could not read its tools.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified with the GitHub account dhyabi2, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Did not respond within 6 seconds when we checked
Did not respond within 6 seconds when we checked
Not checked yet; we read the tool list when we check the endpoint
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 2 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.5.1) reached the registry 7 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Nftdata MCP, onchaincheck, Bvcc Agent Wallet
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
OpenSea NFT data, paid per request in USDC on Base via x402 (default) or MPP.
100+ pay-per-call tools: token risk, wallet sanctions screening, onchain data, web, company, AI
Non-custodial BVCC Agent Wallet on-chain for AI agents: balances, transfers, approvals, swaps.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
For AI Agents: This server is designed specifically for autonomous agents. All errors are self-documenting with step-by-step guidance. No external documentation needed.
USE THIS URL: https://nano-mcp.replit.app
All requests go to: https://nano-mcp.replit.app (POST requests with JSON-RPC 2.0 format)
Quick Example:
curl -X POST https://nano-mcp.replit.app \
-H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"initialize","params":{},"id":1}'
Server URL: https://nano-mcp.replit.app
No installation needed! The server is already running. Just start making requests.
POST https://nano-mcp.replit.app
{ "jsonrpc": "2.0", "method": "initialize", "params": {}, "id": 1 }
The server responds with all available methods. Start using them immediately.
🎯 No documentation reading required! Fetch the complete JSON Schema and auto-generate your client code:
# Get complete JSON Schema with all 16 tools
GET https://nano-mcp.replit.app/schema
GET https://nano-mcp.replit.app/schema/typescript
GET https://nano-mcp.replit.app/openapi.json
.d.ts for type-safe clients# Get schema for specific tool
GET https://nano-mcp.replit.app/schema/tools/sendTransaction
GET https://nano-mcp.replit.app/schema/examples/generateWallet
POST https://nano-mcp.replit.app/schema/validate/sendTransaction { "fromAddress": "...", "toAddress": "...", "amountRaw": "...", "privateKey": "..." }
GET https://nano-mcp.replit.app/schema/category/transaction
GET https://nano-mcp.replit.app/schema/errors
// 1. Download TypeScript definitions
// curl https://nano-mcp.replit.app/schema/typescript > nano-mcp.d.ts
// 2. Import types import type { SendTransactionParams, SendTransactionResult } from './nano-mcp';
// 3. Use with full type safety const params: SendTransactionParams = { fromAddress: "nano_...", toAddress: "nano_...", amountRaw: "1000000000000000000000000000", privateKey: "..." }; // TypeScript validates all fields!
📖 Complete Guide: See docs/JSON_SCHEMA_AI_AGENT_GUIDE.md for detailed schema integration patterns.
⏱️ Estimated Integration Time: 5 minutes (vs. hours of documentation reading)
If you need to run locally for development:
cd NANO_MCP_SERVER
npm install npm start
Local server runs on: `http://localhost:8080`
Complete workflow in 5-6 calls, 30-60 seconds:
// STEP 1: Setup test wallets (1 call, < 1s)
POST https://nano-mcp.replit.app {"jsonrpc":"2.0","method":"setupTestWallets","params":{},"id":1} → Returns: wallet addresses + private keys
// STEP 2: Human funds both addresses (30-60s wait) // → Send 0.1+ NANO to each address
// STEP 3: Check BOTH wallets in parallel (2 calls, 4-6s) POST https://nano-mcp.replit.app {"jsonrpc":"2.0","method":"getAccountStatus","params":{"address":"wallet1_address"},"id":1} {"jsonrpc":"2.0","method":"getAccountStatus","params":{"address":"wallet2_address"},"id":2} → Returns: balance, pending blocks, needsAction
// STEP 4: Follow needsAction automatically (2 calls, 16-24s) POST https://nano-mcp.replit.app {"jsonrpc":"2.0","method":"initializeAccount","params":{"address":"wallet1","privateKey":"key1"},"id":1} {"jsonrpc":"2.0","method":"initializeAccount","params":{"address":"wallet2","privateKey":"key2"},"id":2} → Returns: initialized confirmation
// STEP 5: Send transaction (1 call, 10-15s) POST https://nano-mcp.replit.app {"jsonrpc":"2.0","method":"sendTransaction","params":{ "fromAddress":"wallet1", "toAddress":"wallet2", "amountRaw":"50000000000000000000000000", "privateKey":"key1" },"id":1} → Returns: transaction hash
// DONE! ✅ Total: 6 calls, ~60 seconds (including human wait)
| Function | Expected Time | Recommended Timeout |
|---|---|---|
| setupTestWallets | < 1s | 5s |
| getAccountStatus | 1-3s | 10s |
| initializeAccount | 8-60s (varies) | 60s |
| sendTransaction | 10-60s (varies) | 60s |
| receiveAllPending | 5-60s per block | 60s |
| convertBalance | < 500ms | 5s |
| generateQrCode | < 2s | 10s |
⚠️ CRITICAL: Work Generation Performance
Proof-of-Work (PoW) generation time varies significantly by system:
If experiencing timeouts:
1. Don't call `getBalance` then `getAccountStatus`
// ❌ INEFFICIENT: 2 calls, 4-6s
await call('getBalance', {address}) // Returns: balance, pending await call('getAccountStatus', {address}) // Returns: balance, pending + more
// ✅ EFFICIENT: 1 call, 2-3s await call('getAccountStatus', {address}) // Returns: everything you need
2. Don't call `checkTestWalletsFunding` repeatedly
// ❌ INEFFICIENT: Shows 0 until manually updated
await call('checkTestWalletsFunding') // Returns: bothFunded: false await call('checkTestWalletsFunding') // Still false (not auto-updating)
// ✅ EFFICIENT: Check blockchain directly await call('getAccountStatus', {address}) // Shows pending blocks immediately
3. Don't set short timeouts on transactions
// ❌ FAILS: Work generation takes 10-15 seconds
await call('sendTransaction', {...}, {timeout: 5000}) // Times out!
// ✅ WORKS: Proper timeout await call('sendTransaction', {...}, {timeout: 30000}) // Completes successfully
4. Don't test functions sequentially when independent
// ❌ SLOW: 6 seconds total
await call('getAccountStatus', {address: wallet1}) // 3s await call('getAccountStatus', {address: wallet2}) // 3s
// ✅ FAST: 3 seconds total await Promise.all([ call('getAccountStatus', {address: wallet1}), call('getAccountStatus', {address: wallet2}) ]) // Both in 3s
| Metric | Inefficient | Optimized | Improvement |
|---|---|---|---|
| Total Calls | 10-12 | 5-6 | 40-50% ↓ |
| Total Tokens | 10,000-15,000 | 5,000-7,000 | 50% ↓ |
| Total Time | 60-90s | 30-60s | 40% ↓ |
| Decision Points | 5-6 | 1-2 | 70% ↓ |
Result: Faster integration, lower costs, fewer errors.
NANO MCP Server provides JSON-RPC 2.0 API for NANO cryptocurrency operations with:
NANO Cryptocurrency Features:
initialize - Get server capabilities and all available functionsgenerateWallet - Create new NANO walletgetBalance - Check account balancegetAccountInfo - Get detailed account datagetPendingBlocks - List pending transactionsinitializeAccount - Open/activate new accountsendTransaction - Send NANO (with enhanced errors)receiveAllPending - Receive all pending blocksgenerateQrCode - Create payment QR code with base64 PNGsetupTestWallets - Generate two test wallets (requires human funding)getTestWallets - Retrieve test wallet infoupdateTestWalletBalance - Update wallet balance trackingcheckTestWalletsFunding - Check if wallets are readyresetTestWallets - Delete and start fresh// Step 1: Check account status first (ALWAYS DO THIS)
POST https://nano-mcp.replit.app { "jsonrpc": "2.0", "method": "getAccountStatus", "params": { "address": "nano_your_address" }, "id": 1 }
// Response shows: // - initialized: true/false // - balance: {raw, nano} // - pending: {count, amount} // - needsAction: [array of required actions] // - readyForTesting: true/false
// Step 2: Handle any required actions // If needsAction includes "initializeAccount": { "jsonrpc": "2.0", "method": "initializeAccount", "params": { "address": "nano_your_address", "privateKey": "your_private_key" }, "id": 2 }
// If needsAction includes "receiveAllPending": { "jsonrpc": "2.0", "method": "receiveAllPending", "params": { "address": "nano_your_address", "privateKey": "your_private_key" }, "id": 3 }
// Step 3: Convert amount to raw units { "jsonrpc": "2.0", "method": "convertBalance", "params": { "amount": "0.1", "from": "nano", "to": "raw" }, "id": 4 } // Returns: {"converted": "100000000000000000000000000000"}
// Step 4: Send transaction { "jsonrpc": "2.0", "method": "sendTransaction", "params": { "fromAddress": "nano_sender", "toAddress": "nano_recipient", "amountRaw": "100000000000000000000000000", "privateKey": "sender_private_key" }, "id": 5 }
// Success: {"success": true, "hash": "..."} // Error: Detailed error with nextSteps (see Error Handling section)
Only the beginning is shown; read the rest in the repo