
NANO MCP
io.github.dhyabi2由 GitHub 账号 dhyabi2 发布v1.5.1更新于 Nov 3, 2026
Nano 加密货币操作钱包、余额、交易,通过 MCP 实现
AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。
原文描述
Nano cryptocurrency operations wallet, balance, transactions via MCP
发布方自己的服务:Vend Api Merchant
概览
NANO 的托管 MCP 服务(nano-mcp.replit.app);无需登录;Streamable HTTP。
暂无 AI 概览:以下信息来自注册中心条目和服务本身。
- 端点
- nano-mcp.replit.app
- 最近检查
安装
在 SourceWeft 中
- 打开 控制台中的 NANO MCP,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
交给智能体安装
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.dhyabi2%2Fnano-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。其他 MCP 客户端
把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"nano": {
"type": "http",
"url": "https://nano-mcp.replit.app/"
}
}
}README
NANO MCP Server - AI Agent Integration Guide
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.
🌐 Production Server URL
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:
🤖 Quick Start for AI Agents
Production Server (RECOMMENDED)
Server URL: https://nano-mcp.replit.app
No installation needed! The server is already running. Just start making requests.
Step 1: Test Connection
Step 2: You're Ready!
The server responds with all available methods. Start using them immediately.
🔍 JSON Schema Auto-Discovery (NEW!)
Zero-Shot Integration for AI Agents
🎯 No documentation reading required! Fetch the complete JSON Schema and auto-generate your client code:
Schema Features
- ✅ Input/Output Schemas - Full JSON Schema with validation patterns
- ✅ Ready-to-Use Examples - Copy-paste examples for every tool
- ✅ Type Definitions - TypeScript
.d.tsfor type-safe clients - ✅ Parameter Validation - Regex patterns for addresses, keys, amounts
- ✅ Error Schemas - All 29 error codes with handling guidance
- ✅ Performance Notes - Expected durations and timeout recommendations
- ✅ Prerequisites - Dependency information for each operation
Quick Schema Usage
Code Generation Example
📖 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)
Local Development (Optional)
If you need to run locally for development:
Local server runs on: http://localhost:8080
⚡ Fastest Integration Path (AI Agents: START HERE)
Complete workflow in 5-6 calls, 30-60 seconds:
⏱️ Expected Response Times
⚠️ CRITICAL: Work Generation Performance
Proof-of-Work (PoW) generation time varies significantly by system:
- Fast systems: 10-15 seconds
- Slower systems: 30-60 seconds
- ALWAYS set 60-second timeout minimum for transaction functions (initializeAccount, sendTransaction, receiveAllPending)
If experiencing timeouts:
- Increase timeout to 90-120 seconds
- Check system CPU availability
- Don't retry immediately - work might still be processing
- Check account status after timeout - transaction may have completed
❌ DON'T Do These (Time Wasters)
1. Don't call getBalance then getAccountStatus
2. Don't call checkTestWalletsFunding repeatedly
3. Don't set short timeouts on transactions
4. Don't test functions sequentially when independent
💡 Pro Tips for AI Agents
- Use
getAccountStatusfor everything - It replaces getBalance, getAccountInfo, getPendingBlocks - Follow
needsActionarray - Auto-recovery without trial-and-error - Batch independent calls - Use Promise.all or batch requests
- Set generous timeouts - 60s minimum for transactions (system performance varies)
- Save setupTestWallets response - Don't call getTestWallets unless retrieving
- Don't retry on timeout - Check account status first, transaction may have completed
- Expect work generation variability - 10-60s depending on system load
📊 Optimization Impact
Result: Faster integration, lower costs, fewer errors.
🎯 What This Server Does
NANO MCP Server provides JSON-RPC 2.0 API for NANO cryptocurrency operations with:
- ✅ Self-documenting errors - Every error tells you exactly what to do next
- ✅ Helper functions - Convert units, check account status automatically
- ✅ Test wallet system - Generate and manage test wallets for development
- ✅ No external docs needed - All information in API responses
NANO Cryptocurrency Features:
- Instant transactions (< 1 second)
- Zero fees
- Eco-friendly (minimal energy)
- Perfect for automated AI systems
📋 Available MCP Functions (17 Total)
Initialization (1)
initialize- Get server capabilities and all available functions
Core Functions (8)
generateWallet- 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 PNG
Helper Functions (3) - For Autonomous Agents
convertBalance- Convert NANO ↔ raw unitsgetAccountStatus- One call shows: balance, pending, capabilities, what actions needednanoConverterHelp- NEW! Comprehensive guide for Nano (XNO) conversions, formats, and number handling (essential for clients unfamiliar with Nano)
Test Wallet Functions (5) - For Development
setupTestWallets- 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
🚀 Complete Workflow for AI Agents
Workflow: Send NANO Transaction
⚡ Quick Reference: Common Tasks
Task 1: Generate New Wallet
Returns: address, privateKey, publicKey, seed
Task 2: Check Balance
Returns: balance (raw), pending (raw)
Task 3: Convert Units
Returns: converted value with formula
Task 4: Check Account Readiness
Returns: Complete status + what to do next
🧠 Comprehensive Error Handling for AI Agents
✨ What Makes This Special
The NANO MCP Server has the most comprehensive, AI-agent-friendly error handling:
- 20+ specific error codes for programmatic handling
- Extensive input validation - addresses, private keys, amounts, all parameters
- Auto-detection of common mistakes (e.g., using NANO instead of raw)
- Suggested corrections - server calculates the correct value for you
- Step-by-step recovery - never get stuck on an error
- Zero external documentation needed - all info in the error response
Error Response Structure
All errors include:
errorCode- Machine-readable code (e.g., "INSUFFICIENT_BALANCE")error- Human-readable messagedetails- Specific context (what went wrong, expected format, etc.)nextSteps- Step-by-step remediation instructions (array)relatedFunctions- What functions can help solve thisexampleRequest- Copy-paste ready correct requestsuggestedCorrection- Auto-corrected values (when applicable)
📋 Complete Error Code List
Validation Errors:
MISSING_PARAMETER- Required parameter not providedMETHOD_NOT_FOUND- Invalid MCP method nameINVALID_ADDRESS_FORMAT- Address missing or wrong typeINVALID_ADDRESS_PREFIX- Address doesn't start with 'nano_' or 'xrb_'INVALID_ADDRESS_LENGTH- Address wrong lengthINVALID_ADDRESS_CHARACTERS- Address has invalid charactersINVALID_PRIVATE_KEY_FORMAT- Private key missing or wrong typeINVALID_PRIVATE_KEY_LENGTH- Private key not 64 charactersINVALID_PRIVATE_KEY_CHARACTERS- Private key not hexadecimalINVALID_AMOUNT_FORMAT- Amount missing or wrong typeAMOUNT_WRONG_UNIT- Smart detection: You used NANO instead of rawINVALID_AMOUNT_CHARACTERS- Amount has invalid charactersINVALID_AMOUNT_ZERO_OR_NEGATIVE- Amount must be positiveINVALID_AMOUNT_OVERFLOW- Amount too largeINVALID_CONVERSION_UNITS- Invalid 'from' or 'to' unitSAME_CONVERSION_UNITS- Cannot convert same unitINVALID_QR_AMOUNT_FORMAT- QR code amount format invalid
Blockchain Errors:
INSUFFICIENT_BALANCE- Not enough NANO to sendINSUFFICIENT_WORK- [CRITICAL] Work doesn't meet difficulty threshold (FIXED - just retry)ACCOUNT_NOT_INITIALIZED- Account needs to receive first transactionACCOUNT_NOT_INITIALIZED_NO_PENDING- Account has no pending blocksPENDING_BLOCKS_NOT_RECEIVED- Should receive pending firstBLOCKCHAIN_INVALID_BLOCK- Blockchain rejected blockBLOCKCHAIN_INSUFFICIENT_BALANCE- Blockchain balance check failedBLOCKCHAIN_ERROR- General blockchain operation errorCONVERSION_ERROR- Balance conversion failed
Example: Insufficient Balance Error
Request:
Error Response:
🎯 Smart Auto-Correction Example
You sent NANO instead of raw? The server auto-corrects for you!
Bad Request (NANO instead of raw):
Smart Error Response:
AI Agent Action:
Error Codes Quick Reference
📚 Complete Documentation
For detailed error handling guide: See docs/AI_AGENT_ERROR_HANDLING.md
Topics covered:
- All 29 error codes explained (including INSUFFICIENT_WORK)
- Smart auto-correction examples
- Decision trees for error recovery
- Best practices for AI agents
- Security considerations
- 100% validation coverage details
Decision Tree for Error Handling
🧪 Test Wallet System (For Development)
Quick Setup
Step 1: Generate Test Wallets
Response (Save These Addresses!):
⚠️ IMPORTANT - ACTION REQUIRED: HUMAN MUST FUND THESE WALLETS!
- Copy Wallet 1 Address:
nano_3h3m6kfckrxpc4t33jn36eu8smfpukwuq1zq4hy35dh4a7drs6ormhwhkncn - Copy Wallet 2 Address:
nano_39isqp67xsse8cj5igtonuiwicqy8p6txa57mbjd8bcyip7ggrai4bby1x1w - Send test NANO to BOTH addresses (0.1 NANO recommended per wallet)
- Use a NANO faucet or your own wallet to send test funds
- Wait for confirmation (usually < 5 seconds)
Step 2: Check Funding Status
Step 3: When Both Funded, Start Testing!
Response will show "bothFunded": true when ready.
Test Wallet Workflow
💡 Decision Tree: Complete Transaction Flow
📊 Unit Conversion (Important!)
NANO uses TWO units:
- NANO (decimal, e.g., "0.1") - Human-readable
- raw (integer string) - Blockchain uses this
Conversion:
- 1 NANO = 10³⁰ raw
- Always use raw for
amountRawparameter
Quick Reference:
Use convertBalance function:
🔧 Setup and Configuration
Installation
Environment Variables (Optional)
Testing
📚 Complete Function Reference
initialize
Purpose: Initialize the MCP server and get list of all available capabilities/functions Parameters: None Returns: Server information and list of all available MCP tools with their descriptions
Response includes:
protocolVersion- MCP protocol versionserverInfo- Server name and versioncapabilities- Server capabilitiestools- Complete list of all available MCP functions with descriptions and parameter schemas
Use Case: First call to discover what the server can do and what functions are available
generateWallet
Purpose: Create new NANO wallet
Parameters: None
Returns: address, privateKey, publicKey, seed
getBalance
Purpose: Check account balance
Parameters: address
Returns: balance (raw), pending (raw)
getAccountInfo
Purpose: Get detailed account information
Parameters: address
Returns: frontier, balance, representative, block_count, etc.
getPendingBlocks
Purpose: List pending (unreceived) transactions
Parameters: address
Returns: Object with pending blocks and amounts
initializeAccount
Purpose: Open/activate new account (first receive)
Parameters: address, privateKey
Returns: initialized, blockHash, balance, etc.
sendTransaction
Purpose: Send NANO to another address
Parameters: fromAddress, toAddress, amountRaw, privateKey
Returns: success, hash OR enhanced error
receiveAllPending
Purpose: Receive all pending transactions
Parameters: address, privateKey
Returns: Array of received blocks
generateQrCode
Purpose: Generate payment QR code for receiving NANO Parameters:
address(string, required) - NANO address to receive paymentamount(string, optional) - Amount in NANO (decimal format, e.g., "0.1")
Returns:
qrCode(string) - Base64 encoded PNG imagepaymentString(string) - NANO URI for payment (nano:address?amount=...)address(string) - The NANO addressamount(string) - The amount in NANO (if provided)
Example Request:
Example Response:
Use Cases:
- Display QR code in web/mobile apps for payment collection
- Generate payment links for invoicing
- Create shareable payment requests
- The
qrCodecan be directly embedded in HTML:<img src="data:image/png;base64,..." /> - The
paymentStringcan be used as a clickable link or deep link for NANO wallets
convertBalance (Helper)
Purpose: Convert between NANO and raw units
Parameters: amount, from ("nano"/"raw"), to ("nano"/"raw")
Returns: converted, formula
getAccountStatus (Helper)
Purpose: Comprehensive account readiness check
Parameters: address
Returns: initialized, balance, pending, capabilities, needsAction, recommendations
nanoConverterHelp (Helper) - NEW!
Purpose: Get comprehensive help for Nano (XNO) conversion utilities and number formats Parameters: None Returns: Conversion formulas, examples, common mistakes, best practices, and utility function documentation
⚠️ IMPORTANT: Essential for clients unfamiliar with Nano!
Why this tool exists: Most cryptocurrency clients expect simple decimal numbers like Bitcoin or Ethereum. However, Nano uses 30 decimal places (10^30 raw units = 1 XNO), which requires special handling to avoid precision errors.
Example Request:
Example Response (truncated):
Use Cases:
- First-time Integration: Call this method before implementing any Nano transactions to understand the number format
- Debugging Conversion Errors: If you get "AMOUNT_WRONG_UNIT" errors, this explains the correct format
- Client Education: Use the returned information to educate end-users about Nano's precision
- Reference Documentation: Keep this response as a reference for your implementation
setupTestWallets (Test Wallet)
Purpose: Generate two test wallets with all credentials
Parameters: None
Returns: wallet1, wallet2 (with address, privateKey, publicKey, seed), fundingInstructions
⚠️ Action Required: Human must fund both wallet addresses with test NANO
Response includes:
- Two complete wallet credentials (address, private key, public key, seed)
- Funding instructions with exact addresses to fund
- Status indicating "awaiting_funding"
- Recommended test amount (0.1 NANO per wallet)
getTestWallets (Test Wallet)
Purpose: Retrieve current test wallet information
Parameters: None
Returns: wallet1, wallet2 (with addresses, balances, funding status)
Use Case: Get wallet credentials after generating them, or check current state
updateTestWalletBalance (Test Wallet)
Purpose: Update tracked balance for a test wallet
Parameters: walletName ("wallet1" or "wallet2"), balance (raw), funded (boolean)
Returns: Updated wallet info
Use Case: Manually track balance changes or mark wallet as funded
checkTestWalletsFunding (Test Wallet)
Purpose: Check if both test wallets have been funded (have balance > 0)
Parameters: None
Returns: wallet1 (balance, funded), wallet2 (balance, funded), bothFunded, status
Use Case: Verify wallets are ready for testing after human funding
resetTestWallets (Test Wallet)
Purpose: Delete test wallets and start fresh Parameters: None Returns: Confirmation message
Use Case: Clean up and generate new test wallets
🎓 Best Practices for AI Agents
✅ DO:
- Always check account status first using
getAccountStatus - Convert amounts using
convertBalancebefore transactions - Parse errorCode for programmatic error handling
- Follow nextSteps array in error responses
- Receive pending blocks before sending transactions
❌ DON'T:
- Skip account status checks
- Use NANO values directly in
amountRaw(must be raw units) - Ignore error
nextSteps- they guide recovery - Assume account is ready - always verify
- Parse error message strings (use
errorCodeinstead)
🔒 Security Notes
- Private Keys: Never log or expose private keys
- Test vs Production: Use test wallets for development
- RPC Node: Default public node provided (rate limited)
- Validation: All inputs validated by server
📖 Additional Documentation
Located in NANO_MCP_SERVER/:
- AUTONOMOUS_AGENT_INTEGRATION_GUIDE.md - Complete integration guide
- TEST_WALLET_INTEGRATION.md - Test wallet documentation
- AUTONOMOUS_AGENT_ERROR_ENHANCEMENT.md - Error handling details
- examples/test-wallet-usage.json - Request examples
🎉 Why This Server is AI Agent-Friendly
✅ Self-documenting - Every error explains itself ✅ Helper functions - Convert, status check built-in ✅ Structured responses - Easy to parse JSON ✅ Machine-readable codes - Error codes for programmatic handling ✅ Actionable guidance - Every error includes nextSteps ✅ No external docs needed - All info in responses ✅ Fast integration - 5-10 minutes to first transaction
🚀 Integration Speed
vs Traditional NANO integration: 1-2 hours minimum
⚡ Quick Test (Copy-Paste)
Production Server (No Setup Required):
Local Development (Optional):
📞 Support
For AI Agents:
- All errors include remediation steps
- Use
getAccountStatusto diagnose issues - Check
errorCodefor specific problems - Follow
nextStepsin error responses
For Developers:
- GitHub Issues: Create issue
- Documentation: See files in
NANO_MCP_SERVER/docs/
🎊 Ready to Start!
You have everything you need. The server guides you through every step with self-documenting errors.
First command to run:
Server will be ready on: http://localhost:8080
Start with: {"jsonrpc":"2.0","method":"initialize","params":{},"id":1}
Good luck with your NANO integration! 🚀
来源:README.md,提交 4e29d9d
工具
0版本历史
1- v1.5.1最新Nov 3, 2026
评分
已满足适用检查项的 85%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通必需25 分
- 已声明认证方式必需10 分
- 已列出工具必需15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分