Skip to content

MERX - TRON Resource Exchange

by merx.exchange · remote · local (npm) · no sign-in to list tools · v1.0.5 · published by exchange.merx

TRON energy exchange for AI agents. 54 tools, 30 prompts, 21 resources. A2A + ACP.

Deletes · 13Final · 1Changes · 21

66 tools: 13 can delete or cancel things, 1 do something that can't be undone, 21 change things and 31 only read.

Scanned Oct 21, 2026

4 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http merx https://merx.exchange/mcp/sse

Findings

Matches of fixed checks, with the text they matched.

4 warn
  • The server marks "convert_address" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true}; The name "convert_address" says "convert": a word for a change.

    What this check looks for
  • The server marks "read_contract" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true}; The name "read_contract" says "read": a word for reading.

    What this check looks for
  • The server marks "estimate_contract_call" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true}; The name "estimate_contract_call" says "call": a word for a change.

    What this check looks for
  • Warnlogin

    The server marks "login" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}; The description's first verb is "log": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

66 tools

Deletes or cancels 13Claude Code: deny
  • approve_trc20Approve TRC-20 spending allowance.No findings

    Why it is in this group

    • The name "approve_trc20" says "approve": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Approve TRC-20 spending allowance. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
  • call_contractExecute a state-changing smart contract function.No findings

    Why it is in this group

    • The name "call_contract" says "call": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Execute a state-changing smart contract function. Estimates resources, buys via Merx if needed. Requires TRON_PRIVATE_KEY and TRON_ADDRESS.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
  • cancel_monitorCancel an active monitor by its UUID.No findings

    Why it is in this group

    • The name "cancel_monitor" says "cancel": a word for removing or ending something.
    Description, as the server wrote it
    Cancel an active monitor by its UUID. The monitor stops firing notifications. Auth required (API key).
  • cancel_standing_orderCancel a standing order by its UUID.No findings

    Why it is in this group

    • The name "cancel_standing_order" says "cancel": a word for removing or ending something.
    Description, as the server wrote it
    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).
  • create_paid_orderUnavailable legacy resource-invoice order.No findings

    Why it is in this group

    • The name "create_paid_order" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Unavailable legacy resource-invoice order. No transaction is sent. Fund your personal Merx account and use quoted resource orders instead.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
  • deposit_trxSend a plain TRX transfer to your personal Merx deposit address.No findings

    Why it is in this group

    • The description's first verb is "send": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Send a plain TRX transfer to your personal Merx deposit address. No memo is required. Broadcast acceptance does not mean the deposit is credited. Requires MERX_API_KEY + TRON_PRIVATE_KEY.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
  • execute_intentPlan a multi-step operation (transfer, swap, buy resources, etc) and return a cost estimate, total energy/bandwidth needed, and the cheapest resource acquisition strategy.No findings

    Why it is in this group

    • The name "execute_intent" says "execute": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
  • execute_swapExecute a token swap on SunSwap V2.No findings

    Why it is in this group

    • The name "execute_swap" says "execute": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Execute a token swap on SunSwap V2. Requires TRON_PRIVATE_KEY.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
  • pay_invoiceUnavailable legacy resource-invoice payment.No findings

    Why it is in this group

    • The name "pay_invoice" says "pay": a word that usually means money moves, which cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Unavailable legacy resource-invoice payment. No transaction is sent. Fund your personal Merx account and use quoted resource orders instead.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
  • resource_broadcastBroadcast a signed TRON transaction with automatic energy optimization.No findings

    Why it is in this group

    • The name "resource_broadcast" says "broadcast": a word for sending, and what is sent cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
  • transfer_trc20Transfer TRC-20 tokens with automatic energy optimization.No findings

    Why it is in this group

    • The name "transfer_trc20" says "transfer": a word for a change that another call does not undo.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Transfer TRC-20 tokens with automatic energy optimization. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
  • transfer_trxSend TRX to an address.No findings

    Why it is in this group

    • The name "transfer_trx" says "transfer": a word for a change that another call does not undo.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Send TRX to an address. Checks bandwidth, buys via Merx if needed. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
  • withdrawWithdraw TRX or USDT from your Merx account to an external TRON address.No findings

    Why it is in this group

    • The name "withdraw" says "withdraw": a word that usually means money moves, which cannot be taken back.
    • The input carries an amount (input.amount) and a currency, so it moves money.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Withdraw TRX or USDT from your Merx account to an external TRON address. The "amount" parameter is interpreted in the currency specified by "currency" — i.e. for currency=TRX it is TRX units, for currency=USDT it is USDT units. (The legacy parameter "amount_trx" is still accepted as an alias for backwards compatibility, but is misleading when currency is USDT — prefer "amount" in new code.) Requires MERX_API_KEY.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: true
    • idempotentHint: false
