Labsco
MCP SERVER

Nano Currency MCP Server

by kilkelly

Send Nano and read account and block information over a node's RPC, with a per-transaction send cap enforced by the server.

Wallets, Signing & Transaction Execution
Summary
The default cap is the design, not an afterthought.

A server that spends money on a model's say-so needs a limit that does not depend on the model behaving, and this one ships with a small ceiling that you must raise by hand before larger sends are possible. The author's own advice is to test with an account holding a small balance. The x402 tool is the forward-looking piece: it produces the header an agent needs to pay for an API call rather than only sending to a person.

What it is

An MCP server that lets a client move real cryptocurrency. It signs and sends Nano from an account derived from a private key you supply, reads account and block state from a Nano node's RPC, and can build the payment signature header for an x402 transaction so an agent can pay for an API or resource. The maximum send per transaction is capped in configuration, and the default cap is deliberately small.

What you get
  • Nano sent to a destination account, in either unit — `nano_send` for nano units, `raw_send` for raw
  • An account's balance in both nano and raw, with its representative and frontier block — for any account, or for the sending account specifically — `nano_account_info`, `nano_my_account_info`
  • A specific block's detail read back — `block_info`
  • The `PAYMENT-SIGNATURE` header for a Nano x402 transaction under the exact scheme, which is how an agent pays for a resource programmatically — `x402_payment_signature_exact_scheme_create`
  • A hard per-transaction ceiling: the default maximum is 0.01 nano, and sending more requires you to set `NANO_MAX_SEND_AMOUNT` or `RAW_MAX_SEND_AMOUNT` explicitly
Requirements

Node.js with NPM, then clone and `npm install`. `NANO_RPC_URL` is required — a local or remote Nano node RPC endpoint. `NANO_PRIVATE_KEY` is the account's private key, and the README is emphatic that this is the private key and not the wallet seed; the sending account is derived from it. `NANO_WORK_GENERATION_URL` defaults to the RPC URL if unset. `X402_NANO_NETWORK` defaults to `nano:mainnet`. The send caps default to 0.01 nano and must be raised deliberately.

Setup effort

Build from source — clone the repository and build it, then point your client at the binary