The separation is the point: everything that could move value comes back as hex you decide what to do with, and turning that into a signature takes an explicit flag on a local install. Read coverage goes further than balances — contract ABIs, decoded revert reasons and energy pricing are the tools you actually want when a call fails and you do not know why.
A TRON server built on the GoTRON SDK. Reads work everywhere; the write tools return unsigned transaction hex, and signing only happens if you point it at a local keystore. Run it yourself over stdio, or connect to the hosted endpoint with nothing installed.
- get_account, get_account_resources, get_trc20_balance and get_trc20_token_info — balances, bandwidth, energy and token metadata
- get_block, get_transaction, get_chain_parameters, get_network and validate_address
- get_contract_abi, list_contract_methods, trigger_constant_contract and decode_abi_output for reading a contract and its revert reasons
- estimate_energy, get_energy_prices and get_bandwidth_prices before you spend anything
- list_witnesses and list_proposals for super representatives and governance
- transfer_trx, transfer_trc20, trigger_contract, freeze_balance, unfreeze_balance and vote_witness — all returning unsigned hex
- sign_transaction and broadcast_transaction, registered only in local mode with a keystore path
Nothing at all for the hosted endpoint, where every write and sign tool is disabled by design. Running it locally means a binary from Go, Homebrew, an install script or Docker, and a network choice between mainnet, nile and shasta. A TronGrid API key is optional and only raises rate limits. Signing needs the keystore flag pointed at a tronctl keystore directory; without it the server holds no keys.
One command plus a key — go install github.com/fbsobreira/gotron-mcp/cmd/gotron-mcp@latest, then supply credentials
