{"serverId":"mcp-registry/io.github.hovsteder/powersun-tron-mcp","tools":[{"name":"buy_energy","fixed":{"name":"buy_energy","description":"Purchase TRON Energy for a target address. Creates a MARKET order that will be filled by available pools. Deducts cost from your balance.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["targetAddress","txCount"],"properties":{"txType":{"enum":["trc20_transfer","trc20_transfer_new","trc10_transfer","contract_call"],"type":"string","description":"Transaction type (default: trc20_transfer)"},"txCount":{"type":"integer","description":"Number of transactions you need energy for","exclusiveMinimum":0},"resourceType":{"enum":["ENERGY","BANDWIDTH"],"type":"string","description":"Resource type (default: ENERGY)"},"targetAddress":{"type":"string","maxLength":34,"description":"TRON address to delegate energy to (T-address format)"},"durationMinutes":{"type":"number","description":"Duration in minutes. Allowed: 2, 5, 10, 15, 30, 60, 180, 360, 1440, 10080, 43200. Default: 60."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Buy Energy"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":277,"tokensAfter":277},{"name":"check_pool_permissions","fixed":{"name":"check_pool_permissions","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"poolAddress":{"type":"string","maxLength":34,"description":"Pool address to check. If omitted, uses your first registered pool."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Check Pool Permissions"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":175,"tokensAfter":175},{"name":"configure_auto_selling","fixed":{"name":"configure_auto_selling","description":"Update auto-selling configuration for a pool. Toggle energy/bandwidth selling, set reserves, duration constraints. Pass the configId from get_auto_selling_config.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["configId"],"properties":{"active":{"type":"boolean","description":"Enable/disable auto-selling"},"configId":{"type":"string","maxLength":36,"description":"Configuration ID to update (from get_auto_selling_config)"},"sellEnergy":{"type":"boolean","description":"Enable/disable energy selling"},"maxDuration":{"type":"string","maxLength":10,"description":"Maximum rental duration"},"minDuration":{"type":"string","maxLength":10,"description":"Minimum rental duration (e.g., \"5min\", \"1h\", \"1d\")"},"allowRenewals":{"type":"boolean","description":"Allow order renewals"},"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)"}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Configure Auto-Selling"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":334,"tokensAfter":334},{"name":"estimate_cost","fixed":{"name":"estimate_cost","description":"Calculate the cost of purchasing TRON Energy or Bandwidth. Provide transaction count and type to get the energy needed and cost in TRX.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["txCount"],"properties":{"txType":{"enum":["trc20_transfer","trc20_transfer_new","trc10_transfer","contract_call"],"type":"string","description":"Transaction type (default: trc20_transfer). trc20_transfer_new = first-time transfer to an address."},"txCount":{"type":"integer","description":"Number of transactions","exclusiveMinimum":0},"resourceType":{"enum":["ENERGY","BANDWIDTH"],"type":"string","description":"Resource type (default: ENERGY)"},"targetAddress":{"type":"string","description":"TRON target address. Required for an executable market quote."},"resourceAmount":{"type":"integer","description":"Exact resource amount; otherwise derived from transaction count.","exclusiveMinimum":0},"durationMinutes":{"type":"number","description":"Duration in minutes. Allowed: 2, 5, 10, 15, 30, 60, 180, 360, 1440, 10080, 43200. Default: 60."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Estimate Cost"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":319,"tokensAfter":319},{"name":"execute_swap","fixed":{"name":"execute_swap","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["txData"],"properties":{"txData":{"type":"object","required":["txID"],"properties":{"txID":{"type":"string","maxLength":64},"raw_data":{},"signature":{"type":"array","items":{"type":"string","maxLength":200}},"raw_data_hex":{"type":"string","maxLength":100000}},"description":"Pre-signed swap transaction from get_swap_quote","additionalProperties":true}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Execute Swap"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":211,"tokensAfter":211},{"name":"get_auto_action_history","fixed":{"name":"get_auto_action_history","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","default":20,"maximum":100,"minimum":1,"description":"Number of records to return (default: 20, max: 100)"},"actionType":{"enum":["stake","vote","claim"],"type":"string","description":"Filter by action type"},"poolAddress":{"type":"string","maxLength":34,"description":"Pool address to get history for. If omitted, uses your first registered pool."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Auto-Action History"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":205,"tokensAfter":205},{"name":"get_auto_selling_config","fixed":{"name":"get_auto_selling_config","description":"Get current auto-selling configuration for your pools. Shows which resources are being sold, duration constraints, and reserves.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Auto-Selling Config"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":86,"tokensAfter":86},{"name":"get_available_resources","fixed":{"name":"get_available_resources","description":"Get total available Energy and Bandwidth across all active pools. Shows how much resource can be purchased right now.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"resourceType":{"enum":["ENERGY","BANDWIDTH"],"type":"string","description":"Filter by resource type (default: both)"},"durationMinutes":{"type":"number","description":"Filter pools that support this duration"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get Available Resources"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":141,"tokensAfter":141},{"name":"get_balance","fixed":{"name":"get_balance","description":"Get your current TRX balance and deposit information. Requires API key authentication.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get Balance"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":71,"tokensAfter":71},{"name":"get_deposit_info","fixed":{"name":"get_deposit_info","description":"Get the deposit address to top up your account balance with TRX.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get Deposit Info"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":66,"tokensAfter":66},{"name":"get_earnings","fixed":{"name":"get_earnings","description":"Get earnings breakdown by pool: total earned, pending payout, paid out. Optionally filter by date range.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"endDate":{"type":"string","maxLength":30,"description":"End date (ISO 8601)"},"startDate":{"type":"string","maxLength":30,"description":"Start date (ISO 8601, e.g. 2026-01-01)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get Earnings"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":126,"tokensAfter":126},{"name":"get_market_overview","fixed":{"name":"get_market_overview","description":"Comprehensive market overview: prices, availability, allowed durations, order constraints, and transaction types. Useful for agents to understand what they can purchase.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Market Overview"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":96,"tokensAfter":96},{"name":"get_onchain_status","fixed":{"name":"get_onchain_status","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"poolAddress":{"type":"string","maxLength":34,"description":"Pool address to check. If omitted, uses your first registered pool."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"On-Chain Pool Status"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":145,"tokensAfter":145},{"name":"get_order_status","fixed":{"name":"get_order_status","description":"Get detailed status of a specific order including delegation progress.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["orderId"],"properties":{"orderId":{"type":"string","maxLength":36,"description":"Order ID (UUID format)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get Order Status"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":97,"tokensAfter":97},{"name":"get_orders","fixed":{"name":"get_orders","description":"Get your order history with optional status filter. Returns recent orders sorted by creation time.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"type":"integer","maximum":100,"minimum":1,"description":"Maximum number of orders to return (default: 20)"},"status":{"enum":["pending","active","processing","completed","failed","cancelled","expired"],"type":"string","description":"Filter by order status"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get Orders"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":148,"tokensAfter":148},{"name":"get_pool_delegations","fixed":{"name":"get_pool_delegations","description":"Get active delegations from your pools. Shows who received energy/bandwidth and when delegations expire.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"poolAddress":{"type":"string","maxLength":34,"description":"Filter by specific pool address. If not provided, shows all your pools."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Pool Delegations"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":116,"tokensAfter":116},{"name":"get_pool_stats","fixed":{"name":"get_pool_stats","description":"Get comprehensive statistics for your energy/bandwidth pools: delegations, revenue, utilization, APY. Requires API key.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Pool Statistics"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":81,"tokensAfter":81},{"name":"get_prices","fixed":{"name":"get_prices","description":"Get current TRON Energy and Bandwidth minimum prices for all duration tiers. Returns price per unit in SUN for each available duration.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"resourceType":{"enum":["ENERGY","BANDWIDTH"],"type":"string","description":"Filter by resource type (default: all)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get Current Prices"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":117,"tokensAfter":117},{"name":"get_swap_quote","fixed":{"name":"get_swap_quote","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["fromToken","toToken","amountIn"],"properties":{"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)"},"fromToken":{"type":"string","maxLength":34,"description":"Token to sell — symbol (USDT, TRX, SUN, ...) or TRC-20 contract address"},"slippageBps":{"type":"integer","maximum":5000,"minimum":1,"description":"Slippage tolerance in basis points (default: 50 = 0.5%)"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get Swap Quote"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":247,"tokensAfter":247},{"name":"register_pool","fixed":{"name":"register_pool","description":"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["paymentAddress"],"properties":{"autoVote":{"type":"boolean","default":true,"description":"Auto-vote for the best Super Representative to earn rewards (default: true)"},"sellEnergy":{"type":"boolean","default":true,"description":"Enable energy selling (default: true)"},"sellBandwidth":{"type":"boolean","default":false,"description":"Enable bandwidth selling (default: false)"},"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."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false},"title":"Register Selling Pool"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":317,"tokensAfter":317}],"toolsChanged":20,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}