Connection check
verified live · 27h ago
hovsteder-mcp
TRON energy exchange for AI agents. 54 tools, 30 prompts, 21 resources. A2A + ACP.
Tools
66
GitHub stars
3
Installs / wk
155
Licence
MIT
Transport
streamable-http, stdio
Last checked
27h ago
Tools & capabilities
66 toolsRead from the running server on 27h ago.
agent_status
read-only
Get a snapshot of your agent payment service: registered TRON address, count of pending payment requests (request_payment), active address watches (watch_address), and outstanding… Get a snapshot of your agent payment service: registered TRON address, count of pending payment requests (request_payment), active address watches (watch_address), and outstanding invoices (create_invoice). Use this right after register_agent to confirm the agent is set up, or any time you want to see how much in-flight activity your agent has. Auth required (API key) and agent must be registered first via register_agent.
analyze_prices
read-only
resource
Market price analysis with trends and recommendations. No auth required. Market price analysis with trends and recommendations. No auth required.
approve_trc20
can modify data
token*amount*spender*
Approve TRC-20 spending allowance. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY. Approve TRC-20 spending allowance. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.
calculate_savings
read-only
operationtransaction_count
Calculate savings from renting energy vs burning TRX. No authentication required. Calculate savings from renting energy vs burning TRX. No authentication required.
call_contract
can modify data
parametercall_value_trxcontract_address*function_selector*
Execute a state-changing smart contract function. Estimates resources, buys via Merx if needed. Requires TRON_PRIVATE_KEY and TRON_ADDRESS. Execute a state-changing smart contract function. Estimates resources, buys via Merx if needed. Requires TRON_PRIVATE_KEY and TRON_ADDRESS.
cancel_monitor
monitor_id*
Cancel an active monitor by its UUID. The monitor stops firing notifications. Auth required (API key). Cancel an active monitor by its UUID. The monitor stops firing notifications. Auth required (API key).
cancel_standing_order
order_id*
Cancel a standing order by its UUID. The order is moved to CANCELLED status and will not trigger again. Already-executed actions are NOT reversed. Auth required (API key). Cancel a standing order by its UUID. The order is moved to CANCELLED status and will not trigger again. Already-executed actions are NOT reversed. Auth required (API key).
check_address_resources
read-only
address*
Check energy, bandwidth, and TRX balance for any TRON address. No auth required. Check energy, bandwidth, and TRX balance for any TRON address. No auth required.
compare_providers
read-only
resource
Side-by-side provider comparison with prices and availability. No auth required. Side-by-side provider comparison with prices and availability. No auth required.
compile_policy
applyaddressinstruction*
Convert a natural language energy management policy into MERX automation. Creates standing orders and monitors based on your instructions. Examples: - "Keep 500k energy on my wall… Convert a natural language energy management policy into MERX automation. Creates standing orders and monitors based on your instructions. Examples: - "Keep 500k energy on my wallet, buy when price is below 55 SUN, max 200 TRX/week" - "Buy energy every day at 6 AM UTC, 1 million units, for 24 hours" - "Alert me when my energy drops below 100k" Returns a preview of what will be created. Set apply=true to execute.
convert_address
read-only
address*
Convert TRON address between base58 (T...) and hex (41...) formats. No auth required. Convert TRON address between base58 (T...) and hex (41...) formats. No auth required.
create_account
email*password*
Create a new Merx account, generate an API key, and get deposit info. No auth needed. Create a new Merx account, generate an API key, and get deposit info. No auth needed.
create_invoice
expires_inamount_usdt*description
Create an invoice for another agent or human to pay. Returns payment URL, address, and QR code. Payment is detected automatically via ZeroMQ (<3 seconds). Create an invoice for another agent or human to pay. Returns payment URL, address, and QR code. Payment is detected automatically via ZeroMQ (<3 seconds).
create_monitor
notifyparams*monitor_type*target_address
Create a persistent server-side monitor that fires notifications when a condition is met. Four monitor types: delegation_expiry (warns when leased energy is about to expire so you… Create a persistent server-side monitor that fires notifications when a condition is met. Four monitor types: delegation_expiry (warns when leased energy is about to expire so you can re-rent), balance_threshold (fires when an address goes below a TRX/USDT level), price_alert (fires when energy/bandwidth price crosses a SUN threshold), address_activity (fires on any incoming TX). Notification defaults to webhook=true if omitted. Auth required (API key).
create_order
amount*duration_sec*max_price_sunresource_type*target_address*
Buy energy or bandwidth on Merx. Routed to cheapest provider. Auth required. Buy energy or bandwidth on Merx. Routed to cheapest provider. Auth required.
create_paid_order
can modify data
amount*duration_sec*resource_type*target_address*
Create a zero-registration order via x402 pay-per-use. Requires TRON_PRIVATE_KEY. Create a zero-registration order via x402 pay-per-use. Requires TRON_PRIVATE_KEY.
create_standing_order
budget_trx*expires_ataction_type*trigger_type*action_params*max_executions*
+1
Create a server-side standing order with trigger-based automation. Auth required. Create a server-side standing order with trigger-based automation. Auth required.
deposit_trx
can modify data
amount_trx*
Deposit TRX to your Merx account. Requires MERX_API_KEY + TRON_PRIVATE_KEY. Deposit TRX to your Merx account. Requires MERX_API_KEY + TRON_PRIVATE_KEY.
enable_auto_deposit
threshold_trx*deposit_amount_trx*max_daily_deposits
Configure automatic top-up when balance drops below a threshold. The configuration lives ONLY in the current MCP session — it is held in memory by the MCP server process and is los… Configure automatic top-up when balance drops below a threshold. The configuration lives ONLY in the current MCP session — it is held in memory by the MCP server process and is lost on server restart, MCP client reconnect, or server redeploy. Top-ups are signed locally with TRON_PRIVATE_KEY and sent to your Merx deposit address (memo-routed). For persistent auto-deposit you currently need to call this tool again at the start of each session.
ensure_resources
duration_secenergy_minimumtarget_address*bandwidth_minimum
Declarative resource provisioning. Checks current resources on target address and purchases only what is missing. Auth required. Declarative resource provisioning. Checks current resources on target address and purchases only what is missing. Auth required.
estimate_contract_call
read-only
parametercaller_addresscontract_address*function_selector*
Estimate energy and bandwidth cost for a smart contract call. Compares rental vs burn cost. No auth required. Estimate energy and bandwidth cost for a smart contract call. Compares rental vs burn cost. No auth required.
estimate_transaction_cost
read-only
amountoperation*parameterto_addressfrom_addresstoken_address
+2
Estimate cost of a TRON transaction BEFORE sending. Aliases: estimate_cost, calculate_cost, transaction_cost, energy_cost, transfer_cost. Calculate exactly how much energy, bandwid… Estimate cost of a TRON transaction BEFORE sending. Aliases: estimate_cost, calculate_cost, transaction_cost, energy_cost, transfer_cost. Calculate exactly how much energy, bandwidth, and TRX a TRON transaction will cost before sending it. Use this to answer questions like "how much does a USDT transfer cost?" or "what will it cost me to send 100 USDT to address X?". Returns: energy units needed, bandwidth needed, TRX cost if you burn directly, and TRX cost if you rent energy from Merx (typically 70-80% cheaper). Supports trc20_transfer (e.g. USDT/USDC), trc20_approve, trx_transfer, and custom contract calls. No auth required.
execute_intent
can modify data
steps*dry_runresource_strategy
Plan a multi-step operation (transfer, swap, buy resources, etc) and return a cost estimate, total energy/bandwidth needed, and the cheapest resource acquisition strategy. NOTE: ac… Plan a multi-step operation (transfer, swap, buy resources, etc) and return a cost estimate, total energy/bandwidth needed, and the cheapest resource acquisition strategy. NOTE: actual on-chain execution of multi-step intents is not yet wired up — currently returns the same plan as simulate, regardless of dry_run. Use this for planning; for real execution call the underlying tools (create_order, transfer_trc20, execute_swap) yourself in sequence. Auth required.
execute_swap
can modify data
amount*slippageto_token*from_token*
Execute a token swap on SunSwap V2. Requires TRON_PRIVATE_KEY. Execute a token swap on SunSwap V2. Requires TRON_PRIVATE_KEY.
explain_concept
read-only
topic*
Explain a TRON or Merx concept in plain language. Hardcoded topics (exact match): energy, bandwidth, staking, delegation, sun_units, burn_vs_rent, merx_routing, provider_types. The… Explain a TRON or Merx concept in plain language. Hardcoded topics (exact match): energy, bandwidth, staking, delegation, sun_units, burn_vs_rent, merx_routing, provider_types. The lookup is fuzzy — substring matches also work, so "rent" finds "burn_vs_rent" and "providers" finds "provider_types". For topics outside this list (e.g. x402, stablecoins, gasfree), pick the closest hardcoded topic, or just answer the question yourself from the broader context — this tool only returns canned explanations of TRON resource economics.
get_account_info
read-only
address*
Inspect any TRON address. Aliases: check_address, get_address_info, get_wallet_info, address_info, account_status. Read the full on-chain state of ANY TRON address (does not have t… Inspect any TRON address. Aliases: check_address, get_address_info, get_wallet_info, address_info, account_status. Read the full on-chain state of ANY TRON address (does not have to be your own): TRX balance, free + delegated energy, free + delegated bandwidth, frozen TRX, account creation timestamp. Use this to check if an address has enough resources before sending a transaction, or to inspect any TRON wallet. No auth required, no API key needed.
get_balance
read-only
Get your Merx account balance (TRX, USDT, locked). Requires MERX_API_KEY. Get your Merx account balance (TRX, USDT, locked). Requires MERX_API_KEY.
get_best_price
read-only
amountresource*
Quick lookup of the single cheapest provider for a resource type, with optional minimum amount filter. CAVEAT: this returns a single representative price per provider, not broken d… Quick lookup of the single cheapest provider for a resource type, with optional minimum amount filter. CAVEAT: this returns a single representative price per provider, not broken down by duration tier — short rentals (5min) and long rentals (30 days) have very different per-unit prices and this tool does not distinguish between them. For an accurate per-tier comparison, use get_prices(duration=N) where N is the exact rental duration in seconds (e.g. 3600 for 1h, 86400 for 1d, 2592000 for 30d). Use get_best_price only when you need the absolute floor price as a quick sanity-check. No auth required.
get_block
read-only
block_number
Get TRON block info by number (or latest if omitted). No auth required. Get TRON block info by number (or latest if omitted). No auth required.
get_chain_parameters
read-only
Get TRON network parameters (energy fee, bandwidth cost, etc.) with Merx price comparison. No auth required. Get TRON network parameters (energy fee, bandwidth cost, etc.) with Merx price comparison. No auth required.
get_contract_info
address*
Get on-chain metadata for a TRON smart contract: existence check, owner address, energy origin, code hash, contract name (if set), ABI entries count. Use this to check whether an a… Get on-chain metadata for a TRON smart contract: existence check, owner address, energy origin, code hash, contract name (if set), ABI entries count. Use this to check whether an address is a contract before calling read_contract or estimate_contract_call. For TRC20-specific metadata (name, symbol, decimals, totalSupply) use get_token_info instead. No auth required.
get_deposit_info
read-only
Get your Merx deposit address and memo. Requires MERX_API_KEY. Get your Merx deposit address and memo. Requires MERX_API_KEY.
get_order
read-only
order_id*
Get order status by UUID. Aliases: get_order_status, check_order, order_status, order_details, fetch_order. Check the status and fill details of an existing order by its UUID. Retu… Get order status by UUID. Aliases: get_order_status, check_order, order_status, order_details, fetch_order. Check the status and fill details of an existing order by its UUID. Returns current status (PENDING/FILLING/FILLED/PARTIAL/FAILED/CANCELLED), fill amounts, provider used, on-chain delegation tx hash if delivered. Use this to poll order progress after creating an order. Auth required (API key).
get_price_history
read-only
periodproviderresource
Historical price snapshots. No auth required. Historical price snapshots. No auth required.
get_prices
read-only
durationresource
Get current energy and bandwidth prices from all Merx providers, sorted by best (minimum) price across all duration tiers. Each provider lists ALL its duration tiers (5min/1h/1d/7d… Get current energy and bandwidth prices from all Merx providers, sorted by best (minimum) price across all duration tiers. Each provider lists ALL its duration tiers (5min/1h/1d/7d/30d etc) — short rentals are usually more expensive per unit than long ones, so always check tier-by-tier. Optionally filter by exact duration in seconds. No auth required.
get_standing_order
order_id*
Get full details of a single standing order by its UUID. Returns trigger config, action params, budget, executions count, and status. Auth required (API key). Get full details of a single standing order by its UUID. Returns trigger config, action params, budget, executions count, and status. Auth required (API key).
get_swap_quote
read-only
amount*slippageto_token*from_token*
Get a real swap quote from SunSwap V2. No auth required. Get a real swap quote from SunSwap V2. No auth required.
get_token_info
read-only
token*
Get TRC-20 token metadata: name, symbol, decimals, total supply. No auth required. Get TRC-20 token metadata: name, symbol, decimals, total supply. No auth required.
get_token_price
read-only
token*
Get token price via SunSwap quote + CoinGecko USD rate. No auth required. Get token price via SunSwap quote + CoinGecko USD rate. No auth required.
get_transaction
read-only
tx_id*
Look up a transaction by ID on TRON. No auth required. Look up a transaction by ID on TRON. No auth required.
get_transaction_history
read-only
period
Get your Merx account transaction history. Requires MERX_API_KEY. Get your Merx account transaction history. Requires MERX_API_KEY.
get_trc20_balance
read-only
token*address*
Get TRC-20 token balance for an address. Supports symbol (USDT, USDC) or contract address. No auth required. Get TRC-20 token balance for an address. Supports symbol (USDT, USDC) or contract address. No auth required.
get_trx_balance
read-only
address*
Quick TRX balance for a TRON address. No auth required. Quick TRX balance for a TRON address. No auth required.
get_trx_price
read-only
currency
Get current TRX price from CoinGecko. No auth required. Get current TRX price from CoinGecko. No auth required.
list_monitors
read-only
status
List all monitors you created with create_monitor, optionally filtered by status (ACTIVE/CANCELLED). Each row shows the full monitor UUID (pass to cancel_monitor), monitor type, ta… List all monitors you created with create_monitor, optionally filtered by status (ACTIVE/CANCELLED). Each row shows the full monitor UUID (pass to cancel_monitor), monitor type, target address, and status. Note: the Target column will be empty for monitor types that do not have a single watched address — specifically price_alert and balance_threshold (when watching the API key holder rather than a third-party address). For delegation_expiry and address_activity monitors, Target will always be set. Auth required (API key).
list_orders
read-only
limitstatus
List recent orders with optional status filter. Auth required. List recent orders with optional status filter. Auth required.
list_providers
read-only
List all Merx providers with types, durations, and availability. No authentication required. List all Merx providers with types, durations, and availability. No authentication required.
list_standing_orders
read-only
status
List all standing orders with optional status filter. Auth required. List all standing orders with optional status filter. Auth required.
login
email*password*
Log in to an existing Merx account. No MERX_API_KEY needed. Log in to an existing Merx account. No MERX_API_KEY needed.
lookup_invoice
read-only
invoice_id*
Look up a MERX invoice. Shows amount, recipient, token, and status. Agent must sign and broadcast the transfer separately (non-custodial). Look up a MERX invoice. Shows amount, recipient, token, and status. Agent must sign and broadcast the transfer separately (non-custodial).
pay_invoice
can modify data
invoice_id*
Pay an x402 invoice by signing and broadcasting a TRX transfer to the invoice address, then verifying the payment with the facilitator. x402 (Coinbase + Cloudflare HTTP 402 standar… Pay an x402 invoice by signing and broadcasting a TRX transfer to the invoice address, then verifying the payment with the facilitator. x402 (Coinbase + Cloudflare HTTP 402 standard) is the protocol AI agents use to pay APIs per call. Use this when you receive an invoice_id from a paywalled service or another agent. REQUIRES: TRON_PRIVATE_KEY in env (use set_private_key first) AND a valid invoice_id from create_invoice or x402 challenge response. The transfer is signed locally — your private key never leaves the MCP process.
read_contract
read-only
parametercontract_address*function_selector*
Call a view/pure function on a TRON smart contract. No auth or private key required. Call a view/pure function on a TRON smart contract. No auth or private key required.
register_agent
labeltron_address*
Register your TRON address as an agent on agent.merx.exchange. Required ONCE before using request_payment, create_invoice, watch_address, agent_status, or any other agent payment t… Register your TRON address as an agent on agent.merx.exchange. Required ONCE before using request_payment, create_invoice, watch_address, agent_status, or any other agent payment tool. Pass the TRON address you want to use as the on-chain identity for this API key. Idempotent — calling twice with the same key returns the existing registration. Auth required (API key).
request_payment
amount_usdt*descriptionwebhook_urltolerance_pcttimeout_seconds
Create a TRC20 payment request on TRON (USDT, USDC, USDD, or any TRC20). Returns a payment address. Fires webhook when payment arrives (<3 seconds). Use for receiving payments from… Create a TRC20 payment request on TRON (USDT, USDC, USDD, or any TRC20). Returns a payment address. Fires webhook when payment arrives (<3 seconds). Use for receiving payments from other agents or humans. Requires agent registration first — call register_agent if you get AGENT_NOT_REGISTERED error.
resource_broadcast
can modify data
signed_tx*target_address*
Broadcast a signed TRON transaction with automatic energy optimization. If the target address lacks sufficient energy, MERX purchases the deficit at the best market price before br… Broadcast a signed TRON transaction with automatic energy optimization. If the target address lacks sufficient energy, MERX purchases the deficit at the best market price before broadcasting. One call: estimate, buy energy, wait for delegation, broadcast. Requires MERX_API_KEY with the "broadcast" scope, and a pre-signed transaction. Returns txid on success, refunds on timeout. NOTE: This endpoint is currently behind a feature flag and disabled by default in production. If you get a 503 MAINTENANCE error, use the manual flow instead: call ensure_resources to provision energy, then sign and broadcast the transaction with your own TronWeb client.
search_transaction_history
read-only
typelimitaddress*
Get on-chain transaction history for a TRON address. No auth required. Get on-chain transaction history for a TRON address. No auth required.
set_api_key
api_key*
Set your Merx API key for this session. Unlocks all authenticated tools (trading, balance, orders). Use this if you already have an API key. Set your Merx API key for this session. Unlocks all authenticated tools (trading, balance, orders). Use this if you already have an API key.
set_private_key
private_key*
Set your TRON private key for this session. Address is derived automatically. Enables write tools: transfer_trx, transfer_trc20, approve_trc20, execute_swap, deposit_trx. Key stays… Set your TRON private key for this session. Address is derived automatically. Enables write tools: transfer_trx, transfer_trc20, approve_trc20, execute_swap, deposit_trx. Key stays local - never sent to Merx servers.
simulate
read-only
steps*resource_strategy
Dry-run a multi-step operation (transfer, swap, buy resources, etc) without sending anything on-chain. Returns per-step energy and bandwidth estimates plus a total TRX cost. Use th… Dry-run a multi-step operation (transfer, swap, buy resources, etc) without sending anything on-chain. Returns per-step energy and bandwidth estimates plus a total TRX cost. Use this to preview a plan before committing — for example, before transferring USDT to multiple recipients you can simulate to see the total energy cost. No auth required.
suggest_duration
read-only
use_case*transaction_count
Recommend a rental duration based on your use case. No authentication required. Recommend a rental duration based on your use case. No authentication required.
transfer_trc20
can modify data
token*amount*to_address*
Transfer TRC-20 tokens with automatic energy optimization. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY. Transfer TRC-20 tokens with automatic energy optimization. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.
transfer_trx
can modify data
amount_trx*to_address*
Send TRX to an address. Checks bandwidth, buys via Merx if needed. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY. Send TRX to an address. Checks bandwidth, buys via Merx if needed. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.
validate_address
read-only
address*
Validate a TRON address format and check on-chain status. No auth required. Validate a TRON address format and check on-chain status. No auth required.
wait_for_delegation
order_id*timeout_secpoll_interval_sec
Block until an order reaches a terminal state (FILLED, PARTIAL, FAILED, or CANCELLED) by polling get_order at fixed intervals. Use this right after create_order when you need to co… Block until an order reaches a terminal state (FILLED, PARTIAL, FAILED, or CANCELLED) by polling get_order at fixed intervals. Use this right after create_order when you need to confirm the energy/bandwidth has actually been delegated on-chain before sending the next transaction. Returns the final order details including the on-chain delegation tx hash. Auth required.
watch_address
address*ttl_hoursevent_typeswebhook_url*min_amount_usdt
Watch any TRON address for TRC20 transfers (USDT, USDC, USDD, or any token). Fires webhook on each matching transfer. Persistent - runs 24/7 even when conversation ends. Watch any TRON address for TRC20 transfers (USDT, USDC, USDD, or any token). Fires webhook on each matching transfer. Persistent - runs 24/7 even when conversation ends.
withdraw
can modify data
amountaddress*currencyamount_trx