GoTRON MCP について
GoTRON MCPは、GoTRON SDKを基盤とする、AIエージェントやMCPクライアント向けのTRONブロックチェーンサーバーです。チェーン情報の照会や未署名トランザクションの作成に対応し、ローカル署名は任意で有効にできます。
主な機能
- 01TRXとTRC20の残高照会
- 02ブロック、トランザクション、コントラクトの確認
- 03送金コストとエネルギーの見積もり
- 04未署名の送金・ステーキング取引の作成
- 05ローカルキーストア署名の任意利用
活用シーン
- 01アカウント残高とネットワークリソースの確認
- 02コントラクトデータの確認と呼び出しエネルギーの見積もり
- 03署名用のTRXまたはTRC20送金の準備
- 04ガバナンス提案とスーパーレプレゼンタティブの確認
MCP 対応
MCPクライアントにTRONのアカウント、トークン、チェーン、コントラクト、ガバナンス用ツールを提供します。ローカルモードはstdioを使い、キーストア署名を任意で有効化できます。ホスト型HTTPモードでは書き込みと署名のツールが無効です。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.gotron.sh/mcpclaude mcp add --transport http gotron https://mcp.gotron.sh/mcp{"mcpServers":{"gotron":{"type":"http","url":"https://mcp.gotron.sh/mcp"}}}Cursor で開く{"servers":{"gotron":{"type":"http","url":"https://mcp.gotron.sh/mcp"}}}VS Code で開く{"mcpServers":{"gotron":{"type":"http","url":"https://mcp.gotron.sh/mcp"}}}{"mcpServers":{"gotron":{"serverUrl":"https://mcp.gotron.sh/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ghcr.io/fbsobreira/gotron-mcp:0.4.2stdioツール
44| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| address | string | はい | TRON の Base58 アドレス(T で始まる) |
詳細
GoTRON MCP サーバー
TRON ブロックチェーン用の MCP サーバーです。AI エージェントが残高、トークン、ブロックを照会し、トランザクションを構築できます。
GoTRON SDK と Model Context Protocol を基盤に構築されています。
2 つのモード
| ローカルモード | ホストモード | |
|---|---|---|
| トランスポート | stdio | Streamable HTTP |
| 読み取りツール | すべて | すべて |
| トランザクションビルダー | すべて(未署名の tx hex) | すべて(未署名の tx hex) |
| 署名/ブロードキャスト | キーストアのパスフレーズでオプトイン | 無効 |
| インストール | 必要 | インストール不要 |
インストール
Go Install
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
v0.4.1 以降、安定版リリースタグ(vX.Y.Z)ごとに、Docker イメージ(stdio)とホスト型エンドポイントとともに、io.github.fbsobreira/gotron-mcp として MCP Registry に公開されています。
ホスト型(インストール不要)
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
次のセットアップ方法から1つ選択してください。
プロジェクト全体で使用するローカルサーバー:
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のスコープの優先順位を参照してください。
パスフレーズそのものではなく、環境変数への参照を保存してください。サーバーの登録時にシェルが参照を展開しないよう、シングルクォートを付けたままにしてください。
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
)
サブシェルにより、エクスポートされた値はその Claude セッション内に限定されます。プロンプトを使うことで、パスフレーズがシェルの履歴やコマンドライン引数に残りません。ただし、Claude とその MCP サーバーの環境変数からは引き続き参照できます。新しい署名セッションを開始するたびに、プロンプトへの入力を繰り返してください。パスフレーズが指定されていない場合、参照は空の値に展開され、ウォレット/署名ツールは無効のままになります。
以前に -e を使ってリテラルのパスフレーズを登録した場合、その値は ~/.claude.json にプレーンテキストで保存され、シェルの履歴にも残っている可能性があります。古いユーザースコープのエントリを 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 は、ECDSA ウォレットと同じポリシー上限、Telegram 承認、エリシテーションのもとで PQ ウォレットを受け付けます。
- TIP-899 はドラフトで、Nile(
grpc.nile.trongrid.io:50051)でのみ有効です。ガバナンスによって各方式の有効・無効が切り替えられ、メインネットではどの方式も有効になっていないと報告されます。ノードとこのビルドの対応状況を確認するには、get_pq_capabilitiesを使用してください。 - ポリシーのチェックや承認を行う前に、PQ 署名にはノードでその方式が有効になっていることと、ウォレットのアドレスが所有者アカウント上のトランザクション権限(
permission_id)のキーであることが必要です。新しい PQ アドレスには、まず TRX を送金する必要があります。 - PQ キーは
<keystore-dir>/pq-keys/<name>/にGOTRON_MCP_KEYSTORE_PASSPHRASEで暗号化して保存されます(wallet-cli と互換性があり、tronctl と同じレイアウトです)。キーを再利用するには、--keystore-dirに tronctl の設定ルート(例:~/.tronctl)を指定してください。パスフレーズはキーのパスワードと一致する必要があります。ウォレット名は ECDSA ウォレットと PQ ウォレットの間で一意でなければなりません。list_walletsはduplicate_name: trueを表示し、重複したウォレットはどちらかの名前を変更するまで署名できません。 - 署名は
pq_auth_sigに格納されます(txid は変更されません)。トランザクションに含められる署名は、ECDSA と PQ を合わせて最大 5 つです。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ビルドを案内するエラーが返されます。FN-DSA 用のリリースバイナリは今後提供予定です(GOT-97)。 - 現時点で未対応:MCP から既存アカウントの権限に PQ キーを追加すること(GOT-98。tronctl またはSDK ガイドを使用してください)、および複数の MCP ウォレットで 1 つのトランザクションに共同署名すること(GOT-99)。
設定
| フラグ | 環境変数 | デフォルト | 説明 |
|---|---|---|---|
--node | GOTRON_MCP_NODE | (ネットワークごと) | TRON gRPC ノードアドレス |
--api-key | GOTRON_NODE_API_KEY | — | TronGrid API キー |
--network | GOTRON_MCP_NETWORK | mainnet | ネットワーク:mainnet、nile、shasta |
--transport | — | stdio | トランスポート:stdio、http |
--port | — | 8080 | HTTP サーバーのポート |
--bind | — | 127.0.0.1 | HTTP サーバーのバインドアドレス |
--fallback-node | GOTRON_MCP_FALLBACK_NODE | — | フォールバック gRPC ノード(自動フェイルオーバー) |
--keystore-dir | GOTRON_MCP_KEYSTORE_DIR | ~/.gotron-mcp/wallets | ウォレットのディレクトリ |
--keystore-pass | GOTRON_MCP_KEYSTORE_PASSPHRASE | — | キーストアのパスフレーズ。設定されている場合にのみ、ウォレットツールと署名ツールが登録されます |
--tls | — | false | gRPC 接続で TLS を使用します(デフォルト:平文) |
ネットワークプリセット
| ネットワーク | デフォルトノード |
|---|---|
| mainnet | grpc.trongrid.io:50051 |
| nile | grpc.nile.trongrid.io:50051 |
| shasta | grpc.shasta.trongrid.io:50051 |
明示的に指定した --node はネットワークプリセットより優先されます。
コントラクトの読み取りには、vm.supportConstant = true のノードが必要です。ノードが定数実行をサポートしていないと報告した場合、設定されていれば読み取り時に --fallback-node を試します。トークンの読み取りには戻り値が必要なため、TRC20 の読み取りでも結果が空の場合にフォールバックを使用します。一般的なコントラクトシミュレーションは、戻り値がなくても成功する場合があります。フォールバックノードは同じネットワークに接続している必要があります。このフォールバックはブロックの健全性チェックとは独立して、呼び出しごとに適用されます。コントラクトのリバートはエラーとして返されます。
未アクティブの受取人に TRX を送金する場合、analyze_transfer_cost はチェーンパラメーターからアカウント作成手数料と帯域幅倍率を読み取ります。アカウント作成に充てられるのは、ステーキングまたは委任された帯域幅のみです。無料の帯域幅は使用できません。受取人のアクティベーション状況または必要な手数料パラメーターを特定できない場合、このツールは手数料をゼロとして提示するのではなく、エラーを返します。
セキュリティ
- サーバーが秘密鍵を直接保存または管理することはありません
- 書き込みツールはすべて未署名のトランザクションの hexを返します。署名方法はユーザーが選択します
- キーストアによる署名はオプトイン方式です。キーストアのパスフレーズが設定されている場合にのみ、ウォレットツールと署名ツールが登録されます
- ホスト型(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 Super Representative に投票して、TRON のガバナンスを支援することをご検討ください。
- TronScan で投票
- SR アドレス:
TKSXDA8HfE9E1y39RczVQ1ZascUEtaSToF
ライセンス
LGPL-3.0 — GoTRON SDK と同じです。
リンク
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。