protogrid

Search / exchange.merx/mcp

MERX - TRON Resource Exchange

R0· no sign-in

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

v1.0.5 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality63needs work
Trust82of 100
Uptime, 30 days100%
Latency p50493 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "merx": {
      "type": "http",
      "url": "https://merx.exchange/mcp/sse"
    }
  }
}
claude mcp add --transport http merx https://merx.exchange/mcp/sse
[mcp_servers.merx]
url = "https://merx.exchange/mcp/sse"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "merx": {
      "type": "remote",
      "url": "https://merx.exchange/mcp/sse",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "merx": {
      "type": "http",
      "url": "https://merx.exchange/mcp/sse"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=merx&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWVyeC5leGNoYW5nZS9tY3Avc3NlIn0%3D"
}
{
  "servers": {
    "merx": {
      "type": "http",
      "url": "https://merx.exchange/mcp/sse"
    }
  }
}
{
  "mcpServers": {
    "merx": {
      "httpUrl": "https://merx.exchange/mcp/sse"
    }
  }
}
extensions:
  "merx":
    enabled: true
    name: "merx"
    type: streamable_http
    uri: "https://merx.exchange/mcp/sse"
    timeout: 300

Quality 63 / 100needs work

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2024-11-05; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene79 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations60 of 66 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: read_contract (openWorldHint); create_account (openWorldHint); list_standing_orders (openWorldHint); …
  • warn
    tools.token_costabout 9,204 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes12 tool changes in 30 days
  • fail
    stability.rug_pull5 tools kept their name but changed most of their description in 30 days; review before trusting them
dependencies50 · weight 15
  • fail
    deps.known_vulns7 advisories to act on (malicious, or rated high or critical with a fix available): GHSA-3pq3-5fj3-cg6v in [email protected] (indirect, fixed in 1.20.0), GHSA-542g-h47m-68v8 in [email protected] (indirect, fixed in 1.20.0), GHSA-c29m-xwm3-cm6r in [email protected] (indirect, fixed in 1.20.0), ...; 5 more of lower severity or without a fix
  • n/a
    deps.mcp_sdk_versionthe official MCP SDK is not in the dependency graph
  • pass
    deps.resolvable[email protected] resolved: 52 packages

66 tools, about 9,204 tokens to load them all · tool set 2067856f8b4d · tools last changed 2026-10-20 · checked 2026-10-20 10:35 UTC

Tool changes

  • create_orderchangeddescription
    before

    Buy energy or bandwidth at the Merx market quote, fulfilled by PowerSun. Confirmed Merx funds and API key required; no commission.

    after · 85% of words in common

    Buy energy or bandwidth at the Merx market quote. Confirmed Merx funds and API key required; no commission.

  • create_paid_orderchangeddescription, input schemameaning changed
    before

    Create a zero-registration order via x402 pay-per-use. Requires TRON_PRIVATE_KEY.

    after · 7% of words in common

    Unavailable legacy resource-invoice order. No transaction is sent. Fund your personal Merx account and use quoted resource orders instead.

  • pay_invoicechangeddescription, input schemameaning changed
    before

    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.

    after · 8% of words in common

    Unavailable legacy resource-invoice payment. No transaction is sent. Fund your personal Merx account and use quoted resource orders instead.

  • enable_auto_depositchangeddescription
    before

    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.

    after · 90% of words in common

    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.

  • deposit_trxchangeddescriptionmeaning changed
    before

    Deposit TRX to your Merx account. Requires MERX_API_KEY + TRON_PRIVATE_KEY.

    after · 36% of words in common

    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.

  • get_deposit_infochangeddescriptionmeaning changed
    before

    Get your Merx deposit address and memo. Requires MERX_API_KEY.

    after · 44% of words in common

    Get your personal TRON address for TRX deposits. No memo is required. Requires MERX_API_KEY.

  • execute_swapchangedinput schema
  • call_contractchangedinput schema
  • approve_trc20changedinput schema
  • transfer_trc20changedinput schema

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 82 / 100

provenance75
liveness100
freshness45
hygiene100

+repository +dns-namespace +reachable +uptime-100% -stale-201d

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Dependencies

[email protected] npm51 dependencies, resolved · advisories checked 2026-10-19

advisoryseveritypackagefixed in
GHSA-3pq3-5fj3-cg6vAxios: HTTP/2 adapter bypasses configured DNS lookup and proxy controlshigh[email protected]indirectfixed in 1.20.0
GHSA-542g-h47m-68v8Axios: Denial of Service via Unhandled 'error' Event in HTTP/2 ClientHttp2Session Initializationhigh[email protected]indirectfixed in 1.20.0
GHSA-c29m-xwm3-cm6rAxios: ReDoS in fromDataURI data: URL parser freezes the Node event loop (DoS)high[email protected]indirectfixed in 1.20.0
GHSA-m8m8-qj5v-23w3Axios: Node HTTP adapter prototype-pollution gadget allows request socket hijack via inherited createConnectionhigh[email protected]indirectfixed in 1.20.0
GHSA-mghh-pgcx-3jjjAxios: ReDoS (O(N²)) in shouldBypassProxy host normalization, reachable via untrusted redirect Locationhigh[email protected]indirectfixed in 1.20.0
GHSA-r4gj-5m52-g5whAxios: maxRedirects: 0 is not enforced by the fetch adapter, allowing redirect-based SSRFhigh[email protected]indirectfixed in 1.20.0
GHSA-x97p-jq2g-jp4fAxios: Prototype Pollution Gadget in axios toFormData Optionshigh[email protected]indirectfixed in 1.20.0
GHSA-44g4-m2mj-wpvxAxios: CIDR-form NO_PROXY entries are ignored, causing proxy exclusion bypass for internal IP rangesmoderate[email protected]indirectfixed in 1.20.0
GHSA-4hqw-qxg8-jxx2Axios: Fetch Adapter Header Injection via Inherited FormData getHeadersmoderate[email protected]indirectfixed in 1.20.0
GHSA-9fr6-4gfg-395gAxios: Prototype-Pollution Gadget in the Default Instance Allows Inherited Object.prototype.method to Override HTTP Methodmoderate[email protected]indirectfixed in 1.20.0

2 more advisories in the dependencies endpoint.

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0. The graph is what a clean install of this version resolves today; nothing was installed or run. How it is checked.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://merx.exchange/mcp/sse streamable-httpnoneyes100%493 ms2024-11-052026-10-20
packageregistryversionruntimesecrets
merx-mcpnpm1.0.5–MERX_API_KEY, TRON_PRIVATE_KEY

Tools (66)

agent_statusread-onlyGet 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_pricesread-onlyMarket price analysis with trends and recommendations. No auth required.
approve_trc20destructiveApprove TRC-20 spending allowance. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.
calculate_savingsread-onlyCalculate savings from renting energy vs burning TRX. No authentication required.
call_contractdestructiveExecute a state-changing smart contract function. Estimates resources, buys via Merx if needed. Requires TRON_PRIVATE_KEY and TRON_ADDRESS.
cancel_monitorCancel an active monitor by its UUID. The monitor stops firing notifications. Auth required (API key).
cancel_standing_orderCancel 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_resourcesread-onlyCheck energy, bandwidth, and TRX balance for any TRON address. No auth required.
compare_providersread-onlySide-by-side provider comparison with prices and availability. No auth required.
compile_policyConvert 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_addressread-onlyConvert TRON address between base58 (T...) and hex (41...) formats. No auth required.
create_accountCreate a new Merx account, generate an API key, and get deposit info. No auth needed.
create_invoiceCreate 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_monitorCreate 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_orderBuy energy or bandwidth at the Merx market quote. Confirmed Merx funds and API key required; no commission.
create_paid_orderdestructiveUnavailable legacy resource-invoice order. No transaction is sent. Fund your personal Merx account and use quoted resource orders instead.
create_standing_orderCreate a server-side standing order with trigger-based automation. Auth required.
deposit_trxdestructiveSend 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.
enable_auto_depositConfigure 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.
ensure_resourcesDeclarative resource provisioning. Checks current resources on target address and purchases only what is missing. Auth required.
estimate_contract_callread-onlyEstimate energy and bandwidth cost for a smart contract call. Compares rental vs burn cost. No auth required.
estimate_transaction_costread-onlyEstimate 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_intentdestructivePlan 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_swapdestructiveExecute a token swap on SunSwap V2. Requires TRON_PRIVATE_KEY.
explain_conceptread-onlyExplain 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_inforead-onlyInspect 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_balanceread-onlyGet your Merx account balance (TRX, USDT, locked). Requires MERX_API_KEY.
get_best_priceread-onlyQuick 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_blockread-onlyGet TRON block info by number (or latest if omitted). No auth required.
get_chain_parametersread-onlyGet TRON network parameters (energy fee, bandwidth cost, etc.) with Merx price comparison. No auth required.
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. 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_inforead-onlyGet your personal TRON address for TRX deposits. No memo is required. Requires MERX_API_KEY.
get_orderread-onlyGet 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_historyread-onlyHistorical price snapshots. No auth required.
get_pricesread-onlyGet 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_orderGet 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_quoteread-onlyGet a real swap quote from SunSwap V2. No auth required.
get_token_inforead-onlyGet TRC-20 token metadata: name, symbol, decimals, total supply. No auth required.
get_token_priceread-onlyGet token price via SunSwap quote + CoinGecko USD rate. No auth required.
get_transactionread-onlyLook up a transaction by ID on TRON. No auth required.
get_transaction_historyread-onlyGet your Merx account transaction history. Requires MERX_API_KEY.
get_trc20_balanceread-onlyGet TRC-20 token balance for an address. Supports symbol (USDT, USDC) or contract address. No auth required.
get_trx_balanceread-onlyQuick TRX balance for a TRON address. No auth required.
get_trx_priceread-onlyGet current TRX price from CoinGecko. No auth required.
list_monitorsread-onlyList 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_ordersread-onlyList recent orders with optional status filter. Auth required.
list_providersread-onlyList all Merx providers with types, durations, and availability. No authentication required.
list_standing_ordersread-onlyList all standing orders with optional status filter. Auth required.
loginLog in to an existing Merx account. No MERX_API_KEY needed.
lookup_invoiceread-onlyLook up a MERX invoice. Shows amount, recipient, token, and status. Agent must sign and broadcast the transfer separately (non-custodial).
pay_invoicedestructiveUnavailable legacy resource-invoice payment. No transaction is sent. Fund your personal Merx account and use quoted resource orders instead.
read_contractread-onlyCall a view/pure function on a TRON smart contract. No auth or private key required.
register_agentRegister 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_paymentCreate 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_broadcastdestructiveBroadcast 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_historyread-onlyGet on-chain transaction history for a TRON address. No auth required.
set_api_keySet 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_keySet 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.
simulateread-onlyDry-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_durationread-onlyRecommend a rental duration based on your use case. No authentication required.
transfer_trc20destructiveTransfer TRC-20 tokens with automatic energy optimization. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.
transfer_trxdestructiveSend TRX to an address. Checks bandwidth, buys via Merx if needed. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.
validate_addressread-onlyValidate a TRON address format and check on-chain status. No auth required.
wait_for_delegationBlock 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_addressWatch 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.
withdrawdestructiveWithdraw 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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "exchange.merx/mcp",
  "title": "MERX - TRON Resource Exchange",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://merx.exchange/mcp/sse",
      "type": "streamable-http"
    }
  ],
  "version": "1.0.5",
  "packages": [
    {
      "version": "1.0.5",
      "transport": {
        "type": "stdio"
      },
      "identifier": "merx-mcp",
      "registryType": "npm",
      "environmentVariables": [
        {
          "name": "MERX_API_KEY",
          "isSecret": true,
          "description": "API key from merx.exchange. Unlocks trading, balance, standing orders, and monitors."
        },
        {
          "name": "TRON_PRIVATE_KEY",
          "isSecret": true,
          "description": "TRON wallet private key for signing transactions. Never sent to any server. Enables transfers, swaps, and contract calls."
        }
      ]
    }
  ],
  "repository": {
    "url": "https://github.com/Hovsteder/merx-mcp",
    "source": "github"
  },
  "description": "TRON energy exchange for AI agents. 54 tools, 30 prompts, 21 resources. A2A + ACP."
}