ton-cli
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseTON MCP Raw CLI Mode
TON MCP Raw CLI模式
Run any TON wallet MCP tool directly from the command line. The binary invokes the tool, prints the JSON result to stdout, and exits.
直接从命令行运行任何TON钱包MCP工具。该二进制文件会调用工具,将JSON结果打印到标准输出(stdout)后退出。
Invocation Modes
调用模式
| Command | Description |
|---|---|
| stdio MCP server (for Claude Desktop / MCP clients) |
| HTTP MCP server |
| Raw CLI: call one tool and exit |
Use exactly one mode for a given workflow: either MCP server mode (/) or raw CLI. Do not combine them in the same task/session.
stdio--http| 命令 | 描述 |
|---|---|
| stdio MCP服务器(适用于Claude Desktop / MCP客户端) |
| HTTP MCP服务器 |
| Raw CLI:调用单个工具后退出 |
在特定工作流中仅使用一种模式:要么是MCP服务器模式(/),要么是Raw CLI模式。请勿在同一任务/会话中混合使用。
stdio--httpRaw CLI Usage
Raw CLI 使用方法
bash
undefinedbash
undefinedNo arguments
无参数
npx @ton/mcp@alpha get_balance
npx @ton/mcp@alpha get_balance
Named arguments (--key value)
命名参数(--key value)
npx @ton/mcp@alpha get_transactions --limit 5
npx @ton/mcp@alpha get_jetton_balance --jettonAddress EQAbc...
npx @ton/mcp@alpha get_transactions --limit 5
npx @ton/mcp@alpha get_jetton_balance --jettonAddress EQAbc...
All values are passed as plain strings; JSON objects/arrays are also accepted
所有值均以纯字符串传递;也接受JSON对象/数组
npx @ton/mcp@alpha get_transactions --limit 10
npx @ton/mcp@alpha build_ton_transfer --toAddress UQA... --amount 0.1 --comment "hi"
npx @ton/mcp@alpha generate_ton_proof --domain getgems.io --payload getgems-llm
Arguments are passed as `--key value` pairs. Objects/arrays (`{...}` / `[...]`) are JSON-parsed; everything else is kept as a plain string.npx @ton/mcp@alpha get_transactions --limit 10
npx @ton/mcp@alpha build_ton_transfer --toAddress UQA... --amount 0.1 --comment "hi"
npx @ton/mcp@alpha generate_ton_proof --domain getgems.io --payload getgems-llm
参数以`--key value`对的形式传递。对象/数组(`{...}` / `[...]`)会被JSON解析;其他所有内容均保留为纯字符串。Output
输出
All tools print JSON to stdout. Errors are printed to stderr and the process exits with code .
1bash
undefined所有工具都会将JSON打印到标准输出(stdout)。错误信息会打印到标准错误(stderr),进程会以代码退出。
1bash
undefinedCapture output for scripting
捕获输出用于脚本编写
BALANCE=$(npx @ton/mcp@alpha get_balance)
echo $BALANCE | jq '.balance'
undefinedBALANCE=$(npx @ton/mcp@alpha get_balance)
echo $BALANCE | jq '.balance'
undefinedEnvironment Variables
环境变量
The CLI respects the same environment variables as the server:
| Variable | Description |
|---|---|
| |
| 24-word mnemonic for single-wallet mode |
| Hex-encoded private key (alternative to mnemonic) |
| |
| Optional Toncenter API key |
| Path to config file (default: |
Without or , the CLI uses the local config registry at (registry mode). In registry mode, wallet-scoped tools accept an optional to target a specific wallet by id, name, or address.
MNEMONICPRIVATE_KEY~/.config/ton/config.json--walletSelector该CLI支持与服务器相同的环境变量:
| 变量 | 描述 |
|---|---|
| |
| 单钱包模式下的24助记词 |
| 十六进制编码的私钥(助记词的替代方案) |
| |
| 可选的Toncenter API密钥 |
| 配置文件路径(默认值: |
如果没有或,CLI会使用本地配置注册表(注册表模式)。在注册表模式下,钱包范围的工具接受可选的参数,通过ID、名称或地址指定特定钱包。
MNEMONICPRIVATE_KEY~/.config/ton/config.json--walletSelectorTool Reference
工具参考
Wallet & Balance
钱包与余额
| Tool | Required args | Optional args |
|---|---|---|
| — | |
| — | |
| | |
| | |
| — | |
| | |
| | |
| — | |
| | |
| — | — |
| 工具 | 必填参数 | 可选参数 |
|---|---|---|
| — | |
| — | |
| | |
| | |
| — | |
| | |
| | |
| — | |
| | |
| — | — |
Wallet Registry (config-registry mode only)
钱包注册表(仅配置注册表模式)
| Tool | Required args | Optional args |
|---|---|---|
| — | — |
| — | — |
| | — |
| | — |
| 工具 | 必填参数 | 可选参数 |
|---|---|---|
| — | — |
| — | — |
| | — |
| | — |
Transfers
转账
| Tool | Required args | Optional args |
|---|---|---|
| | |
| | |
| | |
| | |
| | |
build_ton_transferbuild_jetton_transferbuild_nft_transfertransaction.messagestransaction.fromAddressemulate_transactionsend_raw_transaction --messages ... --fromAddress ...| 工具 | 必填参数 | 可选参数 |
|---|---|---|
| | |
| | |
| | |
| | |
| | |
build_ton_transferbuild_jetton_transferbuild_nft_transfertransaction.messagestransaction.fromAddressemulate_transactionsend_raw_transaction --messages ... --fromAddress ...Swaps
兑换
| Tool | Required args | Optional args |
|---|---|---|
| | |
| 工具 | 必填参数 | 可选参数 |
|---|---|---|
| | |
NFTs
NFT
| Tool | Required args | Optional args |
|---|---|---|
| — | |
| | |
| | |
| 工具 | 必填参数 | 可选参数 |
|---|---|---|
| — | |
| | |
| | |
DNS
DNS
| Tool | Required args | Optional args |
|---|---|---|
| | |
| | |
| 工具 | 必填参数 | 可选参数 |
|---|---|---|
| | |
| | |
Authentication
认证
| Tool | Required args | Optional args |
|---|---|---|
| | |
| 工具 | 必填参数 | 可选参数 |
|---|---|---|
| | |
Example Session
示例会话
bash
undefinedbash
undefinedCheck wallet address and network
查看钱包地址和网络
npx @ton/mcp@alpha get_wallet
npx @ton/mcp@alpha get_wallet
Check GRAM (ex. TON) balance
查看GRAM(如TON)余额
npx @ton/mcp@alpha get_balance
npx @ton/mcp@alpha get_balance
List all tokens
列出所有代币
npx @ton/mcp@alpha get_jettons
npx @ton/mcp@alpha get_jettons
Last 10 transactions
最近10笔交易
npx @ton/mcp@alpha get_transactions --limit 10
npx @ton/mcp@alpha get_transactions --limit 10
Get balance of a specific jetton
查看特定Jetton的余额
npx @ton/mcp@alpha get_jetton_balance --jettonAddress EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs
npx @ton/mcp@alpha get_jetton_balance --jettonAddress EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs
Resolve a .ton domain
解析.ton域名
npx @ton/mcp@alpha resolve_dns --domain foundation.ton
npx @ton/mcp@alpha resolve_dns --domain foundation.ton
In registry mode: check balances for a named wallet
注册表模式:查看指定名称钱包的余额
npx @ton/mcp@alpha get_balance --walletSelector "my-hot-wallet"
npx @ton/mcp@alpha get_balance --walletSelector "my-hot-wallet"
In registry mode: list all registered wallets
注册表模式:列出所有已注册钱包
npx @ton/mcp@alpha list_wallets
npx @ton/mcp@alpha list_wallets
Send GRAM (ex. TON) — build, preview, then broadcast (confirm with user before the broadcast step)
发送GRAM(如TON)——构建、预览,然后广播(广播步骤前需用户确认)
npx @ton/mcp@alpha build_ton_transfer --toAddress UQA... --amount 0.5 --comment "payment"
npx @ton/mcp@alpha emulate_transaction --messages '<transaction.messages>' # recommended preview
npx @ton/mcp@alpha send_raw_transaction --messages '<transaction.messages>' --fromAddress '<transaction.fromAddress>'
npx @ton/mcp@alpha build_ton_transfer --toAddress UQA... --amount 0.5 --comment "payment"
npx @ton/mcp@alpha emulate_transaction --messages '<transaction.messages>' # 推荐预览
npx @ton/mcp@alpha send_raw_transaction --messages '<transaction.messages>' --fromAddress '<transaction.fromAddress>'
Swap quote
获取兑换报价
npx @ton/mcp@alpha get_swap_quote --fromToken TON --toToken EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs --amount 1
npx @ton/mcp@alpha get_swap_quote --fromToken TON --toToken EQCxE6mUtQJKFnGfaROTKOt1lZbDiiX1kCixRv7Nw2Id_sDs --amount 1
Generate a TonProof for a service challenge
为服务挑战生成TonProof
npx @ton/mcp@alpha generate_ton_proof --domain getgems.io --payload getgems-llm
undefinednpx @ton/mcp@alpha generate_ton_proof --domain getgems.io --payload getgems-llm
undefinedNotes
注意事项
- /
build_ton_transfer/build_jetton_transferbuild a transaction only;build_nft_transferis the tool that signs and broadcasts the preparedsend_raw_transaction(passtransaction.messagestoo — jetton/NFT messages are bound to the wallet they were built for)transaction.fromAddress - Use to preview expected balance changes before broadcasting (fake signature)
emulate_transaction - Use only with the exact domain and payload supplied by the user or verifying service; do not alter the payload before signing
generate_ton_proof - requires signing access even though it does not broadcast a transaction
generate_ton_proof - /
build_ton_transfer/build_jetton_transferandbuild_nft_transferdo not sign or broadcast — run them freely. Confirm with the user only beforeemulate_transaction(the broadcast), after previewing withsend_raw_transaction;emulate_transaction - For confirmations and small option sets, prefer the host client's structured confirmation/choice UI when available; otherwise use a short natural-language yes/no prompt and never require an exact magic word;
- After sending, poll until status is
get_transaction_status --normalizedHash <hash>orcompleted(unless the user asks to skip).failed - In registry mode the active wallet from is used by default.
~/.config/ton/config.json
- /
build_ton_transfer/build_jetton_transfer仅构建交易;build_nft_transfer是对已准备好的send_raw_transaction进行签名和广播的工具(同时传递transaction.messages——Jetton/NFT消息与构建它们的钱包绑定)transaction.fromAddress - 使用在广播前预览预期的余额变化(模拟签名)
emulate_transaction - 仅使用用户或验证服务提供的准确域名和负载调用;签名前请勿修改负载
generate_ton_proof - 即使不广播交易,也需要签名权限
generate_ton_proof - /
build_ton_transfer/build_jetton_transfer和build_nft_transfer不会进行签名或广播——可自由运行。仅在emulate_transaction(广播)前,且通过send_raw_transaction预览后,需用户确认;emulate_transaction - 对于确认操作和小型选项集,若可用则优先使用宿主客户端的结构化确认/选择UI;否则使用简短的自然语言是/否提示,切勿要求输入特定的暗语;
- 发送交易后,轮询直到状态变为
get_transaction_status --normalizedHash <hash>或completed(除非用户要求跳过)。failed - 在注册表模式下,默认使用中的活跃钱包。
~/.config/ton/config.json