mcpField
G
GoTRON MCP

GoTRON MCP

远程服务
gotron.sh金融数据41 天前更新

关于 GoTRON MCP

GoTRON MCP 是面向 AI Agent 和 MCP 客户端的 TRON 区块链服务,基于 GoTRON SDK 构建。它提供链上查询和未签名交易构建,并支持本地模式与托管模式;本地签名可选。

主要功能

  1. 01查询 TRX 和 TRC20 余额
  2. 02查看区块、交易与合约
  3. 03估算转账费用和能量
  4. 04构建未签名转账与质押交易
  5. 05可选的本地密钥库签名

适用场景

  1. 01检查账户余额和网络资源
  2. 02查看合约数据并估算调用能量
  3. 03准备 TRX 或 TRC20 转账以供签名
  4. 04查看治理提案和超级代表信息

MCP 相关

向 MCP 客户端提供 TRON 账户、代币、链、合约和治理工具。本地模式使用 stdio,并可选启用密钥库签名;托管 HTTP 模式会禁用写入和签名工具。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.gotron.sh/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
ocighcr.io/fbsobreira/gotron-mcp:0.4.2

工具

44
参数类型必填说明
addressstring是TRON Base58 地址(以 T 开头)

详细介绍

GoTRON MCP 服务

Go Reference Go Report Card CI Coverage License

用于 TRON 区块链的 MCP 服务——让 AI Agent 查询余额、代币和区块,并构建交易。

基于 GoTRON SDK 和 Model Context Protocol 构建。

两种模式

本地模式托管模式
传输方式stdioStreamable HTTP
读取工具全部全部
交易构建器全部(未签名交易十六进制数据)全部(未签名交易十六进制数据)
签名/广播可通过密钥库口令启用已禁用
安装需要无需安装

安装

Go 安装
go install github.com/fbsobreira/gotron-mcp/cmd/gotron-mcp@latest
Homebrew
brew install fbsobreira/tap/gotron-mcp
curl
curl -fsSL gotron.sh/install-mcp | sh
Docker
docker run -p 8080:8080 ghcr.io/fbsobreira/gotron-mcp

该镜像会启动 HTTP 传输。若要使用 stdio,请追加 --transport stdio:

docker run -i --rm ghcr.io/fbsobreira/gotron-mcp --transport stdio
MCP Registry

每次发布稳定版本标签(vX.Y.Z)时,都会从 v0.4.1 开始将其发布到 MCP Registry,名称为 io.github.fbsobreira/gotron-mcp,并提供 Docker 镜像(stdio)和托管端点。

托管模式(无需安装)

直接连接到 https://mcp.gotron.sh/mcp——无需安装。

Claude Code 插件

gotron 插件将托管服务与 USDT 转账和能量估算技能打包在一起。 gotron-local 插件会在本地运行 gotron-mcp 二进制文件,并支持密钥库签名。

目前尚不支持通过公共市场安装。若要立即连接,请使用下方的 Claude Code MCP 配置。插件源代码和配置详情请参见上方链接的目录。

Claude Desktop 配置

本地模式
{
  "mcpServers": {
    "gotron": {
      "command": "gotron-mcp",
      "args": ["--network", "mainnet"],
      "env": {
        "GOTRON_NODE_API_KEY": "your-trongrid-api-key"
      }
    }
  }
}
使用密钥库签名的本地模式
{
  "mcpServers": {
    "gotron": {
      "command": "gotron-mcp",
      "args": ["--network", "mainnet"],
      "env": {
        "GOTRON_NODE_API_KEY": "your-trongrid-api-key",
        "GOTRON_MCP_KEYSTORE_PASSPHRASE": "your-keystore-passphrase"
      }
    }
  }
}
托管模式(无需安装)
{
  "mcpServers": {
    "gotron": {
      "url": "https://mcp.gotron.sh/mcp"
    }
  }
}
Claude Code

选择以下设置选项之一。

项目范围的本地服务:

claude mcp add gotron --scope project -- gotron-mcp --network mainnet

使用密钥库签名的用户范围本地服务:

如果已存在项目范围的 gotron 条目,请先使用 claude mcp remove gotron --scope project 将其移除。对于本地范围的条目,请使用 claude mcp remove gotron --scope local。使用 claude mcp get gotron 检查所选条目:本地和项目条目的优先级高于用户条目,且它们的设置不会合并。请参阅 Claude Code 的范围优先级。

