powersun-tron-mcp
TRON Energy marketplace + DEX swap aggregator for AI agents. 27 MCP tools.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"powersun-tron-mcp": {
"url": "https://powersun.vip/mcp"
}
}
}원격 엔드포인트
https://powersun.vip/mcpstreamable-http할 수 있는 일
도구 목록
도구 (27)
🟢get_prices(resourceType)
Get current TRON Energy and Bandwidth minimum prices for all duration tiers. Returns price per unit in SUN for each available duration.
입력 스키마
{
"type": "object",
"properties": {
"resourceType": {
"type": "string",
"enum": [
"ENERGY",
"BANDWIDTH"
],
"description": "Filter by resource type (default: all)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢estimate_cost(txCount, txType, durationMinutes, resourceType)
Calculate the cost of purchasing TRON Energy or Bandwidth. Provide transaction count and type to get the energy needed and cost in TRX.
입력 스키마
{
"type": "object",
"properties": {
"txCount": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "Number of transactions"
},
"txType": {
"type": "string",
"enum": [
"trc20_transfer",
"trc20_transfer_new",
"trc10_transfer",
"contract_call"
],
"description": "Transaction type (default: trc20_transfer). trc20_transfer_new = first-time transfer to an address."
},
"durationMinutes": {
"type": "number",
"description": "Duration in minutes. Allowed: 2, 5, 10, 15, 30, 60, 360, 1440, 10080, 43200. Default: 60."
},
"resourceType": {
"type": "string",
"enum": [
"ENERGY",
"BANDWIDTH"
],
"description": "Resource type (default: ENERGY)"
}
},
"required": [
"txCount"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_available_resources(resourceType, durationMinutes)
Get total available Energy and Bandwidth across all active pools. Shows how much resource can be purchased right now.
입력 스키마
{
"type": "object",
"properties": {
"resourceType": {
"type": "string",
"enum": [
"ENERGY",
"BANDWIDTH"
],
"description": "Filter by resource type (default: both)"
},
"durationMinutes": {
"type": "number",
"description": "Filter pools that support this duration"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_market_overview
Comprehensive market overview: prices, availability, allowed durations, order constraints, and transaction types. Useful for agents to understand what they can purchase.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_balance
Get your current TRX balance and deposit information. Requires API key authentication.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪buy_energy(targetAddress, txCount, txType, durationMinutes, resourceType)
Purchase TRON Energy for a target address. Creates a MARKET order that will be filled by available pools. Deducts cost from your balance.
입력 스키마
{
"type": "object",
"properties": {
"targetAddress": {
"type": "string",
"maxLength": 34,
"description": "TRON address to delegate energy to (T-address format)"
},
"txCount": {
"type": "integer",
"exclusiveMinimum": 0,
"description": "Number of transactions you need energy for"
},
"txType": {
"type": "string",
"enum": [
"trc20_transfer",
"trc20_transfer_new",
"trc10_transfer",
"contract_call"
],
"description": "Transaction type (default: trc20_transfer)"
},
"durationMinutes": {
"type": "number",
"description": "Duration in minutes. Allowed: 2, 5, 10, 15, 30, 60, 360, 1440, 10080, 43200. Default: 60."
},
"resourceType": {
"type": "string",
"enum": [
"ENERGY",
"BANDWIDTH"
],
"description": "Resource type (default: ENERGY)"
}
},
"required": [
"targetAddress",
"txCount"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡broadcast_transaction(txData)
Broadcast a pre-signed TRON transaction with auto energy delegation. Send your signed transaction data and PowerSun will delegate energy before broadcasting. Works with API key (balance deduction) or x402 USDC payment. Without authentication, returns cost estimate.
입력 스키마
{
"type": "object",
"properties": {
"txData": {
"type": "object",
"properties": {
"txID": {
"type": "string",
"maxLength": 64
},
"raw_data": {},
"raw_data_hex": {
"type": "string",
"maxLength": 100000
},
"signature": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
}
}
},
"required": [
"txID"
],
"additionalProperties": true,
"description": "Pre-signed transaction object with txID, raw_data, raw_data_hex, and signature"
}
},
"required": [
"txData"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_orders(status, limit)
Get your order history with optional status filter. Returns recent orders sorted by creation time.
입력 스키마
{
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"pending",
"active",
"processing",
"completed",
"failed",
"cancelled",
"expired"
],
"description": "Filter by order status"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"description": "Maximum number of orders to return (default: 20)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_order_status(orderId)
Get detailed status of a specific order including delegation progress.
입력 스키마
{
"type": "object",
"properties": {
"orderId": {
"type": "string",
"maxLength": 36,
"description": "Order ID (UUID format)"
}
},
"required": [
"orderId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_deposit_info
Get the deposit address to top up your account balance with TRX.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡get_swap_quote(fromToken, toToken, amountIn, slippageBps)
Get a price quote and unsigned transaction for swapping tokens on SunSwap DEX. Returns an unsigned TX for client-side signing. After signing, submit via execute_swap. Requires API key.
입력 스키마
{
"type": "object",
"properties": {
"fromToken": {
"type": "string",
"maxLength": 34,
"description": "Token to sell — symbol (USDT, TRX, SUN, ...) or TRC-20 contract address"
},
"toToken": {
"type": "string",
"maxLength": 34,
"description": "Token to buy — symbol or TRC-20 contract address"
},
"amountIn": {
"type": "string",
"description": "Amount to swap in smallest unit (SUN for TRX, base units for tokens)"
},
"slippageBps": {
"type": "integer",
"minimum": 1,
"maximum": 5000,
"description": "Slippage tolerance in basis points (default: 50 = 0.5%)"
}
},
"required": [
"fromToken",
"toToken",
"amountIn"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡execute_swap(txData)
Execute a pre-signed swap transaction with automatic energy delegation. Get the unsigned TX from get_swap_quote, sign it, and submit here. Energy is delegated before broadcast. Works with API key (balance deduction) or x402 USDC payment.
입력 스키마
{
"type": "object",
"properties": {
"txData": {
"type": "object",
"properties": {
"txID": {
"type": "string",
"maxLength": 64
},
"raw_data": {},
"raw_data_hex": {
"type": "string",
"maxLength": 100000
},
"signature": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200
}
}
},
"required": [
"txID"
],
"additionalProperties": true,
"description": "Pre-signed swap transaction from get_swap_quote"
}
},
"required": [
"txData"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_pool_stats
Get comprehensive statistics for your energy/bandwidth pools: delegations, revenue, utilization, APY. Requires API key.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_earnings(startDate, endDate)
Get earnings breakdown by pool: total earned, pending payout, paid out. Optionally filter by date range.
입력 스키마
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"maxLength": 30,
"description": "Start date (ISO 8601, e.g. 2026-01-01)"
},
"endDate": {
"type": "string",
"maxLength": 30,
"description": "End date (ISO 8601)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_auto_selling_config
Get current auto-selling configuration for your pools. Shows which resources are being sold, duration constraints, and reserves.
입력 스키마
{
"type": "object",
"properties": {},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡configure_auto_selling(configId, active, sellEnergy, sellBandwidth, reservedEnergy, ...)
Update auto-selling configuration for a pool. Toggle energy/bandwidth selling, set reserves, duration constraints. Pass the configId from get_auto_selling_config.
입력 스키마
{
"type": "object",
"properties": {
"configId": {
"type": "string",
"maxLength": 36,
"description": "Configuration ID to update (from get_auto_selling_config)"
},
"active": {
"type": "boolean",
"description": "Enable/disable auto-selling"
},
"sellEnergy": {
"type": "boolean",
"description": "Enable/disable energy selling"
},
"sellBandwidth": {
"type": "boolean",
"description": "Enable/disable bandwidth selling"
},
"reservedEnergy": {
"type": "integer",
"minimum": 0,
"description": "Energy to keep reserved (not sold)"
},
"reservedBandwidth": {
"type": "integer",
"minimum": 0,
"description": "Bandwidth to keep reserved (not sold)"
},
"minDuration": {
"type": "string",
"maxLength": 10,
"description": "Minimum rental duration (e.g., \"5min\", \"1h\", \"1d\")"
},
"maxDuration": {
"type": "string",
"maxLength": 10,
"description": "Maximum rental duration"
},
"allowRenewals": {
"type": "boolean",
"description": "Allow order renewals"
}
},
"required": [
"configId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_pool_delegations(poolAddress)
Get active delegations from your pools. Shows who received energy/bandwidth and when delegations expire.
입력 스키마
{
"type": "object",
"properties": {
"poolAddress": {
"type": "string",
"maxLength": 34,
"description": "Filter by specific pool address. If not provided, shows all your pools."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪withdraw_earnings(amount)
Withdraw TRX from your account balance to your wallet. Minimum withdrawal: 100 TRX. Withdrawal is processed on-chain and may take a few minutes.
입력 스키마
{
"type": "object",
"properties": {
"amount": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Amount to withdraw in TRX (minimum 100 TRX)"
}
},
"required": [
"amount"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢register_pool(paymentAddress, sellEnergy, sellBandwidth, autoVote)
Register a TRON address as an energy/bandwidth selling pool on PowerSun. This creates a pool and auto-selling configuration. After registering, you must grant active permissions to the platform address (DelegateResource, UnDelegateResource, VoteWitness) so the platform can delegate resources to buyers and vote on your behalf. Use check_pool_permissions to verify permissions after granting them. Requires API key.
입력 스키마
{
"type": "object",
"properties": {
"paymentAddress": {
"type": "string",
"maxLength": 34,
"description": "TRON address to register as pool (starts with T, 34 characters). This is the address where you hold/stake TRX."
},
"sellEnergy": {
"type": "boolean",
"default": true,
"description": "Enable energy selling (default: true)"
},
"sellBandwidth": {
"type": "boolean",
"default": false,
"description": "Enable bandwidth selling (default: false)"
},
"autoVote": {
"type": "boolean",
"default": true,
"description": "Auto-vote for the best Super Representative to earn rewards (default: true)"
}
},
"required": [
"paymentAddress"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_onchain_status(poolAddress)
Get live blockchain state for your pool: TRX balance, frozen resources (Energy/Bandwidth), voting status, claimable rewards, and delegated resources. Data is fetched directly from TRON blockchain. Requires API key.
입력 스키마
{
"type": "object",
"properties": {
"poolAddress": {
"type": "string",
"maxLength": 34,
"description": "Pool address to check. If omitted, uses your first registered pool."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢check_pool_permissions(poolAddress)
Verify that the platform has the required active permissions on your pool address. Required: DelegateResource (to sell energy), UnDelegateResource (to reclaim). Optional: VoteWitness (to vote for SRs and earn rewards). Run this after granting permissions to confirm the platform can operate your pool. Requires API key.
입력 스키마
{
"type": "object",
"properties": {
"poolAddress": {
"type": "string",
"maxLength": 34,
"description": "Pool address to check. If omitted, uses your first registered pool."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪trigger_vote(poolAddress)
Vote for the best Super Representative (SR) with the highest APY to earn voting rewards. The platform automatically selects the SR with the best return. Requires VoteWitness permission granted to the platform. Voting rewards accumulate and can be claimed automatically if auto-claim is enabled. Requires API key.
입력 스키마
{
"type": "object",
"properties": {
"poolAddress": {
"type": "string",
"maxLength": 34,
"description": "Pool address to vote from. If omitted, uses your first registered pool."
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢get_auto_action_history(poolAddress, actionType, limit)
View execution history of automatic actions (stake, vote, claim) for your pool. Shows status (success/failed/skipped), amounts, transaction hashes, and timestamps. Requires API key.
입력 스키마
{
"type": "object",
"properties": {
"poolAddress": {
"type": "string",
"maxLength": 34,
"description": "Pool address to get history for. If omitted, uses your first registered pool."
},
"actionType": {
"type": "string",
"enum": [
"stake",
"vote",
"claim"
],
"description": "Filter by action type"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 100,
"default": 20,
"description": "Number of records to return (default: 20, max: 100)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪register(address)
Start agent registration by providing your TRON address. Returns a challenge string that you must sign with your TRON private key using tronWeb.trx.signMessageV2(). After signing, call verify_registration with the signature to receive your API key. No authentication required.
입력 스키마
{
"type": "object",
"properties": {
"address": {
"type": "string",
"maxLength": 34,
"description": "Your TRON wallet address (T-address format, 34 characters)"
}
},
"required": [
"address"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢verify_registration(challengeId, address, signature)
Complete agent registration by verifying your signed challenge. Returns an API key and upgrades the current session to authenticated. After verification, all authenticated tools (buy_energy, get_balance, register_pool, etc.) will work in this session without needing to reconnect. No authentication required.
입력 스키마
{
"type": "object",
"properties": {
"challengeId": {
"type": "string",
"maxLength": 50,
"description": "Challenge ID from the register tool"
},
"address": {
"type": "string",
"maxLength": 34,
"description": "Your TRON wallet address (must match the register call)"
},
"signature": {
"type": "string",
"maxLength": 200,
"description": "Signature from tronWeb.trx.signMessageV2(challenge, privateKey)"
}
},
"required": [
"challengeId",
"address",
"signature"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪build_permission_transaction(poolAddress, includeVote)
Build an AccountPermissionUpdate transaction that grants the PowerSun platform permission to delegate/undelegate resources and optionally vote on your behalf. Returns an unsigned transaction that you must sign with your private key and then broadcast using broadcast_signed_permission_tx. All existing account permissions are preserved. Requires authentication.
입력 스키마
{
"type": "object",
"properties": {
"poolAddress": {
"type": "string",
"maxLength": 34,
"description": "TRON address to grant permissions on (your pool address, T-address format)"
},
"includeVote": {
"type": "boolean",
"description": "Include VoteWitness permission for earning SR rewards (default: true)"
}
},
"required": [
"poolAddress"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪broadcast_signed_permission_tx(signedTransaction, poolAddress)
Broadcast a signed AccountPermissionUpdate transaction to the TRON blockchain. After broadcasting, verifies that the platform permissions were correctly applied. Use this after signing the transaction from build_permission_transaction. Requires authentication.
입력 스키마
{
"type": "object",
"properties": {
"signedTransaction": {
"type": "object",
"properties": {
"visible": {
"type": "boolean"
},
"txID": {
"type": "string",
"pattern": "^(?:[a-fA-F0-9]{2})+$",
"minLength": 64,
"maxLength": 64
},
"raw_data_hex": {
"type": "string",
"pattern": "^(?:[a-fA-F0-9]{2})+$",
"maxLength": 100000
},
"signature": {
"type": "array",
"items": {
"type": "string",
"pattern": "^(?:[a-fA-F0-9]{2})+$",
"minLength": 130,
"maxLength": 130
},
"minItems": 1
},
"raw_data": {
"type": "object",
"properties": {
"contract": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"const": "AccountPermissionUpdateContract"
},
"Permission_id": {
"type": "integer",
"minimum": 0
},
"parameter": {
"type": "object",
"properties": {
"type_url": {
"type": "string",
"const": "type.googleapis.com/protocol.AccountPermissionUpdateContract"
},
"value": {
"type": "object",
"properties": {
"owner_address": {
"type": "string",
"minLength": 1,
"maxLength": 42
},
"owner": {
"type": "object",
"properties": {
"type": {
"anyOf": [
{
"type": "number",
"const": 0
},
{
"type": "number",
"const": 1
},
{
"type": "number",
"const": 2
},
{
"type": "string",
"enum": [
"Owner",
"Witness",
"Active"
]
}
]
},
"id": {
"anyOf": [
{
"type": "integer",
"minimum": 0
},
{
"type": "string",
"pattern": "^\\d+$"
}
]
},
"permission_name": {
"type": "string",
"maxLength": 100
},
"threshold": {
"anyOf": [
{
"type": "integer",
"exclusiveMinimum": 0
},
{
"type": "string",
"pattern": "^(?=\\d*[1-9])\\d+$"
}
]
},
"operations": {
"type": "string",
"pattern": "^(?:[a-fA-F0-9]{2})+$",
"minLength": 64,
"maxLength": 64
},
"keys": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"$ref": "#/properties/signedTransaction/properties/raw_data/properties/contract/items/properties/parameter/properties/value/properties/owner_address"
},
"weight": {
"$ref": "#/properties/signedTransaction/properties/raw_data/properties/contract/items/properties/parameter/properties/value/properties/owner/properties/threshold"
}
},
"required": [
"address",
"weight"
],
"additionalProperties": true
},
"minItems": 1
}
},
"required": [
"permission_name",
"threshold",
"keys"
],
"additionalProperties": true
},
"witness": {
"$ref": "#/properties/signedTransaction/properties/raw_data/properties/contract/items/properties/parameter/properties/value/properties/owner"
},
"actives": {
"type": "array",
"items": {
"$ref": "#/properties/signedTransaction/properties/raw_data/properties/contract/items/properties/parameter/properties/value/properties/owner"
}
}
},
"required": [
"owner_address"
],
"additionalProperties": true
}
},
"required": [
"type_url",
"value"
],
"additionalProperties": true
}
},
"required": [
"type",
"parameter"
],
"additionalProperties": true
},
"minItems": 1,
"maxItems": 1
},
"ref_block_bytes": {
"type": "string",
"pattern": "^(?:[a-fA-F0-9]{2})+$",
"minLength": 4,
"maxLength": 4
},
"ref_block_hash": {
"type": "string",
"pattern": "^(?:[a-fA-F0-9]{2})+$",
"minLength": 16,
"maxLength": 16
},
"expiration": {
"type": "integer",
"exclusiveMinimum": 0
},
"timestamp": {
"type": "integer",
"minimum": 0
},
"data": {
"type": "string",
"pattern": "^(?:[a-fA-F0-9]{2})+$"
},
"fee_limit": {
"type": "integer",
"minimum": 0
}
},
"required": [
"contract",
"ref_block_bytes",
"ref_block_hash",
"expiration",
"timestamp"
],
"additionalProperties": true
}
},
"required": [
"visible",
"txID",
"raw_data_hex",
"signature",
"raw_data"
],
"additionalProperties": true,
"description": "The complete signed permission transaction from tronWeb.trx.sign(), including visible, raw_data_hex, and signature"
},
"poolAddress": {
"type": "string",
"maxLength": 34,
"description": "The pool address that the permission was granted on"
}
},
"required": [
"signedTransaction",
"poolAddress"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}커뮤니티
증거