tonnode/mcp
The tonnode/mcp server gives AI agents direct liteserver access to The Open Network (TON) blockchain via the native ADNL protocol (no HTTP gateways), enabling querying of on-chain data and execution of read-only contract methods.
get_masterchain_info: Retrieve the current masterchain head (workchain, shard, seqno, block hashes) to check network liveness and latest block height.get_balance: Look up the native GRAM (Toncoin) balance of any TON address in both GRAM and nano units. Supports friendly (EQ…/UQ…) and raw (0:…) address formats.get_account_state: Fetch full account state including status (active/frozen/uninit), balance, last transaction pointer, and code/data deployment flags.get_transactions: Retrieve up to 30 recent transactions for an address (newest first), including logical time, Unix timestamp, incoming value, outgoing message count, and total fees.run_get_method: Execute read-only smart contract get-methods (e.g.,seqno,get_wallet_address) with optional integer arguments to inspect on-chain contract state.
Additional features include flexible deployment (embedded via npx, self-hosted, or hosted HTTP), configurable network access (mainnet by default, testnet or custom liteservers supported), and — when running as an HTTP server — API key authentication, rate limiting, session management, and health monitoring.
Provides direct liteserver access to The Open Network (TON) for querying blockchain state, balances, transactions, and running get-methods on smart contracts.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@tonnode/mcpget balance of EQCD39VS5jcptHL8vMjEXrzGaRcCVYto7HUn4bpAOg8xqB2N"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@tonnode/mcp
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.
Quick start
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/.
Related MCP server: AI Network MCP Server
Tools
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 |
| Current masterchain head: seqno, shard, block hashes |
| GRAM balance of an address (GRAM + nano) |
| Status (active/frozen/uninit), balance, last-tx pointer, code/data flags |
| Recent transactions: lt, time, incoming value, fees |
| Read-only get-methods on contracts ( |
Hosted / self-hosted HTTP mode
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 --httpClients then connect without installing anything:
{
"mcpServers": {
"ton": {
"url": "https://your-host/mcp",
"headers": { "Authorization": "Bearer tn_live_abc" }
}
}
}Requests are authenticated with Bearer keys from TONNODE_KEYS (comma-separated) and rate-limited per key (RATE_LIMIT_RPM, default 300). 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 TONNODE_KEYS the server refuses to start; set TONNODE_ALLOW_OPEN=1 to explicitly run keyless behind your own firewall. GET /healthz for monitoring.
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/.
Configuration
Env var | Meaning |
| Use your own liteservers instead of the public config: |
| Alternative global-config URL |
| Use the testnet config (or pass |
| HTTP mode: comma-separated Bearer API keys |
| HTTP mode: bind address (default |
| HTTP mode: listen port (default 8808) |
| HTTP mode: requests per minute per key (default 300) |
| HTTP mode: idle minutes before a session is swept (default 30) |
| HTTP mode: concurrent session caps (default 500 / 50) |
A note on public liteservers
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.
License
MIT © TONNode
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tonnode/mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server