保存环境变量引用,而不是口令本身。保留单引号,以免 shell 在注册服务时展开该引用:

claude mcp add gotron --scope user -e 'GOTRON_MCP_KEYSTORE_PASSPHRASE=${GOTRON_MCP_KEYSTORE_PASSPHRASE:-}' -- gotron-mcp --network mainnet

然后在 Bash 或 Zsh 中启动 Claude,并通过隐藏的口令提示输入口令:

(
  set +x
  printf 'Keystore passphrase: '
  IFS= read -r -s GOTRON_MCP_KEYSTORE_PASSPHRASE || exit 1
  printf '\n'
  export GOTRON_MCP_KEYSTORE_PASSPHRASE
  claude
)

子 shell 会将导出的值限制在该 Claude 会话中。提示可避免口令出现在 shell 历史记录和命令行参数中;但它仍可在 Claude 及其 MCP 服务的环境中使用。每次启动新的签名会话时,都要重新输入口令。如果未提供口令,该引用会展开为空值,钱包/签名工具也会保持禁用状态。

如果之前使用 -e 注册了明文口令,它会以纯文本形式存储在 ~/.claude.json 中,也可能仍留在 shell 历史记录中。使用 claude mcp remove gotron --scope user 移除旧的用户范围条目,然后使用上面的引用重新注册,并删除旧的历史记录条目。请参阅 Claude Code 的环境变量展开文档。

未配置密钥库的用户范围本地服务:

claude mcp add gotron --scope user -- gotron-mcp --network mainnet

托管服务(零安装):

claude mcp add gotron --scope user --transport http https://mcp.gotron.sh/mcp

可用工具

只读(两种模式均可用)
工具描述
get_account获取账户余额、带宽、能量及详细信息
get_account_resources获取能量/带宽使用量和限额
get_trc20_balance获取账户的 TRC20 代币余额
get_trc20_token_info获取 TRC20 代币名称、符号和小数位数
analyze_transfer_cost估算 TRX 或 TRC20 转账成本,包括向新 TRX 接收方转账时的账户激活费用
get_block按区块编号获取区块,或获取最新区块
get_transaction按 ID 获取交易详情
list_witnesses列出所有超级代表
get_contract_abi获取智能合约 ABI
estimate_energy估算合约调用的能量成本
trigger_constant_contract调用只读(view/pure)智能合约方法
decode_abi_output解码合约调用的 ABI 编码输出或还原原因
list_contract_methods获取合约方法的易读摘要
get_chain_parameters获取网络参数
validate_address验证 TRON 地址
get_energy_prices获取能量价格历史记录
get_bandwidth_prices获取带宽价格历史记录
list_proposals列出治理提案
get_network获取当前网络连接信息
get_pq_capabilities报告节点和构建版本对后量子(TIP-899)签名的支持情况
交易构建器(两种模式均可用)
工具描述
transfer_trx构建未签名的 TRX 转账
transfer_trc20构建未签名的 TRC20 代币转账
freeze_balance构建未签名的 TRX 质押交易,以获取能量/带宽(Stake 2.0)
unfreeze_balance构建未签名的 TRX 取消质押交易(Stake 2.0)
vote_witness构建未签名的超级代表投票交易
trigger_contract构建未签名的智能合约调用
签名与广播(本地模式 + 密钥库)
工具描述
sign_transaction使用本地密钥库签名交易
broadcast_transaction将已签名交易广播到网络
后量子签名(TIP-899,Nile)

