Skip to content
Agentmart
Submit a tool

TONNode — TON blockchain access

TON liteservers over ADNL: balances, history, get-methods, non-custodial DEX and cross-chain swaps

Connector by tonnode · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)Remote (HTTP)★ 27
Write a review

Install

Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/tonnode-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Remote endpoint

  • https://mcp.tonnode.io/mcp Remote (HTTP)

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

TON liteservers over ADNL: balances, history, get-methods, non-custodial DEX and cross-chain swaps

Use cases: crypto-web3

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Tools
11 read · 4 write · 1 delete
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Tools by what they do 16

Read from the source code; the running server may list different tools.

Read 11 · Look things up without changing anything.

  • get_account_state
  • get_balance
  • get_crosschain_quote
  • get_jetton_balance
  • get_jetton_info
  • get_masterchain_info
  • get_swap_quote
  • get_transactions
  • parse_address
  • run_get_method
  • track_crosschain_swap

Write 4 · Create, change, send or run things.

  • build_crosschain_refund
  • build_crosschain_swap_tx
  • build_swap_tx
  • generate_wallet

Delete 1 · Delete, drop, revoke or wipe things.

  • disclose_crosschain_secret

Secrets and settings it asks for

Other settings (environment variables or headers).

  • TON_LITESERVERS
  • TON_NETWORK

Network hosts it talks to 5

  • github.com · found in code
  • glama.ai · found in code
  • mcp.tonnode.io · found in remote endpoint, install command, code
  • ton.org · found in code
  • tonnode.io · found in code

