MCP API

TronGrid MCP Server指南

1. 简介

TronGrid MCP Server 是一款基于 模型上下文协议 (Model Context Protocol, MCP) 的服务,它将波场 (TRON) 区块链的查询和操作能力封装为标准化的 MCP 工具。这使得 AI 客户端(如 Claude、Cursor、自定义 Agent 等)能够直接与波场网络进行交互。

2. 快速开始

MCP 服务地址 (URL)

环境URL
生产环境https://mcp.trongrid.io/mcp

协议说明

  • MCP 协议版本: 2025-11-25
  • 传输协议: Streamable HTTP

3. 客户端配置

3.1 Claude Desktop (桌面版)

编辑配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "trongrid": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.trongrid.io/mcp"
      ]
    }
  }
}

如需传入 API Key:

{
  "mcpServers": {
    "trongrid": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.trongrid.io/mcp",
        "--header",
        "TRON-PRO-API-KEY:<您的-api-key>"
      ]
    }
  }
}

3.2 Claude Code (命令行版)

选项 1:CLI 命令

claude mcp add --transport http trongrid https://mcp.trongrid.io/mcp

选项 2:项目配置文件

在项目根目录下创建 .mcp.json

{
  "mcpServers": {
    "trongrid": {
      "type": "http",
      "url": "https://mcp.trongrid.io/mcp"
    }
  }
}

4. MCP 协议基础

MCP 使用可流式 HTTP 进行传输,所有通信均通过 POST /mcp 端点完成。该协议是有状态的,且需要按顺序进行握手:

┌──────────┐                      ┌──────────┐
│  客户端  │                      │  服务器  │
└────┬─────┘                      └────┬─────┘
     │  1. initialize (初始化)         │
     │ ──────────────────────────────► │
     │ ◄── mcp-session-id              │
     │                                 │
     │  2. notifications/initialized   │
     │ ──────────────────────────────► │
     │ ◄── 202 Accepted                │
     │                                 │
     │  3. tools/list (工具列表)       │
     │ ──────────────────────────────► │
     │ ◄── 工具列表                    │
     │                                 │
     │  4. tools/call (工具调用)       │
     │ ──────────────────────────────► │
     │ ◄── 工具执行结果                │
     └                                 ┘

所有请求必须携带以下请求头 (Headers):

请求头取值描述
Content-Typeapplication/json必填
Acceptapplication/json, text/event-stream必填
mcp-session-id<session-id>握手完成后,后续请求必填

5. 使用 curl 进行手动测试

步骤 1 — 初始化 (获取会话 ID)

curl -v -X POST https://mcp.trongrid.io/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2026-03-06",
      "capabilities": {},
      "clientInfo": { "name": "curl-test", "version": "1.0" }
    }
  }'

在响应中找到 mcp-session-id 并保存,用于后续请求。

步骤 2 — 发送 initialized 通知

curl -X POST https://mcp.trongrid.io/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: <您的-session-id>" \
  -d '{
    "jsonrpc": "2.0",
    "method": "notifications/initialized",
    "params": {}
  }'

返回 202 Accepted 表示成功。

步骤 3 — 查看可用工具

curl -X POST https://mcp.trongrid.io/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: <您的-session-id>" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'

步骤 4 — 调用工具

以查询区块统计信息为例:

curl -X POST https://mcp.trongrid.io/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: <您的-session-id>" \
  -d '{
    "jsonrpc": "2.0",
    "id": 3,
    "method": "tools/call",
    "params": {
      "name": "getBlockStatistics",
      "arguments": { "blockNum": 68000000 }
    }
  }'

6. 可用工具分类

服务器共暴露了 149 个 MCP 工具,涵盖了波场网络的主要查询和操作:

6.1 HTTP REST API 查询工具 (18 个)

通过 TronGrid REST API 查询链上数据。

区块相关 (1)

工具名称描述
getBlockStatistics通过区块号获取特定波场区块的统计信息

账户相关 (6)