Can't be undone 1Claude Code: ask
  • request_paymentCreate a TRC20 payment request on TRON (USDT, USDC, USDD, or any TRC20).No findings

    Why it is in this group

    • The name "request_payment" says "request": a word for a change.
    • The name "request_payment" also says "payment": a word that usually means money moves, which cannot be taken back.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
Changes things 21Claude Code: ask
  • calculate_savingsCalculate savings from renting energy vs burning TRX.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Calculate savings from renting energy vs burning TRX. No authentication required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • check_address_resourcesCheck energy, bandwidth, and TRX balance for any TRON address.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Check energy, bandwidth, and TRX balance for any TRON address. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • compile_policyConvert a natural language energy management policy into MERX automation.No findings

    Why it is in this group

    • The description's first verb is "convert": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
  • convert_addressConvert TRON address between base58 (T...) and hex (41...) formats.1 finding

    Why it is in this group

    • The name "convert_address" says "convert": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "convert_address" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true}; The name "convert_address" says "convert": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Convert TRON address between base58 (T...) and hex (41...) formats. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • create_accountCreate a new Merx account, generate an API key, and get deposit info.No findings

    Why it is in this group

    • The name "create_account" says "create": a word for a change.
    Description, as the server wrote it
    Create a new Merx account, generate an API key, and get deposit info. No auth needed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
  • create_invoiceCreate an invoice for another agent or human to pay.No findings

    Why it is in this group

    • The name "create_invoice" says "create": a word for a change.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
  • create_monitorCreate a persistent server-side monitor that fires notifications when a condition is met.No findings

    Why it is in this group

    • The name "create_monitor" says "create": a word for a change.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
  • create_orderBuy energy or bandwidth at the Merx market quote.No findings

    Why it is in this group

    • The name "create_order" says "create": a word for a change.
    Description, as the server wrote it
    Buy energy or bandwidth at the Merx market quote. Confirmed Merx funds and API key required; no commission.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
  • create_standing_orderCreate a server-side standing order with trigger-based automation.No findings

    Why it is in this group

    • The name "create_standing_order" says "create": a word for a change.
    Description, as the server wrote it
    Create a server-side standing order with trigger-based automation. Auth required.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
  • enable_auto_depositConfigure automatic top-up when balance drops below a threshold.No findings

    Why it is in this group

    • The name "enable_auto_deposit" says "enable": a word for a change.
    Description, as the server wrote it
    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 as plain TRX transfers to your personal Merx deposit address, without a memo. For persistent auto-deposit you currently need to call this tool again at the start of each session.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
  • ensure_resourcesDeclarative resource provisioning.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Declarative resource provisioning. Checks current resources on target address and purchases only what is missing. Auth required.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
  • estimate_contract_callEstimate energy and bandwidth cost for a smart contract call.1 finding

    Why it is in this group

    • The name "estimate_contract_call" says "call": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "estimate_contract_call" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true}; The name "estimate_contract_call" says "call": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Estimate energy and bandwidth cost for a smart contract call. Compares rental vs burn cost. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • estimate_transaction_costEstimate cost of a TRON transaction BEFORE sending.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • loginLog in to an existing Merx account.1 finding

    Why it is in this group

    • The description's first verb is "log": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "login" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true}; The description's first verb is "log": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Log in to an existing Merx account. No MERX_API_KEY needed.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
  • read_contractCall a view/pure function on a TRON smart contract.1 finding

    Why it is in this group

    • The name "read_contract" says "read": a word for reading.
    • The description's first verb is "call": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "read_contract" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true}; The name "read_contract" says "read": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Call a view/pure function on a TRON smart contract. No auth or private key required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • register_agentRegister your TRON address as an agent on agent.merx.exchange.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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).
  • set_api_keySet your Merx API key for this session.No findings

    Why it is in this group

    • The name "set_api_key" says "set": a word for a change.
    Description, as the server wrote it
    Set your Merx API key for this session. Unlocks all authenticated tools (trading, balance, orders). Use this if you already have an API key.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
  • set_private_keySet your TRON private key for this session.No findings

    Why it is in this group

    • The name "set_private_key" says "set": a word for a change.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
  • simulateDry-run a multi-step operation (transfer, swap, buy resources, etc) without sending anything on-chain.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • suggest_durationRecommend a rental duration based on your use case.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Recommend a rental duration based on your use case. No authentication required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • watch_addressWatch any TRON address for TRC20 transfers (USDT, USDC, USDD, or any token).No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