Tools (16)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • build_crosschain_refundBuild cross-chain refund

    Build the UNSIGNED transaction that cancels a cross-chain escrow position and returns the funds to the owner wallet. Use when: a cross-chain swap did not settle — track_crosschain_swap shows cancellation_mode=onchain (before that the position cannot be cancelled by the trader). Non-custodial: returns TonConnect-ready messages for the SAME wallet that created the escrow; nothing is signed or sent here. After signing and sending, the escrowed input (and the security deposit) come back to the owner.

  • build_crosschain_swap_txBuild cross-chain swap transaction

    Build the UNSIGNED TON escrow transaction for a cross-chain swap quoted by get_crosschain_quote, and generate the HTLC secret that later completes it. Non-custodial: nothing is signed or sent, and the server does NOT keep the secret — it exists only in this response. The messages MOVE REAL FUNDS once signed; treat the output as an armed payment. Treat htlc_secret like a payment authorization: anyone who sees it together with quote_id can trigger disclosure — keep this response out of logs and shared contexts. EVERY CALL GENERATES A NEW SECRET bound to THIS tonconnect payload — if you rebuild f…

  • build_swap_txBuild swap transaction

    Build the UNSIGNED transaction for a swap quoted by get_swap_quote. Non-custodial: this returns TonConnect-ready messages — nothing is signed and nothing is sent; the wallet owner signs and broadcasts them (e.g. tonConnectUi.sendTransaction(result.tonconnect)). The messages MOVE REAL FUNDS once signed, so treat the output as an armed payment and show it to the wallet owner before sending. Use when: an agent (or the app driving it) actually wants to execute the swap after inspecting the quote. Args: quote_id from get_swap_quote (use it promptly — expired quotes fail and need a re-quote) and wal…

  • disclose_crosschain_secretDisclose HTLC secretcan change or delete data

    Reveal the HTLC secret from build_crosschain_swap_tx to settle a cross-chain swap. This is the final, trade-committing step: once revealed the preimage is public and the resolver can claim the TON side — it CANNOT be taken back. Before revealing anything, the tool re-verifies live state and refuses unless ALL of these hold: the order exists on-chain, the destination position is at ready_for_private_completion or ready_for_public_completion, and the secret matches that execution's on-chain hash. Call it as soon as track_crosschain_swap shows dst_phase=ready_for_private_completion — a prompt rev…

  • generate_walletGenerate TON wallet

    Create a brand-new TON wallet: a fresh 24-word mnemonic, its ed25519 keypair, and the wallet address for the chosen contract version. Use when an agent needs its own wallet to receive or send funds (e.g. before build_swap_tx). SECURITY — READ BEFORE USE: this returns SECRET key material (mnemonic + private key). Anyone who sees this response controls the wallet and any funds in it. In hosted mode the keys are generated on the server and returned over TLS, so treat the wallet as HOT: fine for programmatic/ephemeral use, but move any significant balance to a hardware or cold wallet, and keep thi…

  • get_account_stateAccount stateread-only

    Full account state of a TON address: status (active / frozen / uninit), GRAM balance, last-transaction pointer (lt + hash) and whether contract code/data are deployed. Use when: checking if a contract or wallet is deployed, diagnosing why an address does not respond, or before run_get_method (which needs status=active). Returns: status, balance_gram, last_transaction {lt (string), hash — 64-char hex}, has_code, has_data, at_seqno. Reading the result: status=uninit with a non-zero balance means funds arrived but the wallet contract is not deployed yet; the last_transaction pointer is the cursor…

  • get_balanceGRAM balanceread-only

    Native GRAM coin balance of a TON address (GRAM is the renamed Toncoin; the network is still called TON). Use when: the question is about the native coin only. For token balances (USDT and other jettons) use get_jetton_balance; for deployment status, code flags and the last transaction use get_account_state. Returns: balance_gram (decimal string, e.g. "12.5"), balance_nano (string, 1 GRAM = 1e9 nano) and at_seqno — the masterchain block the reading is anchored to. Never-funded (uninitialized) addresses return 0 — that is not an error.

  • get_crosschain_quoteCross-chain swap quoteread-only

    Firm quote for swapping GRAM or a TON jetton into an asset on another blockchain (Ethereum, Arbitrum, Base, BNB, Polygon, Avalanche) via Omniston's atomic HTLC escrow settlement. MAINNET only. TON is always the source chain — the trade is initiated and funded by a TON wallet. Use when: an agent needs USDT/USDC/native coins delivered to an EVM address, paid from TON. Step 2 is build_crosschain_swap_tx with the returned quote_id. Amounts are raw indivisible units of each asset (TON USDT = 6 decimals, GRAM = 9, EVM tokens per their own decimals). Returns: quote_id (use PROMPTLY — quotes expire in…

  • get_jetton_balanceJetton balanceread-only

    Jetton (TON token) balance of an owner address — USDT and every other TEP-74 token. Use when: the question is about token balances rather than the native GRAM coin (for GRAM use get_balance). Args: owner — the holder's address; jetton_master — the token's master contract address. How it works: derives the owner's jetton-wallet address from the master, then reads its balance on-chain. Returns: jetton_wallet (the derived address), balance in raw indivisible units (string), deployed — false means the owner never held this token, so the balance is 0 — and at_seqno. Raw units: divide by 10^decimals…

  • get_jetton_infoJetton info / metadataread-only

    Metadata of a jetton master (token) contract: name, symbol, DECIMALS, total supply, mintable, admin. Use when: you need a token's decimals to convert raw indivisible units — swap quotes and balances are in raw units, so a human amount = raw / 10^decimals (USDT is 6, most jettons 9). Call this before get_swap_quote/build_swap_tx when you don't know the token's decimals. Args: jetton_master — the token's master contract address (e.g. USDT "EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs"). Returns: name, symbol, decimals (a number, or null when the token stores metadata off-chain), description,…

  • get_masterchain_infoMasterchain inforead-only

    Latest TON masterchain block: workchain, shard, seqno and block hashes. Use when: checking that the network (or your endpoint) is alive and synced, or when you need the current block height. Returns: workchain, shard, seqno, rootHash/fileHash in base64. Tip: masterchain produces a block roughly every 3 seconds — if seqno does not grow between calls, the liteserver is lagging.

  • get_swap_quoteSwap quoteread-only

    Firm swap quote for exchanging GRAM or any jetton into another asset on TON, via the Omniston protocol (STON.fi RFQ aggregation over STON.fi/DeDust liquidity). MAINNET only. Use when: an agent wants to know the current exchange terms, or as step 1 of an actual swap (step 2 is build_swap_tx with the returned quote_id). For swaps INTO another blockchain (ETH, Base, BNB…) use get_crosschain_quote instead. Amounts are raw indivisible units — GRAM has 9 decimals (1 GRAM = 1e9), USDT has 6; read a jetton's decimals via run_get_method get_jetton_data if unsure. Returns: quote_id (pass it to build_swa…

  • get_transactionsRecent transactionsread-only

    Recent transactions of a TON address, newest first. Use when: verifying that a payment arrived, listing latest wallet activity, or tracing what an address did recently. Returns an array of {hash, lt (string), unix_time, in_value_gram, in_from, out_messages, total_fees_gram} — in_value_gram/in_from describe the incoming message (null for outgoing-only transactions). Never-active addresses return an empty array (not an error); an undecodable transaction comes back as {hash, parse_error: true}. No pagination: each call reads from the account's newest transaction — at most the 30 most recent are r…

  • parse_addressParse addressread-only

    Parse, validate and convert a TON address between all its formats — purely local, no network access. Use when: normalizing user input, comparing addresses that look different but may be the same account, or converting to the raw form that indexers and APIs expect. Accepts friendly (EQ…/UQ…, with or without URL-safe characters) and raw (workchain:hex) forms. Returns: raw, friendly_bounceable (EQ…), friendly_non_bounceable (UQ…), workchain and flags of the given input. Background: EQ… and UQ… encode the SAME account — EQ (bounceable) is conventional for contracts, UQ (non-bounceable) for user wa…

  • run_get_methodRun get-methodread-only

    Execute a read-only get-method (no gas, no state change) on a smart contract: seqno, get_jetton_data, get_sale_data, get_collection_data and anything else the contract exposes. Use when: reading typed on-chain data from a specific contract. The contract must be active — check with get_account_state first if unsure. Args: only integer arguments are supported here (decimal strings); methods that need an address/slice argument have dedicated tools — e.g. use get_jetton_balance instead of calling get_wallet_address manually. Returns: exit_code (0 or 1 = success; 11 usually means the contract has n…

Show 1 more tools
  • track_crosschain_swapTrack cross-chain swapread-only

    Current status of a cross-chain swap: the escrow order created from a get_crosschain_quote quote, with per-execution lifecycle phases and HTLC time windows on both chains. Use when: after sending the escrow transaction built by build_crosschain_swap_tx — poll every ~10s. Reading the result: found=false means the escrow transaction has not landed yet (or was never sent); when an execution's dst_phase reaches ready_for_private_completion, call disclose_crosschain_secret promptly — do NOT disclose if now is close to that execution's output_position_timestamps.private_rollback_at (unix seconds): p…

Signals

Stars
27
Forks
0
Open issues
0
Contributors
1
Last commit
Oct 8, 2026 (21 days ago)
Last release
Oct 7, 2026 (22 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.tonnode/mcp
Version
0.9.2
Auth
Auth not stated
Packages
npm @tonnode/mcp
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026
Cite this page

TONNode — TON blockchain access MCP server. Agent Mart. https://agentmart.dev/connectors/tonnode-mcp (last updated 2026-10-24)