工具名称描述
getAccountInfo获取波场地址的账户信息
getAccountTransactions获取波场账户地址的近期交易记录
getAccountTrc20Transactions获取波场账户的 TRC-20 代币转账历史
getInternalTransactions获取波场账户地址的内部交易记录
getInternalTransactionsByTxId获取特定交易 ID 的内部交易记录
getTrc20Balance获取波场账户地址的 TRC-20 代币余额

资产相关 (3)

工具名称描述
listAllAssets列举波场区块链上所有的 TRC-10 资产(代币)
getAssetByName通过名称获取 TRC-10 资产
getAssetByIdentifier通过数字 ID 或发行者地址获取 TRC-10 资产

合约相关 (3)

工具名称描述
getContractTransactions获取智能合约地址的交易记录
getContractInternalTransactions获取智能合约的内部交易记录
getTrc20TokenHolders获取合约地址对应的 TRC-20 代币持有者余额

事件相关 (4)

工具名称描述
getEventsByTransactionId获取特定交易抛出的事件
getEventsByContractAddress获取智能合约地址抛出的事件
getEventsByBlockNumber获取特定区块号中的事件
getEventsByLatestBlock获取最新区块中的事件

TRC-20 代币相关 (1)

工具名称描述
getTrc20Info获取 TRC-20/721/1155 代币的信息(名称、符号、精度)

6.2 节点/wallet/ API 操作工具 (73 个)

