Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

TONNode — TON blockchain access

NPM · @TONNODE/MCP · SCANNED AUG 6

Liteserver access to TON: balances, account state, transactions and get-methods over native ADNL.

Available components

+25 this week 68 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →

Supply Chain Security88
  • No malware found by supply-chain analysis.Pass
  • Known CVEs were checked across the 119 of 123 dependencies we could resolve, so this covers what we could see, not the whole tree.Partial
  • No install/post-install scripts declared.Pass
  • Dependency health was assessed across the 119 of 123 dependencies we could resolve, so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
  • Source repository is publicly reachable at the declared URL. View diagnostics → Pass
  • Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
  • Clear OSI-approved license (MIT).Pass
  • Actively maintained (last published 10 days ago).Pass
  • Security-disclosure policy not yet verified: we couldn't inspect the source repository.Unverified
Schema Quality & AI Usability65
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 1416 tokens (~202/item across 7 items; 7 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management33
  • Stability observed for 10 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

npm · @tonnode/mcp

# add to Claude Code
claude mcp add tonnode-mcp -- npx -y @tonnode/mcp
# add to Codex CLI
codex mcp add tonnode-mcp -- npx -y @tonnode/mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "tonnode-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@tonnode/mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add tonnode-mcp --command npx --arg -y --arg @tonnode/mcp
# ~/.hermes/config.yaml
mcp_servers:
  tonnode-mcp:
    command: "npx"
    args: ["-y", "@tonnode/mcp"]
// mcp.json
{
  "mcpServers": {
    "tonnode-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@tonnode/mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 6 Aug 26 0
    • Security disclosure: fail → unverified functional
  • 5 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

  • 4 Aug 26 +4
    • Stability: unverified → 0.27 functional
  • 3 Aug 26 +43
    • Provenance: unverified → fail security
    • Install scripts: unverified → pass security
    • Known CVEs: unverified → partial security
    • Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
    • Schema quality: unverified → excellent functional
    • Tool coverage: unverified → 100 functional
    • License: unverified → pass functional
    • Dependency health: unverified → partial functional
    • Maintenance: unverified → pass functional
    • MCP protocol: unverified → pass functional
    • Licence: MIT functional
  • 2 Aug 26 +2
    • Malware scan: unverified → pass security
    • Tool coverage: 100 → unverified functional
  • 1 Aug 26 +13
    • Tool coverage: unverified → 100 functional
  • 31 Jul 26 −38
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Jul 26 43

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 6 Aug 2026 · Analysed npm/@tonnode/[email protected]

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm
Dependencies 119 packages
Packages resolved 119
Deprecated 110
Stale 44
No linked repository 1
Tree resolution Partial

The dependency tree was only partially resolved, so these counts may be incomplete.

MCP tools — 7 exposed · ~1,416 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
get_account_state ~178

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_transactions starts from.

NameTypeReqDescription
addressstringyesTON address in friendly (EQ…/UQ…) or raw (0:… / -1:…) form
NameTypeReqDescription
addressstringyes
at_seqnonumberyes
balance_gramstringyes
has_codebooleanyes
has_databooleanyes
last_transactionyes
statusstringyes

No examples provided.

get_balance ~173

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.

NameTypeReqDescription
addressstringyesTON address in friendly (EQ…/UQ…) or raw (0:… / -1:…) form
NameTypeReqDescription
addressstringyes
at_seqnonumberyes
balance_gramstringyes
balance_nanostringyes

No examples provided.

get_jetton_balance ~269

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; USDT uses 6 decimals, most other jettons 9 (read decimals from the master's metadata via run_get_method get_jetton_data).

NameTypeReqDescription
jetton_masterstringyesJetton master contract address, e.g. USDT "EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs"
ownerstringyesHolder's TON address, friendly (EQ…/UQ…) or raw (0:… / -1:…) form
NameTypeReqDescription
at_seqnonumberyes
balancestringyes
deployedbooleanyes
jetton_masterstringyes
jetton_walletstringyes
ownerstringyes

No examples provided.

get_masterchain_info ~101

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.

Input schema present but exposes no named parameters.

NameTypeReqDescription
fileHashstringyes
rootHashstringyes
seqnonumberyes
shardstringyes
workchainnumberyes

No examples provided.

get_transactions ~244

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 reachable. History depth: an error like "lt not in db" means this liteserver has already pruned that part of history — only archive endpoints keep the full chain; retry through one (TON_LITESERVERS or a TONNode hosted key) for deep history.

NameTypeReqDescription
addressstringyesTON address in friendly (EQ…/UQ…) or raw (0:… / -1:…) form
limitintegerHow many transactions to return, 1–30 (default 10)
NameTypeReqDescription
addressstringyes
transactionsarrayyes

No examples provided.

parse_address ~194

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 wallets; two addresses are equal if their raw forms match.

NameTypeReqDescription
addressstringyesTON address in any form: friendly (EQ…/UQ…) or raw (0:… / -1:…)
NameTypeReqDescription
friendly_bounceablestringyes
friendly_non_bounceablestringyes
input_flagsyes
input_formatstringyes
rawstringyes
workchainnumberyes

No examples provided.

run_get_method ~257

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 no such method; other values are contract-specific errors) and the result stack — typed items like {type:"int", value} or {type:"cell"|"slice", boc_base64}.

NameTypeReqDescription
addressstringyesTON address in friendly (EQ…/UQ…) or raw (0:… / -1:…) form
argsarrayInteger arguments as decimal strings, e.g. ["0"] (most methods take none)
methodstringyesget-method name, e.g. "seqno" or "get_jetton_data"
NameTypeReqDescription
addressstringyes
exit_codenumberyes
methodstringyes
stackarrayyes

No examples provided.