
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
@tonnode/mcp
Advanced tools
Liteserver access to TON: balances, account state, transactions and get-methods over native ADNL.
MCP server that gives AI agents direct liteserver access to The Open Network (TON) — no HTTP gateways in the middle. Balances, account state, transaction history and contract get-methods over TON's native ADNL protocol.
Built by TONNode — private TON liteservers, archive nodes, mempool stream and indexed API.
Add to Claude Desktop, Claude Code, ChatGPT, Cursor, Codex or any MCP client:
{
"mcpServers": {
"ton": {
"command": "npx",
"args": ["-y", "@tonnode/mcp"]
}
}
}
That's the whole integration. The server connects to TON mainnet via the public global config by default. Ready-made configs for every client — plus programmatic Node.js usage — live in examples/.
Naming note: the native coin was renamed from Toncoin to GRAM in June 2026; the network itself is still called TON. Tool outputs use
*_gramfields.
| Tool | What it does |
|---|---|
get_masterchain_info | Current masterchain head: seqno, shard, block hashes |
get_balance | GRAM balance of an address (GRAM + nano) |
get_account_state | Status (active/frozen/uninit), balance, last-tx pointer, code/data flags |
get_transactions | Recent transactions: lt, time, incoming value, fees |
run_get_method | Read-only get-methods on contracts (seqno, get_wallet_address, …) |
The package also ships a Streamable-HTTP entry for remote deployments (this is what powers mcp.tonnode.io):
TONNODE_KEYS=tn_live_abc,tn_live_def PORT=8808 npx -y @tonnode/mcp --http
Clients then connect without installing anything:
{
"mcpServers": {
"ton": {
"url": "https://your-host/mcp",
"headers": { "Authorization": "Bearer tn_live_abc" }
}
}
}
Requests are authenticated with Bearer keys and rate-limited per key (RATE_LIMIT_RPM, default 300). Keys come from either TONNODE_KEYS (comma-separated, fixed) or TONNODE_KEYS_FILE — a JSON array of {"key", "label"?, "rpm"?, "expires"?} that is hot-reloaded on change and on SIGHUP: add or revoke customer keys with no restart, per-key rate limits, and self-expiring keys for subscription plans. A revoked key's live sessions are closed immediately. GLOBAL_RATE_LIMIT_RPM adds a total ceiling across all keys to protect the backend liteserver. Sessions are private to the key that opened them, idle sessions are swept after SESSION_TTL_MIN (default 30 minutes), and concurrent sessions are capped per key and globally. Without keys the server refuses to start; set TONNODE_ALLOW_OPEN=1 to explicitly run keyless behind your own firewall. GET /healthz for monitoring, deploy/tonnode-keys.sh for key management.
The server binds 127.0.0.1 by default — put a TLS reverse proxy (Caddy, nginx) in front and set HOST=0.0.0.0 only if the proxy runs on another machine. Ready-made systemd + Caddy configs live in deploy/.
| Env var | Meaning |
|---|---|
TON_LITESERVERS | Use your own liteservers instead of the public config: [{"ip":"1.2.3.4","port":40004,"key":"<base64 ed25519>"}] |
TON_CONFIG_URL | Alternative global-config URL |
TON_NETWORK=testnet | Use the testnet config (or pass --testnet) |
TONNODE_KEYS | HTTP mode: comma-separated Bearer API keys (simple, fixed) |
TONNODE_KEYS_FILE | HTTP mode: JSON key file with labels, per-key rpm, expires — hot-reloaded |
HOST | HTTP mode: bind address (default 127.0.0.1) |
PORT | HTTP mode: listen port (default 8808) |
RATE_LIMIT_RPM | HTTP mode: default requests per minute per key (default 300) |
GLOBAL_RATE_LIMIT_RPM | HTTP mode: total ceiling across all keys (default off) |
SESSION_TTL_MIN | HTTP mode: idle minutes before a session is swept (default 30) |
MAX_SESSIONS / MAX_SESSIONS_PER_KEY | HTTP mode: concurrent session caps (default 500 / 50) |
The default public-config liteservers are shared, rate-limited and keep no deep history — get_transactions beyond recent blocks will answer lt not in db. Agents also tend to query in bursts, which public gateways throttle.
For guaranteed throughput, archive depth and a node-level mempool stream, point TON_LITESERVERS at a private endpoint — tonnode.io provisions one in under a minute, payable in TON.
MIT © TONNode
FAQs
Liteserver access to TON: balances, account state, transactions, get-methods over native ADNL — plus non-custodial DEX swaps, cross-chain swaps, and TON wallet generation.
The npm package @tonnode/mcp receives a total of 92 weekly downloads. As such, @tonnode/mcp popularity was classified as not popular.
We found that @tonnode/mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.