Only reads 31Claude Code: allow
  • agent_statusGet a snapshot of your agent payment service: registered TRON address, count of pending payment requests (request_payment), active address watches (watch_address), and outstanding …No findings

    Why it is in this group

    • The name "agent_status" says "status": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • analyze_pricesMarket price analysis with trends and recommendations.No findings

    Why it is in this group

    • The name "analyze_prices" says "analyze": a word for reading.
    Description, as the server wrote it
    Market price analysis with trends and recommendations. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • compare_providersSide-by-side provider comparison with prices and availability.No findings

    Why it is in this group

    • The name "compare_providers" says "compare": a word for reading.
    Description, as the server wrote it
    Side-by-side provider comparison with prices and availability. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • explain_conceptExplain a TRON or Merx concept in plain language.No findings

    Why it is in this group

    • The name "explain_concept" says "explain": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_account_infoInspect any TRON address.No findings

    Why it is in this group

    • The name "get_account_info" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_balanceGet your Merx account balance (TRX, USDT, locked).No findings

    Why it is in this group

    • The name "get_balance" says "get": a word for reading.
    Description, as the server wrote it
    Get your Merx account balance (TRX, USDT, locked). Requires MERX_API_KEY.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_best_priceQuick lookup of the single cheapest provider for a resource type, with optional minimum amount filter.No findings

    Why it is in this group

    • The name "get_best_price" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_blockGet TRON block info by number (or latest if omitted).No findings

    Why it is in this group

    • The name "get_block" says "get": a word for reading.
    Description, as the server wrote it
    Get TRON block info by number (or latest if omitted). No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_chain_parametersGet TRON network parameters (energy fee, bandwidth cost, etc.) with Merx price comparison.No findings

    Why it is in this group

    • The name "get_chain_parameters" says "get": a word for reading.
    Description, as the server wrote it
    Get TRON network parameters (energy fee, bandwidth cost, etc.) with Merx price comparison. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_contract_infoGet on-chain metadata for a TRON smart contract: existence check, owner address, energy origin, code hash, contract name (if set), ABI entries count.No findings

    Why it is in this group

    • The name "get_contract_info" says "get": a word for reading.
    Description, as the server wrote it
    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_infoGet your personal TRON address for TRX deposits.No findings

    Why it is in this group

    • The name "get_deposit_info" says "get": a word for reading.
    Description, as the server wrote it
    Get your personal TRON address for TRX deposits. No memo is required. Requires MERX_API_KEY.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_orderGet order status by UUID.No findings

    Why it is in this group

    • The name "get_order" says "get": a word for reading.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_price_historyHistorical price snapshots.No findings

    Why it is in this group

    • The name "get_price_history" says "get": a word for reading.
    Description, as the server wrote it
    Historical price snapshots. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_pricesGet current energy and bandwidth prices from all Merx providers, sorted by best (minimum) price across all duration tiers.No findings

    Why it is in this group

    • The name "get_prices" says "get": a word for reading.
    Description, as the server wrote it
    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.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_standing_orderGet full details of a single standing order by its UUID.No findings

    Why it is in this group

    • The name "get_standing_order" says "get": a word for reading.
    Description, as the server wrote it
    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_quoteGet a real swap quote from SunSwap V2.No findings

    Why it is in this group

    • The name "get_swap_quote" says "get": a word for reading.
    Description, as the server wrote it
    Get a real swap quote from SunSwap V2. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_token_infoGet TRC-20 token metadata: name, symbol, decimals, total supply.No findings

    Why it is in this group

    • The name "get_token_info" says "get": a word for reading.
    Description, as the server wrote it
    Get TRC-20 token metadata: name, symbol, decimals, total supply. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_token_priceGet token price via SunSwap quote + CoinGecko USD rate.No findings

    Why it is in this group

    • The name "get_token_price" says "get": a word for reading.
    Description, as the server wrote it
    Get token price via SunSwap quote + CoinGecko USD rate. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_transactionLook up a transaction by ID on TRON.No findings

    Why it is in this group

    • The name "get_transaction" says "get": a word for reading.
    Description, as the server wrote it
    Look up a transaction by ID on TRON. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_transaction_historyGet your Merx account transaction history.No findings

    Why it is in this group

    • The name "get_transaction_history" says "get": a word for reading.
    Description, as the server wrote it
    Get your Merx account transaction history. Requires MERX_API_KEY.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_trc20_balanceGet TRC-20 token balance for an address.No findings

    Why it is in this group

    • The name "get_trc20_balance" says "get": a word for reading.
    Description, as the server wrote it
    Get TRC-20 token balance for an address. Supports symbol (USDT, USDC) or contract address. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_trx_balanceQuick TRX balance for a TRON address.No findings

    Why it is in this group

    • The name "get_trx_balance" says "get": a word for reading.
    Description, as the server wrote it
    Quick TRX balance for a TRON address. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • get_trx_priceGet current TRX price from CoinGecko.No findings

    Why it is in this group

    • The name "get_trx_price" says "get": a word for reading.
    Description, as the server wrote it
    Get current TRX price from CoinGecko. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • list_monitorsList all monitors you created with create_monitor, optionally filtered by status (ACTIVE/CANCELLED).No findings

    Why it is in this group

    • The name "list_monitors" says "list": a word for reading.
    Description, as the server wrote it
    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).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • list_ordersList recent orders with optional status filter.No findings

    Why it is in this group

    • The name "list_orders" says "list": a word for reading.
    Description, as the server wrote it
    List recent orders with optional status filter. Auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • list_providersList all Merx providers with types, durations, and availability.No findings

    Why it is in this group

    • The name "list_providers" says "list": a word for reading.
    Description, as the server wrote it
    List all Merx providers with types, durations, and availability. No authentication required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • list_standing_ordersList all standing orders with optional status filter.No findings

    Why it is in this group

    • The name "list_standing_orders" says "list": a word for reading.
    Description, as the server wrote it
    List all standing orders with optional status filter. Auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • lookup_invoiceLook up a MERX invoice.No findings

    Why it is in this group

    • The name "lookup_invoice" says "lookup": a word for reading.
    Description, as the server wrote it
    Look up a MERX invoice. Shows amount, recipient, token, and status. Agent must sign and broadcast the transfer separately (non-custodial).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • search_transaction_historyGet on-chain transaction history for a TRON address.No findings

    Why it is in this group

    • The name "search_transaction_history" says "search": a word for reading.
    Description, as the server wrote it
    Get on-chain transaction history for a TRON address. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • validate_addressValidate a TRON address format and check on-chain status.No findings

    Why it is in this group

    • The name "validate_address" says "validate": a word for reading.
    Description, as the server wrote it
    Validate a TRON address format and check on-chain status. No auth required.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
  • wait_for_delegationBlock until an order reaches a terminal state (FILLED, PARTIAL, FAILED, or CANCELLED) by polling get_order at fixed intervals.No findings

    Why it is in this group

    • The name "wait_for_delegation" says "wait": a word for reading.
    Description, as the server wrote it
    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.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.5. Values in angle brackets are yours to fill in.

