MCP-Server

MERX - TRON Resource Exchange

exchange.merx/mcp
Krypto & Web3 Payments & Fintech Öffentlich und erreichbar MCP 2026-07-28

Was dieses MCP kann

Manages TRON energy and bandwidth purchasing, resource monitoring, transaction cost estimation, wallet operations, token transfers, swaps, and related payment automation.

agent_status
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}}
analyze_prices
Market price analysis with trends and recommendations. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'resource': {'enum': ['ENERGY', 'BANDWIDTH'], 'type': 'string', 'description': 'Filter by resource type. Omit for all.'}}}
approve_trc20
Approve TRC-20 spending allowance. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.
Destruktiv
Eingabeschema
{'type': 'object', 'required': ['token', 'spender', 'amount'], 'properties': {'token': {'type': 'string', 'description': 'Token symbol or contract address.'}, 'amount': {'type': 'string', 'description': 'Allowance amount (human-readable, or "unlimited").'}, 'spender': {'type': 'string', 'description': 'Spender TRON address.'}}}
calculate_savings
Calculate savings from renting energy vs burning TRX. No authentication required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'operation': {'enum': ['trc20_transfer', 'trc20_approve', 'trx_transfer'], 'type': 'string', 'description': 'Operation type. Default: trc20_transfer.'}, 'transaction_count': {'type': 'number', 'description': 'Number of transactions. Default: 1.'}}}
call_contract
Execute a state-changing smart contract function. Estimates resources, buys via Merx if needed. Requires TRON_PRIVATE_KEY and TRON_ADDRESS.
Destruktiv
Eingabeschema
{'type': 'object', 'required': ['contract_address', 'function_selector'], 'properties': {'parameter': {'type': 'string', 'description': 'ABI-encoded parameter hex (optional).'}, 'call_value_trx': {'type': 'string', 'description': 'TRX to send with call (optional).'}, 'contract_address': {'type': 'string', 'description': 'Contract TRON address.'}, 'function_selector': {'type': 'string', 'description': 'Function signature, e.g. "stake(uint256)".'}}}
cancel_monitor
Cancel an active monitor by its UUID. The monitor stops firing notifications. Auth required (API key).
Eingabeschema
{'type': 'object', 'required': ['monitor_id'], 'properties': {'monitor_id': {'type': 'string', 'description': 'Monitor UUID to cancel.'}}}
cancel_standing_order
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).
Eingabeschema
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'Standing order UUID to cancel.'}}}
check_address_resources
Check energy, bandwidth, and TRX balance for any TRON address. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'TRON address (starts with T).'}}}
compare_providers
Side-by-side provider comparison with prices and availability. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'resource': {'enum': ['ENERGY', 'BANDWIDTH'], 'type': 'string', 'description': 'Filter by resource type. Omit for all.'}}}
compile_policy
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.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['instruction'], 'properties': {'apply': {'type': 'boolean', 'description': 'Set to true to create the standing orders. Default false (preview only).'}, 'address': {'type': 'string', 'description': 'TRON address this policy applies to (optional)'}, 'instruction': {'type': 'string', 'description': 'Natural language description of the desired automation policy'}}}
convert_address
Convert TRON address between base58 (T...) and hex (41...) formats. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'TRON address in base58 (T...) or hex (41...).'}}}
create_account
Create a new Merx account, generate an API key, and get deposit info. No auth needed.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['email', 'password'], 'properties': {'email': {'type': 'string', 'description': 'Email address for the account'}, 'password': {'type': 'string', 'description': 'Password (min 8 characters)'}}}
create_invoice
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).
Idempotent
Eingabeschema
{'type': 'object', 'required': ['amount_usdt'], 'properties': {'expires_in': {'type': 'number', 'description': 'Expiry in seconds (60-86400, default 3600)'}, 'amount_usdt': {'type': 'string', 'description': 'Amount in USDT'}, 'description': {'type': 'string', 'description': 'What the invoice is for'}}}
create_monitor
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).
Idempotent
Eingabeschema
{'type': 'object', 'required': ['monitor_type', 'params'], 'properties': {'notify': {'type': 'object', 'description': 'Notification config: { webhook?: boolean, telegram_chat_id?: string }. Defaults to { webhook: true } if omitted.'}, 'params': {'type': 'object', 'description': 'Type-specific params. delegation_expiry: { alert_before_sec, auto_renew, resource_type }. balance_threshold: { resource: "TRX"|"ENERGY"|"BANDWIDTH", below: number }. price_alert: { resource: "ENERGY"|"BANDWIDTH", above_sun?: number, below_sun?: number }. address_activity: { min_amount_trx?: number }.'}, 'monitor_type': {'enum': ['delegation_expiry', 'balance_threshold', 'price_alert', 'address_activity'], 'type': 'string', 'description': 'Type of monitor to create.'}, 'target_address': {'type': 'string', 'description': 'TRON address to monitor. Required for delegation_expiry, balance_threshold, address_activity. Not used for price_alert.'}}}
create_order
Buy energy or bandwidth on Merx. Routed to cheapest provider. Auth required.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['resource_type', 'amount', 'duration_sec', 'target_address'], 'properties': {'amount': {'type': 'number', 'description': 'Amount of resource units (min 65000 for ENERGY, 300 for BANDWIDTH).'}, 'duration_sec': {'type': 'number', 'description': 'Rental duration in seconds (e.g. 300, 3600, 86400, 2592000).'}, 'max_price_sun': {'type': 'number', 'description': 'Optional max price in SUN/unit. Order fails if no provider is cheaper.'}, 'resource_type': {'enum': ['ENERGY', 'BANDWIDTH'], 'type': 'string', 'description': 'Resource type to purchase.'}, 'target_address': {'type': 'string', 'description': 'TRON address to receive delegated resources.'}}}
create_paid_order
Create a zero-registration order via x402 pay-per-use. Requires TRON_PRIVATE_KEY.
Destruktiv
Eingabeschema
{'type': 'object', 'required': ['resource_type', 'amount', 'duration_sec', 'target_address'], 'properties': {'amount': {'type': 'number', 'description': 'Amount of resource units'}, 'duration_sec': {'type': 'number', 'description': 'Duration in seconds'}, 'resource_type': {'enum': ['ENERGY', 'BANDWIDTH'], 'type': 'string', 'description': 'Resource type'}, 'target_address': {'type': 'string', 'description': 'TRON address to receive resources'}}}
create_standing_order
Create a server-side standing order with trigger-based automation. Auth required.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['trigger_type', 'trigger_params', 'action_type', 'action_params', 'budget_trx', 'max_executions'], 'properties': {'budget_trx': {'type': 'string', 'description': 'Maximum budget in TRX (converted to SUN internally).'}, 'expires_at': {'type': 'string', 'description': 'ISO 8601 expiration date (optional).'}, 'action_type': {'enum': ['buy_resource', 'ensure_resources', 'notify_only'], 'type': 'string', 'description': 'Action to perform when triggered.'}, 'trigger_type': {'enum': ['price_below', 'price_above', 'schedule', 'balance_below'], 'type': 'string', 'description': 'Condition that triggers the order.'}, 'action_params': {'type': 'object', 'description': 'Action parameters: { resource_type, amount, duration_sec, target_address }.'}, 'max_executions': {'type': 'number', 'description': 'Maximum number of times this order can execute.'}, 'trigger_params': {'type': 'object', 'description': 'Trigger parameters: { resource, threshold_sun } or { cron }.'}}}
deposit_trx
Deposit TRX to your Merx account. Requires MERX_API_KEY + TRON_PRIVATE_KEY.
Destruktiv
Eingabeschema
{'type': 'object', 'required': ['amount_trx'], 'properties': {'amount_trx': {'type': 'string', 'description': 'Amount of TRX to deposit'}}}
enable_auto_deposit
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.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['threshold_trx', 'deposit_amount_trx'], 'properties': {'threshold_trx': {'type': 'string', 'description': 'Balance threshold in TRX'}, 'deposit_amount_trx': {'type': 'string', 'description': 'Amount of TRX per deposit'}, 'max_daily_deposits': {'type': 'number', 'description': 'Max deposits per day (default 5)'}}}
ensure_resources
Declarative resource provisioning. Checks current resources on target address and purchases only what is missing. Auth required.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['target_address'], 'properties': {'duration_sec': {'type': 'number', 'description': 'Rental duration in seconds (default: 3600).'}, 'energy_minimum': {'type': 'number', 'description': 'Minimum energy the address should have.'}, 'target_address': {'type': 'string', 'description': 'TRON address to provision resources for.'}, 'bandwidth_minimum': {'type': 'number', 'description': 'Minimum bandwidth the address should have.'}}}
estimate_contract_call
Estimate energy and bandwidth cost for a smart contract call. Compares rental vs burn cost. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['contract_address', 'function_selector'], 'properties': {'parameter': {'type': 'string', 'description': 'ABI-encoded parameter hex (optional).'}, 'caller_address': {'type': 'string', 'description': 'Caller TRON address for simulation (optional).'}, 'contract_address': {'type': 'string', 'description': 'Contract TRON address.'}, 'function_selector': {'type': 'string', 'description': 'Function signature, e.g. "transfer(address,uint256)".'}}}
estimate_transaction_cost
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['operation'], 'properties': {'amount': {'type': 'string', 'description': 'Token amount (as string).'}, 'operation': {'enum': ['trc20_transfer', 'trc20_approve', 'trx_transfer', 'custom'], 'type': 'string', 'description': 'Transaction type.'}, 'parameter': {'type': 'string', 'description': 'ABI-encoded parameter (custom).'}, 'to_address': {'type': 'string', 'description': 'Recipient TRON address.'}, 'from_address': {'type': 'string', 'description': 'Sender TRON address.'}, 'token_address': {'type': 'string', 'description': 'TRC20 contract address.'}, 'contract_address': {'type': 'string', 'description': 'Contract address (custom).'}, 'function_selector': {'type': 'string', 'description': 'Function selector (custom).'}}}
execute_intent
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.
Destruktiv
Eingabeschema
{'type': 'object', 'required': ['steps'], 'properties': {'steps': {'type': 'array', 'description': 'Array of { action, params } steps to execute.'}, 'dry_run': {'type': 'boolean', 'description': 'If true, simulate only without executing (default: false).'}, 'resource_strategy': {'enum': ['batch_cheapest', 'per_step', 'no_resources'], 'type': 'string', 'description': 'Resource acquisition strategy (default: batch_cheapest).'}}}
execute_swap
Execute a token swap on SunSwap V2. Requires TRON_PRIVATE_KEY.
Destruktiv
Eingabeschema
{'type': 'object', 'required': ['from_token', 'to_token', 'amount'], 'properties': {'amount': {'type': 'string', 'description': 'Amount of source token to swap'}, 'slippage': {'type': 'number', 'description': 'Slippage tolerance in percent (default 1)'}, 'to_token': {'type': 'string', 'description': 'Destination token symbol'}, 'from_token': {'type': 'string', 'description': 'Source token symbol (TRX, USDT, USDC, etc.)'}}}
explain_concept
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string', 'description': 'Topic to explain. Exact: energy, bandwidth, staking, delegation, sun_units, burn_vs_rent, merx_routing, provider_types. Fuzzy substrings (e.g. "rent", "providers") also work.'}}}
get_account_info
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'TRON address (T...).'}}}
get_balance
Get your Merx account balance (TRX, USDT, locked). Requires MERX_API_KEY.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}}
get_best_price
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['resource'], 'properties': {'amount': {'type': 'number', 'description': 'Amount of resource units needed.'}, 'resource': {'enum': ['ENERGY', 'BANDWIDTH'], 'type': 'string', 'description': 'Resource type.'}}}
get_block
Get TRON block info by number (or latest if omitted). No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'block_number': {'type': 'number', 'description': 'Block number. Omit for latest.'}}}
get_chain_parameters
Get TRON network parameters (energy fee, bandwidth cost, etc.) with Merx price comparison. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}}
get_contract_info
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.
Eingabeschema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'Contract TRON address (T...)'}}}
get_deposit_info
Get your Merx deposit address and memo. Requires MERX_API_KEY.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}}
get_order
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).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'The order UUID.'}}}
get_price_history
Historical price snapshots. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'period': {'enum': ['1h', '6h', '24h', '7d', '30d'], 'type': 'string', 'description': 'Time period (default: 24h).'}, 'provider': {'type': 'string', 'description': 'Filter by provider name.'}, 'resource': {'enum': ['ENERGY', 'BANDWIDTH'], 'type': 'string', 'description': 'Filter by resource type.'}}}
get_prices
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'duration': {'type': 'number', 'description': 'Filter to providers offering this exact duration in seconds (e.g. 3600 for 1h, 86400 for 1d, 604800 for 7d, 2592000 for 30d). Omit to see all tiers.'}, 'resource': {'enum': ['ENERGY', 'BANDWIDTH'], 'type': 'string', 'description': 'Filter by resource type. Omit for all.'}}}
get_standing_order
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).
Eingabeschema
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'Standing order UUID (from list_standing_orders).'}}}
get_swap_quote
Get a real swap quote from SunSwap V2. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['from_token', 'to_token', 'amount'], 'properties': {'amount': {'type': 'string', 'description': 'Amount of source token to swap'}, 'slippage': {'type': 'number', 'description': 'Slippage tolerance in percent (default 1)'}, 'to_token': {'type': 'string', 'description': 'Destination token symbol'}, 'from_token': {'type': 'string', 'description': 'Source token symbol (TRX, USDT, USDC, etc.)'}}}
get_token_info
Get TRC-20 token metadata: name, symbol, decimals, total supply. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['token'], 'properties': {'token': {'type': 'string', 'description': 'Token symbol or contract address.'}}}
get_token_price
Get token price via SunSwap quote + CoinGecko USD rate. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['token'], 'properties': {'token': {'type': 'string', 'description': 'Token symbol (USDT, USDC, SUN, etc.)'}}}
get_transaction
Look up a transaction by ID on TRON. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['tx_id'], 'properties': {'tx_id': {'type': 'string', 'description': 'Transaction ID (hash).'}}}
get_transaction_history
Get your Merx account transaction history. Requires MERX_API_KEY.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'period': {'enum': ['7D', '30D', '90D'], 'type': 'string', 'description': 'Time period to query. Default: 30D.'}}}
get_trc20_balance
Get TRC-20 token balance for an address. Supports symbol (USDT, USDC) or contract address. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['address', 'token'], 'properties': {'token': {'type': 'string', 'description': 'Token symbol (USDT, USDC) or contract address.'}, 'address': {'type': 'string', 'description': 'TRON address to query.'}}}
get_trx_balance
Quick TRX balance for a TRON address. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'TRON address (T...).'}}}
get_trx_price
Get current TRX price from CoinGecko. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'currency': {'type': 'string', 'description': 'Fiat currency code (default: usd).'}}}
list_monitors
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).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'status': {'enum': ['ACTIVE', 'CANCELLED'], 'type': 'string', 'description': 'Filter by monitor status.'}}}
list_orders
List recent orders with optional status filter. Auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'number', 'description': 'Max number of orders to return (default: 20).'}, 'status': {'enum': ['PENDING', 'FILLING', 'FILLED', 'PARTIAL', 'FAILED', 'CANCELLED'], 'type': 'string', 'description': 'Filter by order status.'}}}
list_providers
List all Merx providers with types, durations, and availability. No authentication required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {}}
list_standing_orders
List all standing orders with optional status filter. Auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'status': {'enum': ['ACTIVE', 'TRIGGERED', 'EXHAUSTED', 'EXPIRED', 'CANCELLED'], 'type': 'string', 'description': 'Filter by status.'}}}
login
Log in to an existing Merx account. No MERX_API_KEY needed.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['email', 'password'], 'properties': {'email': {'type': 'string', 'description': 'Email address'}, 'password': {'type': 'string', 'description': 'Password'}}}
lookup_invoice
Look up a MERX invoice. Shows amount, recipient, token, and status. Agent must sign and broadcast the transfer separately (non-custodial).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['invoice_id'], 'properties': {'invoice_id': {'type': 'string', 'description': 'Invoice UUID (e.g. eaa00c4e-1234-5678-90ab-cdef12345678) returned by create_invoice, or a full payment URL containing /pay/<uuid>.'}}}
pay_invoice
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.
Destruktiv
Eingabeschema
{'type': 'object', 'required': ['invoice_id'], 'properties': {'invoice_id': {'type': 'string', 'description': 'Invoice ID to pay'}}}
read_contract
Call a view/pure function on a TRON smart contract. No auth or private key required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['contract_address', 'function_selector'], 'properties': {'parameter': {'type': 'string', 'description': 'ABI-encoded parameter hex (optional).'}, 'contract_address': {'type': 'string', 'description': 'Contract TRON address.'}, 'function_selector': {'type': 'string', 'description': 'Function signature, e.g. "balanceOf(address)".'}}}
register_agent
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).
Eingabeschema
{'type': 'object', 'required': ['tron_address'], 'properties': {'label': {'type': 'string', 'description': 'Optional human-readable label (max 64 chars)'}, 'tron_address': {'type': 'string', 'description': 'Your TRON address (T...) that will receive payments and act as the agent identity.'}}}
request_payment
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.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['amount_usdt'], 'properties': {'amount_usdt': {'type': 'string', 'description': 'Amount in token units (e.g. "5.00")'}, 'description': {'type': 'string', 'description': 'What this payment is for'}, 'webhook_url': {'type': 'string', 'description': 'URL to notify on payment (optional)'}, 'tolerance_pct': {'type': 'number', 'description': 'Amount tolerance % (default 0 = exact)'}, 'timeout_seconds': {'type': 'number', 'description': 'Wait timeout (10-3600, default 300)'}}}
resource_broadcast
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.
Destruktiv
Eingabeschema
{'type': 'object', 'required': ['signed_tx', 'target_address'], 'properties': {'signed_tx': {'type': 'string', 'description': 'Hex-encoded signed TRON transaction'}, 'target_address': {'type': 'string', 'description': 'TRON address that will execute the transaction (must match TX sender)'}}}
search_transaction_history
Get on-chain transaction history for a TRON address. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['address'], 'properties': {'type': {'enum': ['all', 'trx', 'trc20'], 'type': 'string', 'description': 'Transaction type filter (default: all).'}, 'limit': {'type': 'number', 'description': 'Max results (default: 20).'}, 'address': {'type': 'string', 'description': 'TRON address.'}}}
set_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.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['api_key'], 'properties': {'api_key': {'type': 'string', 'description': 'Your Merx API key (starts with sk_live_)'}}}
set_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 local - never sent to Merx servers.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['private_key'], 'properties': {'private_key': {'type': 'string', 'description': 'Your TRON private key (64 hex characters)'}}}
simulate
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['steps'], 'properties': {'steps': {'type': 'array', 'description': 'Array of { action, params } steps to simulate.'}, 'resource_strategy': {'enum': ['batch_cheapest', 'per_step', 'no_resources'], 'type': 'string', 'description': 'Resource acquisition strategy (default: batch_cheapest).'}}}
suggest_duration
Recommend a rental duration based on your use case. No authentication required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['use_case'], 'properties': {'use_case': {'enum': ['single_transfer', 'batch_transfers', 'dapp_session', 'daily_operations', 'weekly_operations', 'monthly_budget'], 'type': 'string', 'description': 'Your intended use case.'}, 'transaction_count': {'type': 'number', 'description': 'Expected number of transactions (optional).'}}}
transfer_trc20
Transfer TRC-20 tokens with automatic energy optimization. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.
Destruktiv
Eingabeschema
{'type': 'object', 'required': ['to_address', 'token', 'amount'], 'properties': {'token': {'type': 'string', 'description': 'Token symbol (USDT, USDC) or contract address.'}, 'amount': {'type': 'string', 'description': 'Amount to transfer (human-readable).'}, 'to_address': {'type': 'string', 'description': 'Recipient TRON address.'}}}
transfer_trx
Send TRX to an address. Checks bandwidth, buys via Merx if needed. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.
Destruktiv
Eingabeschema
{'type': 'object', 'required': ['to_address', 'amount_trx'], 'properties': {'amount_trx': {'type': 'string', 'description': 'Amount of TRX to send.'}, 'to_address': {'type': 'string', 'description': 'Recipient TRON address.'}}}
validate_address
Validate a TRON address format and check on-chain status. No auth required.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'description': 'TRON address to validate.'}}}
wait_for_delegation
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.
Eingabeschema
{'type': 'object', 'required': ['order_id'], 'properties': {'order_id': {'type': 'string', 'description': 'The order UUID returned by create_order.'}, 'timeout_sec': {'type': 'number', 'description': 'Maximum time to wait in seconds (default: 60, max: 300).'}, 'poll_interval_sec': {'type': 'number', 'description': 'How often to check status in seconds (default: 3, min: 1).'}}}
watch_address
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.
Idempotent
Eingabeschema
{'type': 'object', 'required': ['address', 'webhook_url'], 'properties': {'address': {'type': 'string', 'description': 'TRON address to watch (T...)'}, 'ttl_hours': {'type': 'number', 'description': 'Watch duration in hours (1-720, default 24)'}, 'event_types': {'type': 'array', 'items': {'enum': ['usdt_incoming', 'usdt_outgoing', 'trx_incoming'], 'type': 'string'}, 'description': 'Event types to watch'}, 'webhook_url': {'type': 'string', 'description': 'Webhook URL for notifications'}, 'min_amount_usdt': {'type': 'string', 'description': 'Minimum amount filter (default "0")'}}}
withdraw
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.
Destruktiv
Eingabeschema
{'type': 'object', 'required': ['address'], 'properties': {'amount': {'type': 'string', 'description': 'Amount to withdraw, in units of the chosen currency. E.g. "100" with currency=TRX = 100 TRX, "100" with currency=USDT = 100 USDT.'}, 'address': {'type': 'string', 'description': 'Destination TRON address (starts with T).'}, 'currency': {'enum': ['TRX', 'USDT'], 'type': 'string', 'description': 'Currency to withdraw. Default: TRX.'}, 'amount_trx': {'type': 'string', 'description': 'DEPRECATED alias for "amount" — kept for backwards compatibility. Pass "amount" instead in new code.'}}}
Hinzugefügt
agent_status
17. September 2026 12:39
Hinzugefügt
watch_address
17. September 2026 12:39
Hinzugefügt
create_invoice
17. September 2026 12:39
Hinzugefügt
lookup_invoice
17. September 2026 12:39
Hinzugefügt
request_payment
17. September 2026 12:39
Hinzugefügt
register_agent
17. September 2026 12:39
Hinzugefügt
resource_broadcast
17. September 2026 12:39
Hinzugefügt
compile_policy
17. September 2026 12:39
Hinzugefügt
withdraw
17. September 2026 12:39
Hinzugefügt
cancel_monitor
17. September 2026 12:39
Hinzugefügt
list_monitors
17. September 2026 12:39
Hinzugefügt
create_monitor
17. September 2026 12:39
Hinzugefügt
cancel_standing_order
17. September 2026 12:39
Hinzugefügt
get_standing_order
17. September 2026 12:39
Hinzugefügt
list_standing_orders
17. September 2026 12:39
Hinzugefügt
create_standing_order
17. September 2026 12:39
Hinzugefügt
simulate
17. September 2026 12:39
Hinzugefügt
execute_intent
17. September 2026 12:39
Hinzugefügt
create_paid_order
17. September 2026 12:39
Hinzugefügt
pay_invoice
17. September 2026 12:39
Hinzugefügt
enable_auto_deposit
17. September 2026 12:39
Hinzugefügt
deposit_trx
17. September 2026 12:39
Hinzugefügt
set_private_key
17. September 2026 12:39
Hinzugefügt
set_api_key
17. September 2026 12:39
Hinzugefügt
login
17. September 2026 12:39
Hinzugefügt
create_account
17. September 2026 12:39
Hinzugefügt
get_token_price
17. September 2026 12:39
Hinzugefügt
execute_swap
17. September 2026 12:39
Hinzugefügt
get_swap_quote
17. September 2026 12:39
Hinzugefügt
get_contract_info
17. September 2026 12:39