create_wallet(name, key_type?) 接受 ecdsa(默认值)、ml_dsa_44 或 fn_dsa_512;list_wallets 和签名结果会报告 key_type。sign_transaction、sign_and_broadcast、sign_and_confirm 和 request_limit_override 支持使用 PQ 钱包,并遵循与 ECDSA 钱包相同的策略限制、Telegram 审批和征询流程。

  • TIP-899 仍是草案,目前仅在 Nile 上启用(grpc.nile.trongrid.io:50051);治理机制可切换各方案的启用状态,主网则报告均未启用。使用 get_pq_capabilities 检查节点和此构建版本是否支持。
  • 在进行任何策略检查或审批之前,PQ 签名都要求节点已启用相应方案,并且钱包地址是所有者账户上该交易权限(permission_id)的密钥。新的 PQ 地址必须先收到 TRX。
  • PQ 密钥会使用 GOTRON_MCP_KEYSTORE_PASSPHRASE 加密存储在 <keystore-dir>/pq-keys/<name>/ 下(兼容 wallet-cli,目录布局与 tronctl 相同)。将 --keystore-dir 指向 tronctl 配置根目录(例如 ~/.tronctl)即可复用其密钥;口令必须与其密码一致。ECDSA 和 PQ 钱包的名称必须唯一;list_wallets 会将此类钱包标记为 duplicate_name: true,在重命名其中一个副本之前,此类钱包无法签名。
  • 签名会写入 pq_auth_sig(txid 不变);一笔交易最多携带 5 个签名,ECDSA 和 PQ 签名合计计算。PQ 交易的大小约为 ECDSA 交易的 10–22 倍(FN-DSA-512 约为 10 倍,ML-DSA-44 约为 22 倍),因此会占用更多带宽。
  • ML-DSA-44 使用纯 Go 实现,适用于所有构建版本。FN-DSA-512(Falcon-512,目前已在 Nile 启用)需要使用 -tags falcon 构建,并安装 CGO 和通过 pkg-config 安装的 liboqs:CGO_ENABLED=1 go build -tags falcon ./cmd/gotron-mcp。若未满足这些条件,FN-DSA 的创建或签名操作会返回错误,并提示使用 gotron-mcp-pq 构建;计划提供相应的发布二进制文件(GOT-97)。
  • 目前尚不支持:通过 MCP 将 PQ 密钥添加到现有账户的权限中(GOT-98;请使用 tronctl 或 SDK 指南),以及使用多个 MCP 钱包共同签署一笔交易(GOT-99)。

配置

标志环境变量默认值描述
--nodeGOTRON_MCP_NODE(因网络而异)TRON gRPC 节点地址
--api-keyGOTRON_NODE_API_KEY—TronGrid API 密钥
--networkGOTRON_MCP_NETWORKmainnet网络:mainnet、nile、shasta
--transport—stdio传输方式:stdio、http
--port—8080HTTP 服务端口
--bind—127.0.0.1HTTP 服务绑定地址
--fallback-nodeGOTRON_MCP_FALLBACK_NODE—备用 gRPC 节点(自动故障转移)
--keystore-dirGOTRON_MCP_KEYSTORE_DIR~/.gotron-mcp/wallets钱包目录
--keystore-passGOTRON_MCP_KEYSTORE_PASSPHRASE—密钥库口令;仅在设置后才会注册钱包和签名工具
--tls—false对 gRPC 连接使用 TLS(默认:明文)
网络预设
网络默认节点
mainnetgrpc.trongrid.io:50051
nilegrpc.nile.trongrid.io:50051
shastagrpc.shasta.trongrid.io:50051

显式指定的 --node 会覆盖网络预设。

读取合约需要节点支持 vm.supportConstant = true。如果节点报告不支持常量执行,且配置了 --fallback-node,读取操作会尝试使用该备用节点。TRC20 读取也会在结果为空时使用备用节点,因为代币读取需要返回数据。一般合约模拟即使没有返回数据也可能成功。备用节点必须服务于同一网络。此备用机制按调用独立应用,不受区块健康检查影响;合约执行回退会作为错误返回。

向未激活的接收方转账 TRX 时,analyze_transfer_cost 会从链参数中读取账户创建费用和带宽乘数。只有质押或委托的带宽可以抵扣账户创建费用;免费带宽不能抵扣。如果无法确定接收方是否已激活或所需的费用参数,该工具会返回错误,而不是报出零费用。

安全性

  • 服务器绝不会直接存储或管理私钥
  • 所有写入工具都会返回未签名的交易十六进制字符串——由用户决定如何签名
  • 密钥库签名为可选功能:只有设置了密钥库密码短语时,才会注册钱包和签名工具
  • 在托管(HTTP)模式下,所有写入和签名工具都会自动禁用
  • API 密钥为可选项,仅在需要应对 TronGrid 速率限制时使用

开发

# Build
make build

# Format code
make fmt

# Run tests
make test

# Lint
make lint

# Run HTTP mode locally
make run-http

社区

由 CryptoChain 社区开发者构建并维护。

如果你觉得这个项目有用,可以通过投票支持 CryptoChain 超级代表,助力 TRON 治理:

许可证

LGPL-3.0 — 与 GoTRON SDK 相同。

链接

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。