Zano区块链MCP服务器

为Zano区块链提供MCP服务器,封装节点、钱包和交易JSON-RPC API为AI可调用的工具,适用于区块链状态查询、资产管理及去中心化交易等场景。

  • by PRavaga
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 PRavaga/zano-mcp

使用说明

zano-mcp

MCP server for the Zano blockchain. Wraps Zano's daemon, wallet, and trade JSON-RPC APIs as MCP tools.

Installation

{
  "mcpServers": {
    "zano": {
      "command": "npx",
      "args": ["-y", "zano-mcp"],
      "env": {
        "ZANO_DAEMON_URL": "http://127.0.0.1:11211/json_rpc"
      }
    }
  }
}

Public node (zero setup):

{
  "mcpServers": {
    "zano": {
      "command": "npx",
      "args": ["-y", "zano-mcp"],
      "env": {
        "ZANO_DAEMON_URL": "http://37.27.100.59:10500/json_rpc"
      }
    }
  }
}

Full config (daemon + wallet + trade):

{
  "mcpServers": {
    "zano": {
      "command": "npx",
      "args": ["-y", "zano-mcp"],
      "env": {
        "ZANO_DAEMON_URL": "http://127.0.0.1:11211/json_rpc",
        "ZANO_WALLET_URL": "http://127.0.0.1:11212/json_rpc",
        "ZANO_TRADE_TOKEN": "your_trade_api_token"
      }
    }
  }
}

Configuration

All environment variables are optional with sensible defaults.

Variable Default Description
ZANO_DAEMON_URL http://127.0.0.1:11211/json_rpc Daemon RPC endpoint
ZANO_WALLET_URL (none) Wallet RPC endpoint. If unset, wallet tools are not registered
ZANO_WALLET_AUTH (none) JWT secret for wallet RPC auth
ZANO_TRADE_URL https://api.trade.zano.org Trade API base URL
ZANO_TRADE_TOKEN (none) Trade API auth token. If unset, only public trade tools
ZANO_NETWORK mainnet mainnet or testnet
ZANO_LOG_LEVEL info debug, info, warn, error

CLI args override env vars: --daemon-url, --wallet-url, --network, etc.

Feature Gating

Tools are conditionally registered based on what's configured:

Config present Tools available
Always Daemon tools (15) + Public trade tools (2)
ZANO_WALLET_URL + Wallet (12) + Asset (7) + Swap (3) tools
ZANO_TRADE_TOKEN + Authenticated trade tools (7)

Available Tools

Daemon Tools (15)

Tool Description
get_network_info Network status (height, difficulty, hashrate, connections)
get_height Current blockchain height
get_block_by_height Block header at a given height
get_block_by_hash Block header by hash
get_last_block Latest block header
get_block_details Full block with transaction list
get_transaction Transaction details by hash
get_transactions Batch transaction lookup
get_pool_info Mempool status
get_asset_info Asset metadata by ID
get_assets_list All registered assets
resolve_alias Address for a Zano alias
get_alias_by_address Alias for an address
search_blockchain Search by hash/alias
validate_signature Verify a signed message

Wallet Tools (12) - requires ZANO_WALLET_URL

Tool Description
get_balance Wallet balance (all assets, human-readable)
get_address Wallet public address
get_wallet_status Sync status, watch-only flag
transfer Send ZANO or assets (human-readable amounts, HF6 intrinsic payment ids)
get_recent_transactions Recent transaction history
search_transactions Search by various criteria
sign_message Sign arbitrary data
save_wallet Persist wallet state
make_integrated_address Create with payment ID (max 8 bytes since HF6)
split_integrated_address Decode integrated address
get_mining_history PoS staking rewards
sweep_below Consolidate small outputs

Asset Tools (7) - requires ZANO_WALLET_URL

Tool Description
deploy_asset Create a new asset
emit_asset Mint additional supply
burn_asset Burn tokens
update_asset Update metadata
transfer_asset_ownership Change asset owner
whitelist_asset Add to wallet whitelist
remove_asset_from_whitelist Remove from whitelist

Swap Tools (3) - requires ZANO_WALLET_URL

Tool Description
create_swap_proposal Create an ionic swap proposal
get_swap_info View proposal details
accept_swap Accept and execute a swap

Trade Tools (2 public + 7 authenticated)

Public (always available):

Tool Description
get_trading_pair Pair info by ID
get_order_book Order book with depth/spread

Authenticated (requires ZANO_TRADE_TOKEN):

Tool Description
dex_authenticate Authenticate with Trade API
create_order Create buy/sell order
cancel_order Cancel an order
get_my_orders Your active orders + tips
apply_order Match with another order
confirm_trade Confirm a trade
get_active_trade Get trade by order IDs

Resources

URI Description
zano://network/info Current network configuration
zano://assets/whitelist Official asset whitelist

Prompts

Prompt Description
check-network Generate a network status report
analyze-order-book Analyze order book for a pair
explain-transaction Explain a transaction in plain language
swap-calculator Calculate swap parameters

Requirements

  • Node.js >= 18
  • A running Zano daemon (local or public node)
  • Wallet RPC running if you want wallet/asset/swap tools — Zano >= 2.2.1.501 (HF6)
  • Trade API token if you want authenticated DEX operations

HF6 payment ids

Since Zano hard fork 6 (mainnet height 3,833,000), payment ids are intrinsic per-destination values, max 8 bytes. The transfer tool takes the usual hex payment id and delivers it in the HF6 form; the old tx-wide field is rejected by 2.2.x wallets. Notes:

  • Payment ids must be 1–8 bytes of hex (2–16 hex chars) and non-zero — zero is the on-chain sentinel for "no payment id" and would be dropped silently.
  • The recipient's wallet reports the pid in its canonical 8-byte form (the tool's output shows it), e.g. 41 arrives as 0000000000000041.
  • Before the first pid-bearing transfer, the server probes the wallet with a harmless 2.2.x-only RPC and refuses if the wallet is older: a pre-HF6 wallet would silently send the transfer without the payment id.
  • Integrated addresses keep working unchanged (the embedded pid becomes intrinsic automatically at spend time).

Development

git clone https://github.com/PRavaga/zano-mcp.git
cd zano-mcp
npm install
ZANO_DAEMON_URL=http://37.27.100.59:10500/json_rpc npm run dev

License

MIT