SAP MCP Server

ai.oobeprotocol.sap.mcp/sap-mcp

Provides an MCP gateway connecting SAP-related tools with Solana, DeFi, decentralized identity, and x402 payments.

FortFi Treasury MCP

io.github.rebelArtists/fortfi-treasury-mcp

Provides policy-controlled crypto treasury operations across chains, including wallets, payments, token discovery, swaps, bridges…

DPX — Institutional Cross-Border Settlement

io.github.untitledfinancial/dpx

Provides compliance-gated cross-border crypto settlement, agent registration and spending mandates, stablecoin routing, ESG and s…

Peer

io.github.zkp2p/peer

Reads Peer protocol, checkout, deposit, wallet, Peer Cash, cross-chain routing, payout, and IntentGuardian data on Base and relat…

Robyn — Gasless Cross-Chain for AI Agents

io.github.ox31461/robyn

Supports gasless cross-chain transfers, wallet and transaction checks, spending mandates, privacy-preserving messaging, and signe…

Wisely x402 Agent-Payment Infrastructure

com.wiselyenterprisesllc/x402-agent-payment-infrastructure

Provides agent payment workflows for x402 endpoints, wallet handoffs, receipts, creator catalogs, local commerce bridges, endpoin…

AgentTools Hub

io.github.Thyphex/agenttools-hub

Offers calculators, unit and data converters, reference lookups, live crypto data, wallet utilities, and paid x402 access.

agentic-commerce

io.bosonprotocol/agentic-commerce

Enables on-chain commerce through Boson Protocol, including product offers, buyer and seller accounts, voucher exchanges, escrow-…