claude mcp add --transport http merx https://merx.exchange/mcp/sse

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__merx__get_prices",
      "mcp__merx__get_best_price",
      "mcp__merx__analyze_prices",
      "mcp__merx__get_price_history",
      "mcp__merx__compare_providers",
      "mcp__merx__get_order",
      "mcp__merx__list_orders",
      "mcp__merx__wait_for_delegation",
      "mcp__merx__get_balance",
      "mcp__merx__get_deposit_info",
      "mcp__merx__get_transaction_history",
      "mcp__merx__explain_concept",
      "mcp__merx__list_providers",
      "mcp__merx__get_account_info",
      "mcp__merx__get_trx_balance",
      "mcp__merx__get_trc20_balance",
      "mcp__merx__get_transaction",
      "mcp__merx__get_block",
      "mcp__merx__get_chain_parameters",
      "mcp__merx__get_trx_price",
      "mcp__merx__validate_address",
      "mcp__merx__search_transaction_history",
      "mcp__merx__get_token_info",
      "mcp__merx__get_contract_info",
      "mcp__merx__get_swap_quote",
      "mcp__merx__get_token_price",
      "mcp__merx__list_standing_orders",
      "mcp__merx__get_standing_order",
      "mcp__merx__list_monitors",
      "mcp__merx__lookup_invoice",
      "mcp__merx__agent_status"
    ],
    "ask": [
      "mcp__merx__estimate_transaction_cost",
      "mcp__merx__check_address_resources",
      "mcp__merx__create_order",
      "mcp__merx__ensure_resources",
      "mcp__merx__suggest_duration",
      "mcp__merx__calculate_savings",
      "mcp__merx__convert_address",
      "mcp__merx__read_contract",
      "mcp__merx__estimate_contract_call",
      "mcp__merx__create_account",
      "mcp__merx__login",
      "mcp__merx__set_api_key",
      "mcp__merx__set_private_key",
      "mcp__merx__enable_auto_deposit",
      "mcp__merx__simulate",
      "mcp__merx__create_standing_order",
      "mcp__merx__create_monitor",
      "mcp__merx__compile_policy",
      "mcp__merx__register_agent",
      "mcp__merx__request_payment",
      "mcp__merx__create_invoice",
      "mcp__merx__watch_address"
    ],
    "deny": [
      "mcp__merx__transfer_trx",
      "mcp__merx__transfer_trc20",
      "mcp__merx__approve_trc20",
      "mcp__merx__call_contract",
      "mcp__merx__execute_swap",
      "mcp__merx__deposit_trx",
      "mcp__merx__pay_invoice",
      "mcp__merx__create_paid_order",
      "mcp__merx__execute_intent",
      "mcp__merx__cancel_standing_order",
      "mcp__merx__cancel_monitor",
      "mcp__merx__withdraw",
      "mcp__merx__resource_broadcast"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as merx. Review it before you use it.