全节点 /wallet/* API 端点,用于交易创建与广播、账户管理、资源质押与代理、智能合约、超级代表以及治理提案。

地址验证与交易广播 (3)

工具名称描述
validateAddress验证波场地址格式
broadcastTransaction向波场网络广播已签名的交易
broadcastHex向波场网络广播十六进制编码的已签名交易

账户管理 (5)

工具名称描述
createAccount在波场网络上激活账户
getAccount查询账户链上信息(TRX 余额、资产、质押情况)
updateAccount更新波场账户名称
accountPermissionUpdate更新账户权限
getApprovedList获取交易的批准签名者列表

TRX 转账 (1)

工具名称描述
createTransaction创建 TRX 转账交易

账户资源查询 (2)

工具名称描述
getAccountResource获取账户资源信息(带宽、能量)
getAccountNet获取账户带宽信息

资源质押与代理 — Stake 1.0 (4)

工具名称描述
freezeBalance[已弃用] 为获取带宽/能量而质押 TRX (Stake 1.0)
unfreezeBalance[已弃用] 解质押 TRX (Stake 1.0)
getDelegatedResource查询资源代理信息
getDelegatedResourceAccountIndex查询代理索引

资源质押与代理 — Stake 2.0 (11)

工具名称描述
freezeBalanceV2为获取带宽/能量而质押 TRX (Stake 2.0)
unfreezeBalanceV2解质押 TRX (Stake 2.0)
cancelAllUnfreezeV2取消 Stake 2.0 中所有进行中的解质押操作
delegateResource将带宽/能量代理给另一个账户
unDelegateResource取消代理带宽/能量
withdrawExpireUnfreeze提取已到期的解质押 TRX
getAvailableUnfreezeCount获取剩余的解质押次数额度
getCanWithdrawUnfreezeAmount获取可提取的解质押 TRX 数量
getCanDelegatedMaxSize获取最大可代理资源数量
getDelegatedResourceV2查询 Stake 2.0 代理信息
getDelegatedResourceAccountIndexV2查询 Stake 2.0 代理索引

区块查询 (2)

工具名称描述
getBlock获取波场区块头或完整区块
getTransactionInfoByBlockNum获取区块中所有的交易信息

交易查询 (5)

工具名称描述
getTransactionById通过 ID 获取交易信息
getTransactionInfoById通过 ID 获取交易费用和回执信息
getTransactionListFromPending获取待处理 (Pending) 交易 ID 列表
getTransactionFromPending获取特定的待处理交易
getPendingSize获取待处理交易池的大小

网络与链参数 (5)

工具名称描述
listNodes列出所有波场网络节点
getNodeInfo获取波场节点信息
getChainParameters获取波场链参数
getEnergyPrices获取历史能量价格
getBandwidthPrices获取历史带宽价格

其他链上查询 (1)

工具名称描述
getBurnTrx获取已销毁的 TRX 总量

TRC-10 资产管理 (11)

工具名称描述
getAssetIssueByAccount获取账户发行的 TRC-10 资产
getAssetIssueById通过代币 ID 获取 TRC-10 资产
getAssetIssueByName通过名称获取 TRC-10 资产
getAssetIssueList获取所有 TRC-10 资产
getAssetIssueListByName通过名称获取 TRC-10 资产(列表)
getPaginatedAssetIssueList分页获取 TRC-10 资产列表
createAssetIssue发行新的 TRC-10 代币
participateAssetIssue参与 TRC-10 代币发行
transferAsset创建 TRC-10 代币转账交易
unfreezeAsset解冻 TRC-10 代币
updateAsset更新 TRC-10 代币参数

智能合约 (9)

工具名称描述
getContract获取智能合约字节码和 ABI
getContractInfo获取包含能量设置在内的智能合约信息
triggerSmartContract触发智能合约函数调用
triggerConstantContract预执行(模拟)智能合约调用
deployContract在波场上部署新的智能合约
updateSetting更新智能合约的 consume_user_resource_percent
updateEnergyLimit更新智能合约的 origin_energy_limit
clearAbi清除智能合约的 ABI
estimateEnergy估算合约调用所需的能量

超级代表 (SR) 管理 (8)

工具名称描述
createWitness申请成为超级代表候选人
updateWitness更新超级代表信息
getBrokerage获取超级代表收益佣金比例
updateBrokerage更新超级代表收益佣金比例
voteWitnessAccount为超级代表投票
getReward获取未领取的投票奖励
withdrawBalance提取超级代表奖励
getNextMaintenanceTime获取下次波场投票维护时间

超级代表列表 (1)

工具名称描述
getPaginatedNowWitnessList分页获取超级代表列表

治理提案 (5)

工具名称描述
listProposals列出所有波场网络提案
getProposalById通过 ID 获取特定提案
proposalCreate创建新的网络提案
proposalApprove批准网络提案
proposalDelete删除网络提案

6.3 节点 /WalletSolidity/ API 只读工具 (25 个)

从已确认(不可逆)的 Solidity 节点读取数据,确保数据的确定性。所有工具名称均以 solidity 为前缀。

账户相关 (1)

工具名称描述
solidityGetAccount从已固化节点查询账户信息

交易查询 (4)

工具名称描述
solidityGetTransactionById通过 ID 获取已确认的交易记录
solidityGetTransactionInfoById通过 ID 获取已确认交易的费用信息
solidityGetTransactionInfoByBlockNum获取区块中已确认的交易信息
solidityGetTransactionCountByBlockNum获取已确认区块中的交易数量

区块查询 (1)

工具名称描述
solidityGetBlock获取已确认的区块头/完整区块

资源代理查询 (7)

工具名称描述
solidityGetDelegatedResource从已固化节点查询代理信息
solidityGetDelegatedResourceAccountIndex从已固化节点查询代理索引
solidityGetDelegatedResourceV2从已固化节点查询 Stake 2.0 代理信息
solidityGetDelegatedResourceAccountIndexV2从已固化节点查询 Stake 2.0 代理索引
solidityGetCanDelegatedMaxSize从已固化节点获取最大可代理数量
solidityGetCanWithdrawUnfreezeAmount从已固化节点获取可提取数量
solidityGetAvailableUnfreezeCount从已固化节点获取解质押次数额度

节点与链信息 (2)

工具名称描述
solidityGetNodeInfo获取波场已固化节点的信息
solidityGetBurnTrx从已固化节点获取已销毁的 TRX 总量

智能合约 (2)

工具名称描述
solidityTriggerConstantContract在已固化状态上模拟合约调用
solidityEstimateEnergy在已固化状态上估算能量

TRC-10 资产查询 (5)

工具名称描述
solidityGetAssetIssueById从已固化节点通过 ID 获取 TRC-10 资产
solidityGetAssetIssueByName从已固化节点通过名称获取 TRC-10 资产
solidityGetAssetIssueList从已固化节点获取所有 TRC-10 资产
solidityGetAssetIssueListByName从已固化节点通过名称获取 TRC-10 资产(列表)
solidityGetPaginatedAssetIssueList从已固化节点分页获取 TRC-10 资产列表

超级代表查询 (3)

工具名称描述
solidityGetReward从已固化节点获取未领取的奖励
solidityGetBrokerage从已固化节点获取超级代表佣金比例
solidityGetPaginatedNowWitnessList从已固化节点分页获取超级代表列表

6.4 JSON-RPC 工具 (33 个)

兼容以太坊的 JSON-RPC API 方法,供从以太坊生态迁移过来的开发者使用。

账户与余额 (1)

工具名称描述
ethGetBalance返回波场账户的余额

区块操作 (7)

工具名称描述
ethBlockNumber返回波场最新的区块号
ethGetBlockByHash通过哈希获取波场区块
ethGetBlockByNumber通过高度获取波场区块
ethGetBlockReceipts获取波场区块的所有回执
ethGetBlockTransactionCountByHash通过区块哈希获取交易数量
ethGetBlockTransactionCountByNumber通过区块高度获取交易数量
ethGetWork返回当前波场区块哈希

交易操作 (6)

工具名称描述
ethGetTransactionByHash通过哈希获取波场交易信息
ethGetTransactionByBlockHashAndIndex通过区块哈希和索引获取交易
ethGetTransactionByBlockNumberAndIndex通过区块高度和索引获取交易
ethGetTransactionReceipt获取波场交易回执
ethCall在波场上执行只读消息调用
buildTransaction构建波场交易(TRX 转账、TRC-20、合约调用等)

合约与存储 (4)

工具名称描述
ethGetCode获取波场地址处的合约字节码
ethGetStorageAt获取波场合约地址处的存储值
ethEstimateGas估算波场交易的能量消耗
ethGasPrice返回当前能量价格(单位:sun)

过滤器与日志 (6)

工具名称描述
ethNewFilter创建波场日志过滤器
ethNewBlockFilter创建波场新区块过滤器
ethGetFilterChanges轮询波场过滤器的变动
ethGetFilterLogs获取匹配波场过滤器的日志
ethGetLogs根据过滤条件获取波场日志
ethUninstallFilter卸载波场过滤器

链与网络信息 (9)

工具名称描述
ethChainId返回波场链 ID
ethCoinbase返回节点的超级代表地址
ethProtocolVersion返回波场区块版本
ethSyncing返回波场同步状态
netListening检查波场客户端是否正在监听
netPeerCount获取连接到波场的节点数量
netVersion返回波场创世区块哈希
web3ClientVersion返回波场节点客户端版本
web3Sha3在波场上计算 Keccak-256 哈希

7. 集成至 AI 客户端

直接连接模式(支持可流式 HTTP 的客户端)

在您的 MCP 客户端配置文件中添加如下配置:

{
  "mcpServers": {
    "trongrid-mcp": {
      "url": "https://mcp.trongrid.io/mcp"
    }
  }
}

通过 mcp-remote 桥接(如 Claude Code 等)

对于不直接支持可流式 HTTP 的客户端(如 Claude Code),可以使用 mcp-remote 作为桥梁:

{
  "mcpServers": {
    "mcp-server-trongrid": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.trongrid.io/mcp"]
    }
  }
}

8. 常见问题 (FAQ)

问:工具调用返回 405 Method Not Allowed

答:会话可能已过期或失效。请重新运行 initialize 握手过程。

问:收到 TronGrid API 限流错误?

答:请通过 TRON-PRO-API-KEY 请求头传入您的 API Key。

问:curl 请求返回空数据?

答:请确保请求头包含 Accept: application/json, text/event-stream,这是可流式 HTTP 协议所要求的。