Skip to main content
Glama
Hovsteder

TRON infrastructure for AI agents.

by Hovsteder

MERX

https://MERX.exchange

TRON infrastructure for AI agents.

npm version License: MIT Tools Prompts Resources

66 MCP tools. Energy market across 6 providers. USDT/USDC/USDD payments. x402 v2 facilitator on TRON mainnet.

Documentation | API Reference | MCP Server


Table of contents


Related MCP server: aipaygen-mcp

What is MERX

MERX is the infrastructure layer for AI agents and agentic networks on TRON. Where Stripe is infrastructure for web commerce and Cloudflare for the open web, MERX is the missing infrastructure layer that lets autonomous AI agents discover, transact, and operate on TRON without ever touching energy, bandwidth, or low-level blockchain mechanics.

The platform exposes one coherent stack: 66-tool MCP server, agent payment service for TRC-20 stablecoins, x402 v2 facilitator (the only TRON facilitator in the coinbase/x402 ecosystem registry), GasFree transfers via a MERX-deployed mainnet controller, dedicated TRON RPC node, A2A (Google, 7 skills) and ACP (BeeAI, 7 capabilities) protocol coverage, and a natural language Policy Engine powered by Anthropic Claude.

Underneath those agent surfaces sits an energy aggregator across 6 active providers (CatFee, Netts, TronSave, iTRX, PowerSun, TEM) that routes resource purchases to the cheapest source automatically -- so when an agent calls send(), MERX estimates the energy required, buys only the deficit, and broadcasts the transaction. The agent never holds TRX or thinks about energy.

Any AI agent running in Claude, LangChain, CrewAI, Vertex AI, AutoGen, or BeeAI can send payments and acquire resources on TRON through a single integration with MERX.

Three ways to plug an agent into MERX:

  • MCP server -- 66 tools for AI agents. Hosted SSE at https://merx.exchange/mcp/sse (zero install) or local stdio via npx merx-mcp. Works with Claude, GPT, Cursor, Windsurf, and any MCP-compatible client.

  • Claude Code plugin -- one-line install for Claude Code. Auto-registers the MCP server, ships 6 slash commands and a tron-agent-engineer sub-agent. See Hovsteder/merx-claude-plugin.

  • REST API + SDKs -- direct programmatic access for agents that aren't using MCP. JavaScript (merx-sdk v2.1 on npm), Python (merx-sdk v2.1 on PyPI), or raw HTTP against /api/v1/ (70+ versioned endpoints).

For human users, the web platform at merx.exchange remains available for manual energy trading, dashboard, deposits, and withdrawals -- but the platform is built primarily for agents.


The problem

AI agents will become the dominant transactional users of stablecoins, and TRON -- home to USDD, $86B+ USDT, USDC, and the dominant chain for retail USDT in Southeast Asia, Africa, and Latin America -- is already the largest USDT-native network in the world.

But TRON has no infrastructure designed for agents:

  • No agent-native payment service. Existing TRON wallets are built for human users with mouse clicks and seed-phrase backups, not for autonomous programs that need to register addresses, send TRC-20s, watch for incoming payments, and create invoices via REST.

  • Energy and bandwidth are a UX dead-end. Every smart contract call on TRON requires energy. Without energy, TRX tokens burn as fees -- a single USDT transfer burns 3-13 TRX (~$1-4) for cold receivers. Renting energy from a provider drops the cost to ~$0.10 -- a 94% reduction -- but every provider has a different price, different API, different duration tiers, and different failure modes. No agent can be expected to manage that.

  • No x402 facilitator on TRON before MERX. The x402 protocol has already processed $43.57M in agent-to-agent payments on Base, Solana, Stellar, and Ethereum. TRON was completely absent from the coinbase/x402 ecosystem registry until MERX. Agents that wanted to pay for TRON-hosted APIs in USDT had no standardized way to do it.

  • Three agent protocols, zero TRON integrations. MCP (Anthropic), A2A (Google), and ACP (BeeAI) are the three major agent communication protocols. Until MERX, none of them had a deployed, production-grade TRON server. AI agents in Claude, Vertex AI, or BeeAI literally could not see TRON.

MERX builds the missing layer. AI agents call one API, hold zero TRX, and get paid / pay / send / receive in USDT, USDC, or USDD on the world's largest USDT network.

Without MERX

With MERX

Agent has to manage energy + bandwidth manually

send() estimates and provisions resources automatically

Agent has to hold TRX as gas

GasFree transfers — agents send stablecoins from zero-TRX wallets

Agent has to integrate every energy provider's API

One MERX API routes to the cheapest of 6 providers

No way to pay for TRON-hosted APIs in USDT

x402 v2 facilitator with full USDT/USDC/USDD support

No A2A/ACP discovery on TRON

Agent Card + Manifest live, 7 skills, 7 capabilities

Agent has to write its own MCP server for TRON

66 tools, 30 prompts, 21 resources, hosted

Address watching means polling RPC

watch() with sub-3-second webhook delivery via ZMQ


Platform overview

Component

Description

MCP server

66 tools, 30 prompts, 21 resources for AI agents. Hosted SSE at https://merx.exchange/mcp/sse (zero install) or local stdio. SEP-1649 server card. The largest TRON-native MCP server in production.

Claude Code plugin

One-line install: /plugin marketplace add Hovsteder/merx-claude-plugin. Auto-registers MCP, 6 slash commands, sub-agent.

Agent Payment Service

agent.merx.exchange -- non-custodial REST API. register, send, receive, watch, invoice, batch, schedule, contacts. USDT live; USDD/USDC next sprint.

x402 v2 Facilitator

x402.merx.exchange -- only TRON facilitator in the coinbase/x402 ecosystem registry. Three settlement schemes (exact, exact_permit, exact_gasfree) for USDT, USDC, USDD on TRON mainnet plus USDC on Base.

GasFree Transfer Service

Mainnet controller TKjJ1r5XYqnLZmLakcP3knis7Lh6gm3qtR activated 2026-04-08. TIP-712 PermitTransfer for USDT/USDC/USDD. Agents send stablecoins from zero-TRX wallets.

A2A Protocol (Google)

Agent Card at /.well-known/agent.json. 7 skills including compile_policy. Task-based execution with SSE streaming. Compatible with LangChain, CrewAI, Vertex AI, AutoGen, Mastra.

ACP Protocol (BeeAI)

Manifest at /.well-known/agent-manifest.json. 7 capabilities matching A2A skills. Run-based execution with long-polling.

Policy Engine

Natural language → standing orders, powered by Anthropic Claude Sonnet 4. Available as MCP tool, A2A skill, and REST endpoint.

Energy aggregator

Real-time price comparison across 6 active providers (CatFee, Netts, TronSave, iTRX, PowerSun, TEM). Routes orders to cheapest source. Underneath the agent surfaces.

Dedicated TRON RPC node

rpc.merx.exchange, sub-5ms read latency, 13.7ms broadcast. Trial 1,000 free requests; paid tiers with energy-spend waiver.

REST API

70+ versioned endpoints under /api/v1/. Idempotency-Key on POST. Standard error format.

WebSocket

Real-time TRC-20 transfer stream and price updates at wss://merx.exchange/ws.

JavaScript SDK

merx-sdk v2.1 -- AgentModule + SwapModule + 4 base modules. TypeScript types included.

Python SDK

merx-sdk v2.1 -- same surface in snake_case.

x402 middleware

merx-x402 v2.0.0 -- one-line Express integration for x402 v2.

Documentation

38+ pages at merx.exchange/docs. API reference, MCP/A2A/ACP guides, x402 integration.


Quick start

Four paths depending on your use case. For AI agents, paths 3 and 4 are the primary surfaces. Path 1 (web) is for human operators; path 2 (REST/SDK) is for direct programmatic integration.

Path 1: Web platform (humans)

Go to merx.exchange. Sign in. Deposit TRX. Manage energy, agent API keys, and balance through the dashboard. No code required.

Path 2: REST API / SDK (programmatic)

Install the JavaScript SDK:

npm install merx-sdk

Use it in your application (replace merx_sk_your_key with your API key from merx.exchange):

import { MerxClient } from 'merx-sdk'

const merx = new MerxClient({ apiKey: 'merx_sk_your_key' })

// Get current prices from all providers
const prices = await merx.prices.list()
console.log(prices[0])
// { provider: "netts", price_sun: 22, available: 100000000 }

// Buy energy at best price
const order = await merx.orders.create({
  resource_type: 'ENERGY',
  amount: 65000,
  duration_sec: 300,
  target_address: 'TYourAddress...',
})
console.log(order.status)   // "FILLED"
console.log(order.cost_trx) // 1.4311

Python:

from merx import MerxClient

merx = MerxClient(api_key="merx_sk_your_key")

prices = merx.prices.list()
order = merx.orders.create(
    resource_type="ENERGY",
    amount=65000,
    duration_sec=300,
    target_address="TYourAddress..."
)

curl (no SDK needed):

# Public -- no auth required
curl https://merx.exchange/api/v1/prices

# Authenticated
curl -X POST https://merx.exchange/api/v1/orders \
  -H "Authorization: Bearer merx_sk_your_key" \
  -H "Content-Type: application/json" \
  -d '{
    "resource_type": "ENERGY",
    "amount": 65000,
    "duration_sec": 300,
    "target_address": "TYourAddress..."
  }'

Path 3: Claude Code plugin (one-line install)

If you're using Claude Code, this is the fastest path. The plugin auto-registers the hosted MCP server, ships 6 slash commands, and includes a tron-agent-engineer sub-agent specialized in agentic payment workflows on TRON.

/plugin marketplace add Hovsteder/merx-claude-plugin
/plugin install merx@merx

Then run /merx:setup to configure your MERX API key. Available commands:

Command

What it does

/merx:setup

First-time setup: API key, connection test, capability tour

/merx:prices

Live TRON energy and bandwidth prices across all providers

/merx:buy-energy

Buy energy via cheapest provider, delegated to a target address

/merx:balance

MERX prepaid balance, recent orders, free-tier usage

/merx:tx

Look up a TRON transaction with structured fields

/merx:send

Send TRC-20 stablecoin via the agent payment service

Source: github.com/Hovsteder/merx-claude-plugin.

Path 4: MCP for any AI agent (Claude, Cursor, Windsurf, custom)

Hosted (zero install) -- works with Claude.ai, Cursor, Windsurf, and any SSE-compatible MCP client:

{
  "mcpServers": {
    "merx": {
      "url": "https://merx.exchange/mcp/sse"
    }
  }
}

22 read-only tools are available immediately: prices, estimation, market analysis, on-chain queries, address lookups. No API key required.

To unlock trading tools, call set_api_key in any conversation:

set_api_key("merx_sk_your_key")
-> All 34 authenticated tools unlocked for this session.

To unlock write tools (send TRX, swap tokens), call set_private_key:

set_private_key("your_64_char_hex_key")
-> Address derived automatically. All 66 tools available.
-> Key never leaves your machine.

Local (stdio) -- full power with keys set via environment variables:

npm install -g merx
{
  "mcpServers": {
    "merx": {
      "command": "npx merx-mcp",
      "env": {
        "MERX_API_KEY": "merx_sk_your_key",
        "TRON_PRIVATE_KEY": "your_private_key"
      }
    }
  }
}

All 66 tools available from the first message.

Additional protocol support

MERX also exposes A2A and ACP for non-MCP orchestrators -- same backend, different discovery surface:

Access levels

Configuration

Tools

Capabilities

No keys

22

Prices, estimation, market analysis, on-chain queries, address lookups

+ MERX_API_KEY

34

+ Orders, balance, deposits, standing orders, monitors

+ TRON_PRIVATE_KEY

66

+ Send TRX/USDT/USDC/USDD, swap tokens, approve contracts, execute intents, agent payments


What sets MERX apart

The only complete agent stack on TRON

MERX is the only TRON project that runs all three major agent protocols as production-grade services: MCP (Anthropic), A2A (Google, 7 skills), and ACP (BeeAI, 7 capabilities). TronLink published a core MCP library (@tronlink/tronlink-mcp-core v0.1.0, March 2026) but it is explicitly a building block, not a hosted service. MERX is the only TRON entry in the coinbase/x402 ecosystem partner registry.

Agent payment service with sub-3-second receive

agent.merx.exchange is non-custodial: agents register their own TRON address and MERX never holds private keys or controls funds. The ZMQ event listener matches incoming TRC-20 transfers (USDT, USDC, USDD, plus any other token in real time) and dispatches webhooks within ~3 seconds of on-chain confirmation. watch() provides persistent 24/7 address monitoring with per-token filtering. invoice() creates payment requests with payment links and automatic detection. batch() sends up to 50 transfers in one call.

x402 v2 facilitator with full TRON stablecoin coverage

x402.merx.exchange implements the standard /verify, /settle, and /supported endpoints, so any x402 client (including the Coinbase CDP reference implementation) interoperates out of the box. Three settlement schemes live on TRON mainnet: exact (direct TRC-20 transfer), exact_permit and exact_gasfree (TIP-712 PermitTransfer through MERX's own GasFreeController contract). USDT, USDC, and USDD all settled on mainnet with verified txids and on-chain commission collection. Among 15 known x402 facilitators, MERX is the only one supporting the full TRON stablecoin set.

GasFree zero-TRX sends

The MERX-deployed GasFreeController contract TKjJ1r5XYqnLZmLakcP3knis7Lh6gm3qtR went live on mainnet 2026-04-08 with three verified mainnet permitTransfer settlements (USDT, USDC, USDD). Agents send stablecoins from wallets that hold zero TRX -- the controller pulls value+fee from a per-user GasFree subaccount and the executor pays the broadcast gas. Single biggest UX barrier for agents on TRON, removed.

Resource-aware transactions

Every write operation (TRC-20 transfer, token swap, contract call) automatically estimates energy AND bandwidth needed, buys the deficit at the best market price across 6 providers, waits for delegation to arrive on-chain, then executes. The agent never burns TRX unnecessarily. Tested on mainnet: a USDT transfer with auto-resources saves up to 94% compared to burning.

Exact energy simulation

Before buying energy for swaps and contract calls, MERX simulates the exact transaction via triggerConstantContract with real parameters. No hardcoded estimates -- the precise energy amount is purchased. For a SunSwap V2 swap, simulation returned 223,354 energy; the on-chain transaction used exactly 223,354.

Natural language Policy Engine

"Keep 500,000 energy on my wallet. Buy when price drops below 55 SUN. Max 200 TRX per week."

The Policy Engine (powered by Anthropic Claude Sonnet 4) parses this instruction, generates structured standing orders with triggers, budget limits, and expiration, previews them for the user, and creates everything with one confirmation. Available through MCP, A2A skill, and REST endpoint. No competitor can replicate this without their own Anthropic integration, standing order infrastructure, and real-time provider price feeds.

Multi-provider energy routing (under the agent surfaces)

All 6 active energy providers are aggregated (CatFee, Netts, TronSave, iTRX, PowerSun, TEM). Orders are routed to the cheapest source automatically. If one provider fails or runs out of capacity, the next cheapest fills the order. Prices cover both energy and bandwidth across every available duration tier.

Standing orders + delegation monitors

Server-side 24/7 automation stored in PostgreSQL. Trigger types: price_below, price_above, schedule (cron), balance_below, delegation_expiry. Persists across restarts. Works when the client is offline. Auto-renew with configurable max price.

Full MCP protocol

The only TRON MCP server using all three MCP primitives: tools (66), prompts (30), and resources (21 -- 14 static + 7 templates). Two transport modes: hosted SSE (zero install) and local stdio (full key management). Three protocol versions supported: 2024-11-05, 2025-03-26, 2025-06-18.


Architecture

Platform overview

graph TB
    User[User / Application / AI Agent]
    Platform[MERX Platform<br>merx.exchange]
    PM[Price Monitor<br>polls every 30s]
    OE[Order Executor<br>routes to cheapest]
    DV[Delegation Verifier<br>confirms on-chain]
    TR[Treasury<br>balance management]
    RPC[TronGrid / GetBlock<br>TRON RPC]
    Providers[Energy Providers<br>all connected]
    TRON[TRON Blockchain]

    User -->|Web / API / SDK / MCP| Platform
    Platform --> PM
    Platform --> OE
    Platform --> DV
    Platform --> TR
    PM -->|Price polling| Providers
    OE -->|Order routing<br>cheapest first| Providers
    DV -->|Verify delegations| RPC
    RPC --> TRON
    Providers -->|Delegate energy<br>+ bandwidth| TRON

    style User fill:#1a1a2e,stroke:#B8963E,color:#F5F0E8
    style Platform fill:#0C0B09,stroke:#B8963E,color:#F5F0E8
    style TRON fill:#141310,stroke:#B8963E,color:#F5F0E8
User / Application / AI Agent
    |
    | Web / REST API / SDK / MCP
    v
+----------------------------------+
|         MERX Platform            |
|         merx.exchange            |
|                                  |
|  +------------+ +-------------+  |
|  |   Price    | |   Order     |  |
|  |  Monitor   | |  Executor   |  |
|  | (every 30s)| | (cheapest)  |  |
|  +------------+ +-------------+  |
|  +------------+ +-------------+  |
|  | Delegation | |  Treasury   |  |
|  |  Verifier  | |  Manager    |  |
|  +------------+ +-------------+  |
+----------------------------------+
    |                    |
    v                    v
TronGrid / GetBlock   Energy Providers
(TRON RPC)            (all connected)
    |                    |
    v                    v
+----------------------------------+
|        TRON Blockchain           |
+----------------------------------+

Key architecture principle: All traffic goes through the MERX platform. Users never need TronGrid API keys. MERX manages all RPC infrastructure, caching, and failover server-side. The only operation that stays on the client: transaction signing with a private key. Private keys never leave the client process.

Resource-aware transaction flow

This sequence diagram shows a real USDT transfer with auto-resource optimization. Numbers are from production testing.

sequenceDiagram
    participant C as Client
    participant M as MERX
    participant P as Providers
    participant T as TRON

    C->>M: POST /orders or transfer_trc20(USDT, 100, TAddr)
    M->>M: POST /estimate (trc20_transfer)
    Note over M: energy: 7,896 / bandwidth: 345
    M->>M: GET /chain/resources/TSender
    Note over M: energy: 0 / bandwidth: 0 / free BW: 600
    Note over M: Energy deficit: 7,896 (round up to 65,000 min)<br>Bandwidth: 345 < 1,500 min order, skip
    M->>P: Route order: ENERGY, 65,000, 300s
    P-->>M: FILLED at 22 SUN (1.43 TRX)
    Note over M: Poll every 2s until delegation arrives
    M->>T: Verify delegation on sender address
    T-->>M: energy: 65,050 available
    Note over M: Sign TX (client-side if MCP, server-side if API)
    M->>T: Broadcast signed TX
    T-->>M: TX confirmed
    M-->>C: USDT sent. Cost: 1.43 TRX.<br>Burn alternative: 3.66 TRX. Savings: 87.6%
Client                  MERX                    Providers               TRON
  |                       |                       |                      |
  | order / transfer      |                       |                      |
  |---------------------->|                       |                      |
  |                       | estimate energy+BW    |                      |
  |                       | energy: 7,896         |                      |
  |                       | bandwidth: 345        |                      |
  |                       |                       |                      |
  |                       | check sender resources|                      |
  |                       | energy: 0, BW: 0      |                      |
  |                       |                       |                      |
  |                       | [deficit: 7,896 -> round up to 65,000]      |
  |                       | [BW: 345 < 1,500 min -> skip, burn ~0.3 TRX]|
  |                       |                       |                      |
  |                       | route to cheapest     |                      |
  |                       |---------------------->|                      |
  |                       |   FILLED 22 SUN       |                      |
  |                       |   1.43 TRX            |                      |
  |                       |<----------------------|                      |
  |                       |                       |                      |
  |                       | [poll until delegation arrives]              |
  |                       |                       |                      |
  |                       | verify delegation     |--------------------->|
  |                       |   energy: 65,050      |<---------------------|
  |                       |                       |                      |
  |                       | [sign + broadcast]    |                      |
  |                       |---------------------->|--------------------->|
  |                       |                       |   TX confirmed       |
  |                       |<----------------------|<---------------------|
  |                       |                       |                      |
  |   USDT sent           |                       |                      |
  |   Cost: 1.43 TRX      |                       |                      |
  |   Burn alt: 3.66 TRX  |                       |                      |
  |   Savings: 87.6%      |                       |                      |
  |<----------------------|                       |                      |

Resource purchase rules

Rule

Details

Energy deficit > 0

Round up to minimum 65,000 units. Cheaper to buy minimum than to burn even small deficits.

Bandwidth deficit < 1,500

Skip purchase, let network burn ~0.3 TRX. Cheaper than minimum bandwidth order.

After energy purchase

Poll check_address_resources every 2 seconds until delegation arrives on-chain. Never broadcast TX before delegation is confirmed.

DEX swaps

Simulate exact energy via triggerConstantContract with real swap parameters. No hardcoded estimates.


API overview

Base URL: https://merx.exchange/api/v1

All endpoints are versioned. Errors follow a standard format: { "error": { "code": "...", "message": "...", "details": { ... } } }. Idempotency-Key header supported on POST /orders and POST /withdraw.

Public endpoints (no authentication)

Method

Endpoint

Description

GET

/prices

Current energy and bandwidth prices from all providers

GET

/prices/best

Cheapest provider for given resource and amount

GET

/prices/history

Historical price snapshots by provider and period

GET

/prices/stats

Price statistics: min, max, average, percentiles

GET

/prices/analysis

Market analysis with trends and recommendations

GET

/orders/preview

Preview order cost without creating it

POST

/estimate

Estimate energy and bandwidth for any transaction type

GET

/chain/account/:address

On-chain account info

GET

/chain/resources/:address

Energy, bandwidth, and free BW for any address

GET

/chain/transaction/:txid

Transaction details by ID

GET

/chain/block/:number

Block info by number or latest

GET

/chain/parameters

TRON network parameters

Authenticated endpoints (API key required)

Method

Endpoint

Description

POST

/orders

Create order -- routed to cheapest provider

GET

/orders

List orders with optional status filter

GET

/orders/:id

Order details with fills, TX hashes, verification

GET

/balance

MERX account balance (TRX, USDT, locked)

GET

/deposit/info

Deposit address and memo

POST

/withdraw

Withdraw TRX to external address

GET

/history

Account transaction history

GET

/history/summary

History summary with totals

POST

/keys

Create new API key

GET

/keys

List API keys

DELETE

/keys/:id

Revoke API key

POST

/webhooks

Register webhook endpoint

GET

/webhooks

List registered webhooks

DELETE

/webhooks/:id

Remove webhook

POST

/ensure

Ensure minimum resources on an address

POST

/standing-orders

Create server-side standing order

GET

/standing-orders

List standing orders

POST

/monitors

Create delegation or balance monitor

GET

/monitors

List monitors

x402 endpoints (zero registration)

Method

Endpoint

Description

POST

/x402/invoice

Create payment invoice

POST

/x402/verify

Verify invoice payment

Full API reference: merx.exchange/docs/api


MCP server

MERX provides a full MCP (Model Context Protocol) server for AI agents. 66 tools across 18 categories, 30 pre-built prompts, and 21 live data resources.

Note: the tool catalog table below was last fully audited at 52 tools. Twelve newer tools (agent payment service, swap module, advanced standing orders) are documented at merx.exchange/docs/tools/mcp-server. The canonical count is 64, served by the live MCP server.

Tool categories

Category

Count

Auth

Description

Price Intelligence

5

--

Real-time prices from all providers, market analysis, trends, history

Resource Estimation

2

--

Estimate energy + bandwidth for any transaction type

Resource Trading

4

API key

Buy energy/bandwidth at best price, ensure resources on any address

Account Management

3

API key

Balance, deposit info, transaction history

Agent Convenience

4

--

Explain concepts, suggest durations, calculate savings, list providers

On-chain Queries

5

--

Account info, TRX/TRC20 balances, transaction lookup, blocks

Token Operations

4

Private key

Send TRX, transfer TRC20, approve tokens -- all resource-aware

Smart Contracts

3

Mixed

Read contract state, estimate call cost, execute with auto-resources

Network Utilities

5

--

Chain parameters, address tools, TRX price, on-chain history

DEX Swaps

3

Private key

SunSwap V2 quotes, execution with exact energy simulation

Onboarding

2

--

Create account + login, no browser needed

Payments

4

Mixed

Self-deposit, auto-deposit config, x402 pay-per-use

Intent Execution

2

Mixed

Multi-step plans: simulate or execute complex sequences

Standing Orders

4

API key

Server-side 24/7 automation: price triggers, cron, monitors

Session Management

2

--

Set API key and private key for current session

Total

52

Prompts (30)

Pre-built conversation templates available in Claude Desktop prompt picker and via prompts/get in any MCP client.

Group

Prompts

Examples

Market (5)

buy-energy, buy-bandwidth, ensure-resources, market-analysis, compare-providers

"Buy energy at best market price"

Transactions (5)

send-usdt, send-trx, send-token, multi-transfer, explain-transaction

"Send USDT with auto resource optimization"

Wallet (4)

check-wallet, audit-spending, monitor-delegations, optimize-wallet

"Full wallet overview with balances and delegations"

DEX (3)

swap-tokens, check-token, price-check

"Swap tokens via SunSwap"

Planning (3)

estimate-costs, budget-plan, stake-vs-rent

"Plan energy budget for a period"

Developer (2)

integrate-merx, setup-mcp

"How to integrate MERX API"

Onboarding (2)

onboard, fund-account

"Create account and get started"

Payments (2)

setup-auto-funding, buy-without-account

"x402 zero-registration purchase"

Simulation (2)

simulate-plan, execute-plan

"Simulate a multi-step plan"

Monitoring (2)

setup-standing-order, auto-renew-delegations

"Set up auto-renewal for delegations"

Resources (21)

14 static resources + 7 URI templates. Attach to conversations as context or subscribe for real-time updates.

Resource

URI

Updates

Energy prices

merx://prices/energy

Every 30s

Bandwidth prices

merx://prices/bandwidth

Every 30s

Best price

merx://prices/best

Every 30s

Market analysis

merx://market/analysis

Every 5m

Provider list

merx://market/providers

Every 30s

Provider status

merx://market/providers/status

Every 30s

Account balance

merx://account/balance

On change

Recent orders

merx://account/orders/recent

On change

Account stats

merx://account/stats

Every 5m

Auto-deposit config

merx://account/auto-deposit

On change

Network parameters

merx://network/parameters

Every 1h

TRX price

merx://network/trx-price

Every 1m

Token reference

merx://reference/tokens

Static

Standing orders

merx://standing-orders/active

On change

URI Templates:

Template

Description

merx://address/{address}/overview

Full address state: TRX, tokens, energy, bandwidth

merx://address/{address}/resources

Energy + bandwidth with free BW tracking

merx://address/{address}/transactions

Recent transactions with type and amounts

merx://address/{address}/delegations

Active delegations with expiry times

merx://token/{token}/info

Token metadata + price + transfer energy cost

merx://order/{order_id}/status

Order details with fills and cost breakdown

merx://standing-order/{id}/status

Standing order trigger state and executions

Example conversations

Check prices and buy energy:

User: What is the cheapest energy right now?
Agent: [calls get_prices] Cheapest energy is 22 SUN from Netts (5-minute
       delegation). For 65,000 energy, that is 1.43 TRX.
User: Buy it for TLyqz...
Agent: [calls create_order] Done. 65,050 energy delegated via Netts.
       Cost: 1.43 TRX. TX: 27ab0019... (verified on-chain).

Resource-aware USDT transfer:

User: Send 100 USDT to TAddr.
Agent: [calls transfer_trc20] MERX estimated 7,896 energy needed,
       bought 65,000 at 22 SUN, waited for delegation, signed and
       broadcast. USDT sent. Cost: 1.43 TRX instead of 3.66 TRX.
       Savings: 87.6%.

Market analysis:

User: Is now a good time to buy energy?
Agent: [calls analyze_prices] Energy is at 22 SUN -- the 1st percentile
       of the last 7 days. 64% below the weekly average of 62 SUN.
       Trend: falling. Recommendation: good time to buy.

Full tool reference

All 66 tools with auth requirements. For input schemas and output examples, see docs/TOOLS.md.

Price Intelligence

#

Tool

Description

Auth

1

get_prices

Current energy and bandwidth prices from all providers

--

2

get_best_price

Cheapest provider for given resource and amount

--

3

analyze_prices

Market analysis with trends, percentile, and recommendation

--

4

get_price_history

Historical price snapshots by provider, resource, and period

--

5

compare_providers

Side-by-side provider comparison with all duration tiers

--

Resource Estimation

#

Tool

Description

Auth

6

estimate_transaction_cost

Estimate energy + bandwidth for TRX/TRC20/custom operations

--

7

check_address_resources

Energy, bandwidth, free BW, and TRX balance for any address

--

Resource Trading

#

Tool

Description

Auth

8

create_order

Buy energy or bandwidth, routed to cheapest provider

API key

9

get_order

Order details with fills, TX hashes, and verification status

API key

10

list_orders

List orders with optional status filter

API key

11

ensure_resources

Declarative: ensure minimum energy/bandwidth on an address

API key

Account Management

#

Tool

Description

Auth

12

get_balance

MERX account balance (TRX, USDT, locked)

API key

13

get_deposit_info

MERX deposit address and memo

API key

14

get_transaction_history

MERX account order history (7D/30D/90D)

API key

Agent Convenience

#

Tool

Description

Auth

15

explain_concept

Explain TRON concepts: energy, bandwidth, staking, delegation, sun_units

--

16

suggest_duration

Recommend rental duration based on use case and TX count

--

17

calculate_savings

Calculate savings from renting vs burning for N transactions

--

18

list_providers

All providers with types, durations, and availability

--

On-chain Queries

#

Tool

Description

Auth

19

get_account_info

Full on-chain account: TRX, energy, bandwidth, limits

--

20

get_trx_balance

Quick TRX balance for any address

--

21

get_trc20_balance

TRC-20 token balance (supports symbol or contract address)

--

22

get_transaction

Look up transaction by ID with status, energy, bandwidth used

--

23

get_block

Block info by number (or latest)

--

Token Operations

#

Tool

Description

Auth

24

transfer_trx

Send TRX with auto bandwidth optimization

Private key

25

transfer_trc20

Transfer TRC-20 tokens with auto energy + bandwidth

Private key

26

approve_trc20

Approve TRC-20 spending allowance with auto energy

Private key

27

get_token_info

Token metadata: name, symbol, decimals, total supply

--

Smart Contracts

#

Tool

Description

Auth

28

read_contract

Call view/pure contract functions (no gas, no signing)

--

29

estimate_contract_call

Estimate energy + bandwidth for a contract call

--

30

call_contract

Execute state-changing contract function with auto resources

Private key

Network Utilities

#

Tool

Description

Auth

31

get_chain_parameters

TRON network parameters with MERX price comparison

--

32

convert_address

Convert between base58 (T...) and hex (41...) formats

--

33

get_trx_price

Current TRX price from CoinGecko

--

34

validate_address

Validate TRON address format and check on-chain status

--

35

search_transaction_history

On-chain transaction history for any address

--

DEX Swaps

#

Tool

Description

Auth

36

get_swap_quote

Real SunSwap V2 quote with expected output and slippage

--

37

execute_swap

Execute SunSwap swap with exact energy simulation

Private key

38

get_token_price

Token price via SunSwap pools + CoinGecko USD rate

--

Onboarding

#

Tool

Description

Auth

39

create_account

Create MERX account and get API key

--

40

login

Log in to existing MERX account

--

Payments

#

Tool

Description

Auth

41

deposit_trx

Deposit TRX to MERX from wallet (signs TX with memo)

API key + Private key

42

enable_auto_deposit

Configure auto-deposit when balance drops below threshold

API key

43

pay_invoice

Pay an existing x402 invoice

Private key

44

create_paid_order

x402 zero-registration order: invoice, pay, verify, order

Private key

Intent Execution

#

Tool

Description

Auth

45

execute_intent

Execute multi-step plan with resource optimization

API key

46

simulate

Simulate multi-step plan without executing

--

Standing Orders and Monitors

#

Tool

Description

Auth

47

create_standing_order

Create server-side standing order with trigger + action

API key

48

list_standing_orders

List standing orders with status filter

API key

49

create_monitor

Create persistent monitor (delegation, balance, price)

API key

50

list_monitors

List monitors with status filter

API key

Session Management

#

Tool

Description

Auth

51

set_api_key

Set MERX API key for this session

--

55

set_private_key

Set TRON private key for this session (address auto-derived)

--


SDKs

JavaScript / TypeScript

npm install merx-sdk
import { MerxClient } from 'merx-sdk'

const merx = new MerxClient({ apiKey: 'merx_sk_your_key' })

// 4 modules: prices, orders, balance, webhooks
const prices   = await merx.prices.list()
const best     = await merx.prices.best({ resource: 'ENERGY' })
const order    = await merx.orders.create({ ... })
const status   = await merx.orders.get(order.id)
const balance  = await merx.balance.get()
const webhooks = await merx.webhooks.list()

Property

Value

Package

merx-sdk

Modules

prices, orders, balance, webhooks

Methods

16

TypeScript

Full type definitions included

Dependencies

Zero

Node.js

18+

Python

pip install merx-sdk
from merx import MerxClient

merx = MerxClient(api_key="merx_sk_your_key")

# Same 4 modules, snake_case
prices  = merx.prices.list()
best    = merx.prices.best(resource="ENERGY")
order   = merx.orders.create(resource_type="ENERGY", amount=65000, ...)
status  = merx.orders.get(order.id)
balance = merx.balance.get()

Property

Value

Package

merx-sdk

Modules

prices, orders, balance, webhooks

Methods

16

Type hints

Full type annotations

Dependencies

Zero

Python

3.11+

REST API

No SDK required. All endpoints accept JSON and return JSON.

# Get prices (public, no auth)
curl https://merx.exchange/api/v1/prices

# Get best price for energy
curl https://merx.exchange/api/v1/prices/best?resource=ENERGY

# Create order (authenticated)
curl -X POST https://merx.exchange/api/v1/orders \
  -H "Authorization: Bearer merx_sk_your_key" \
  -H "Content-Type: application/json" \
  -d '{"resource_type":"ENERGY","amount":65000,"duration_sec":300,"target_address":"TAddr..."}'

# Check balance
curl https://merx.exchange/api/v1/balance \
  -H "Authorization: Bearer merx_sk_your_key"

Real-time data

WebSocket

Connect to wss://merx.exchange/ws for real-time price updates.

const ws = new WebSocket('wss://merx.exchange/ws')

ws.onopen = () => {
  // Subscribe to all energy price updates
  ws.send(JSON.stringify({ type: 'subscribe', channel: 'prices', resource: 'ENERGY' }))
}

ws.onmessage = (event) => {
  const data = JSON.parse(event.data)
  // { provider: "netts", resource: "ENERGY", price_sun: 22, available: 100000000, ... }
}

Property

Value

Endpoint

wss://merx.exchange/ws

Channels

prices, orders, balance

Update frequency

Every 30 seconds for prices

Heartbeat

Every 30 seconds

Reconnect

Client-side with exponential backoff recommended

Webhooks

Register webhook endpoints to receive HTTP POST notifications for account events.

curl -X POST https://merx.exchange/api/v1/webhooks \
  -H "Authorization: Bearer merx_sk_your_key" \
  -H "Content-Type: application/json" \
  -d '{"url":"https://your-app.com/webhook","events":["order.filled","deposit.received"]}'

Event

Fired when

order.filled

Energy or bandwidth order has been filled by a provider

order.failed

Order failed after all provider attempts exhausted

deposit.received

TRX deposit confirmed and credited to balance

withdrawal.completed

TRX withdrawal broadcast and confirmed on-chain

Security: Every webhook request includes an X-Merx-Signature header containing an HMAC-SHA256 signature computed with your webhook secret. Verify this signature before processing. Failed deliveries are retried with exponential backoff.


Payment methods

MERX supports three ways to pay for energy and bandwidth.

1. Pre-funded MERX balance

Deposit TRX to your MERX account via the dashboard at merx.exchange or via the API. Trade directly from your balance. Best for high-volume users and teams.

# Check balance
curl https://merx.exchange/api/v1/balance \
  -H "Authorization: Bearer merx_sk_your_key"

# Response
# { "available_trx": 45.20, "locked_trx": 1.43, "total_trx": 46.63 }

2. Self-deposit from agent wallet

The agent deposits TRX to MERX from its own wallet using the deposit_trx tool or API. The tool builds a TRX transfer with the correct memo, signs it locally, and broadcasts. Balance is credited in 1-2 minutes.

deposit_trx(amount: 10)
-> TX: 4bc60854f828...8ddcd509
-> 10 TRX deposited. Will be credited to your MERX balance shortly.

3. x402 pay-per-use

No account needed. No pre-deposit. Create an invoice, pay with TRX from any wallet, and receive energy delegation directly. Complete flow in one API call or one tool call via create_paid_order.

create_paid_order(amount: 65000, duration_sec: 300,
  resource_type: "ENERGY", target_address: "THT49...")
-> Invoice: inv_f41ffc2f...
-> Payment TX: 53236a5a...
-> Cost: 1.43 TRX
-> Status: PENDING -> FILLED
-> 65,050 energy delegated to THT49...

Method

Setup required

Best for

Min deposit

Pre-funded balance

Account + dashboard deposit

High-volume users, teams

Any amount

Self-deposit (deposit_trx)

API key + private key

Autonomous agents

Any amount

x402 (create_paid_order)

Private key only

One-off purchases, no-account agents

Per-order

See docs/PAYMENT-METHODS.md for detailed flow diagrams.


Standing orders and monitors

Standing orders

Server-side 24/7 automation stored in PostgreSQL. Persists across restarts. Works when the client is offline.

Trigger types:

Trigger

Description

Example

price_below

Fire when best price drops below threshold

Buy 65,000 energy when price < 20 SUN

price_above

Fire when best price exceeds threshold

Alert when energy exceeds 50 SUN

schedule

Cron-based schedule

Buy energy every day at 03:00 UTC

balance_below

Fire when MERX balance drops below threshold

Auto-deposit 50 TRX when balance < 10 TRX

Action types:

Action

Description

buy_resource

Buy specified amount of energy or bandwidth

ensure_resources

Ensure minimum resources on target address

notify_only

Send notification via webhook

Example:

create_standing_order(
  trigger: { type: "price_below", resource: "ENERGY", threshold_sun: 20 },
  action: { type: "buy_resource", amount: 65000, duration_sec: 300 },
  target_address: "TLyqz...",
  max_executions: 10,
  budget_trx: 15
)

-> Standing Order: so_a1b2c3d4
-> Status: ACTIVE
-> Trigger: ENERGY price < 20 SUN
-> Action: Buy 65,000 energy (5m)
-> Budget: 15 TRX (10 executions max)

Delegation monitors

Watch delegations and resources on any address. Alert before expiry. Auto-renew with configurable max price.

Monitor type

Description

Example

delegation_expiry

Alert before energy/bandwidth delegation expires

Alert 5 minutes before expiry, auto-renew at max 30 SUN

balance_threshold

Alert when TRX balance drops below threshold

Alert when balance < 5 TRX

price_alert

Alert on price movements

Alert when energy price drops below 20 SUN

Example:

create_monitor(
  type: "delegation_expiry",
  address: "TLyqz...",
  resource: "ENERGY",
  alert_before_sec: 300,
  auto_renew: true,
  max_price_sun: 30
)

-> Monitor: mon_e5f6g7h8
-> Status: ACTIVE
-> Type: delegation_expiry
-> Alert: 5 minutes before expiry
-> Auto-renew: Yes (max 30 SUN)

Savings calculator

Energy is the expensive resource on TRON. These numbers show the cost difference between burning TRX (no energy) and renting energy through MERX.

Resource

Purpose

Free daily

Without it

Energy

Smart contract execution (USDT transfers, swaps, approvals)

0 (must stake or rent)

TRX burned at network rate

Bandwidth

Transaction serialization (every TX needs some)

600 bytes/day

TRX burned at network rate

Cost comparison

Scenario

Burn cost (no energy)

Rental cost (MERX)

Savings

1 USDT transfer

3-13 TRX

1.43 TRX

56-89%

10 USDT transfers

30-130 TRX

14.30 TRX

52-89%

100 USDT transfers/day

300-1,300 TRX

143 TRX

52-89%

SunSwap swap (small)

~50 TRX

~4.91 TRX

~90%

Contract call (simple)

~1 TRX

~0.09 TRX

~91%

Numbers assume the cheapest available provider at time of order. Actual burn cost varies by recipient address state (whether it has held the token before).

How it works

1 TRX = 1,000,000 SUN. Energy is priced in SUN per unit. A USDT transfer needs approximately 65,000 energy units. At 22 SUN per unit, that is 65,000 x 22 = 1,430,000 SUN = 1.43 TRX. Without energy, the network burns 3-13 TRX from the sender depending on the recipient's account state.


Error handling

All errors follow a standard format across API, SDKs, and MCP:

{
  "error": {
    "code": "INSUFFICIENT_BALANCE",
    "message": "MERX balance too low. Need 1.43 TRX, have 0.50 TRX.",
    "details": {
      "required_trx": 1.43,
      "available_trx": 0.50
    }
  }
}

Common error codes

Code

Description

Resolution

INSUFFICIENT_BALANCE

MERX account balance too low

Deposit TRX via dashboard or deposit_trx

PROVIDER_UNAVAILABLE

All providers failed for this order

Try again later or increase max price

INVALID_ADDRESS

TRON address format invalid

Check address starts with T and is 34 characters

DELEGATION_TIMEOUT

Energy delegation did not arrive within timeout

Check order status with get_order

SIMULATION_FAILED

Contract call simulation failed

Check contract address and function parameters

PRIVATE_KEY_REQUIRED

Operation requires TRON private key

Set TRON_PRIVATE_KEY env var or call set_private_key

API_KEY_REQUIRED

Operation requires MERX API key

Set MERX_API_KEY env var or call set_api_key

ORDER_MIN_AMOUNT

Amount below minimum order size

Energy minimum: 65,000. Bandwidth minimum: 1,500


Security

Private key handling

  • Private keys are set via environment variable (TRON_PRIVATE_KEY) or the set_private_key tool in-session.

  • Keys never leave the client process. All transaction signing happens locally.

  • The MERX API never receives private keys.

  • The set_private_key tool derives the TRON address automatically -- the user only provides the 64-character hex key.

API key handling

  • API keys authenticate with the MERX API for trading operations.

  • Keys can be set via environment variable (MERX_API_KEY) or the set_api_key tool in-session.

  • Create an account and get an API key without leaving the conversation using the create_account tool.

What MERX can and cannot do

With private key

Without private key

Sign and broadcast transactions

Read-only operations only

Send TRX and TRC-20 tokens

Check prices and balances

Execute swaps

Get swap quotes

Approve contracts

Estimate costs

Deposit TRX to MERX

View market data


Tested on mainnet

Every capability was tested in production on TRON mainnet. These are not simulations -- every TX hash is verifiable on TronScan.

Verified transactions

Category

Operation

TX Hash

Status

Details

Token Operations

transfer_trx

b22813a813c3...990e7955

SUCCESS

0.1 TRX sent, 267 bandwidth consumed

Payments

deposit_trx

4bc60854f828...8ddcd509

SUCCESS

10 TRX deposited to MERX with memo, credited to balance

Token Operations

approve_trc20

56fc87f319b9...0bf5ffbb

SUCCESS

USDT approval, 99,764 energy consumed

Smart Contracts

call_contract

fc55aee3dc50...4bb5c1bf

SUCCESS

name() call on contract, 4,098 energy consumed

DEX Swaps

execute_swap

61424b1e89a0...d066d21577

SUCCESS

0.1 TRX -> 0.032 USDT via SunSwap V2, 223,354 energy (exactly as simulated)

Resource Trading

create_order

8adac3b8a859...4e69e4ca

FILLED

65,050 energy via Netts at 22 SUN, 1.43 TRX

Payments

create_paid_order

53236a5aeba0...984dec7b

SUCCESS

x402 flow: 1.43 TRX invoice paid, 65,050 energy delegated

Key findings from mainnet testing

Metric

Value

USDT transfer energy (typical)

65,000 units

USDT transfer cost (rented energy)

1.43 TRX

USDT transfer cost (burned)

3-13 TRX

Maximum savings observed

94%

SunSwap swap energy (0.1 TRX -> USDT)

223,354 units (exact simulation match)

SunSwap swap output

0.032094 USDT for 0.1 TRX

x402 payment flow

Invoice -> pay -> verify -> order -> fill -> delegate (one call)

Energy delegation confirmation

2-6 seconds after order fill


Comparison with alternatives

Factual comparison based on publicly available information.

Feature

MERX

Sun Protocol

Netts MCP

TronLink MCP

PowerSun MCP

MCP Tools

55

~20

~10

27

27

MCP Prompts

30

0

0

0

0

MCP Resources

21

0

0

0

0

REST API

70+ endpoints

No

No

No

No

JavaScript SDK

Yes

No

No

No

No

Python SDK

Yes

No

No

No

No

WebSocket

Yes

No

No

No

No

Web exchange

Yes

No

No

No

No

Transport

stdio + SSE

stdio

stdio

stdio

SSE

Energy providers

All connected

0

1

0

1

Bandwidth support

Yes

No

No

No

No

Auto resource purchase

Energy + BW

No

No

No

Energy only

Exact energy simulation

Yes

No

No

No

No

Intent execution

Yes

No

No

No

No

Standing orders (24/7)

Yes

No

No

No

No

Delegation monitors

Yes

No

No

No

No

x402 pay-per-use

Yes

No

No

No

No

DEX swaps

Yes

No

No

No

Yes

Zero install option

Yes (SSE)

No

No

No

Yes (SSE)

Private key required

Optional

Yes

Yes

Yes

No

Webhooks

Yes

No

No

No

No

Tested on mainnet

7 TX verified

Unknown

Unknown

Unknown

Unknown

MERX covers resource economics, transaction optimization, and general blockchain operations. Other servers focus on one area.


Documentation


License

MIT. See LICENSE.

Available Tools

53 tools
analyze_pricesCInspect

Market price analysis with trends and recommendations. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceNoFilter by resource type. Omit for all.

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full behavioral disclosure burden. It adds valuable operational context ('No auth required') and output characteristics ('trends and recommendations'), but omits whether the operation is read-only, rate limits, or how recommendations are generated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two efficient sentences with the primary purpose front-loaded. Every word earns its place, though the extreme brevity leaves gaps in sibling differentiation and parameter context that a slightly longer description could address.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool without output schema, the description adequately hints at return values ('trends and recommendations'). However, given the presence of numerous sibling price tools and lack of annotations, the description should specify the analysis scope (ENERGY/BANDWIDTH) and ideal use cases to be truly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (the resource parameter is fully documented as 'Filter by resource type. Omit for all.'), establishing a baseline of 3. The description adds no explicit mention of the resource parameter or its ENERGY/BANDWIDTH enum values, but the schema sufficiency prevents a lower score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states it performs 'Market price analysis with trends and recommendations' which uses a specific verb and suggests output format. However, it fails to mention the critical constraint that this only analyzes ENERGY and BANDWIDTH resources (as revealed in the schema), leaving the scope ambiguous regarding whether it supports tokens, commodities, or other assets.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The note 'No auth required' provides one usage constraint, but there is no guidance on when to use this tool versus siblings like get_price_history, get_best_price, or get_prices. Given the crowded namespace of price-related tools, explicit differentiation is needed but absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

approve_trc20AInspect

Approve TRC-20 spending allowance. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken symbol or contract address.
spenderYesSpender TRON address.
amountYesAllowance amount (human-readable, or "unlimited").

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Adds critical safety context: 'Signs and broadcasts on-chain' indicates permanent state change, and 'Requires TRON_PRIVATE_KEY' warns of credential need. Lacks details on return values, gas costs, or reversibility (can be overridden by subsequent approvals).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, zero waste. Front-loaded with action ('Approve...'), followed by behavioral trait ('Signs...'), then prerequisite ('Requires...'). Every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for basic invocation but incomplete for a financial mutation tool: missing return value description (transaction hash?), gas fee implications, and reversibility notes. No output schema exists to compensate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, establishing baseline 3. Description term 'spending allowance' conceptually maps to the parameters (token, spender, amount) but adds no syntax, format, or example details beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb 'Approve' with clear resource 'TRC-20 spending allowance'. Distinct from sibling 'transfer_trc20' (which moves tokens) and 'get_trc20_balance' (read-only).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides critical prerequisite ('Requires TRON_PRIVATE_KEY') but lacks explicit when-to-use guidance vs alternatives (e.g., when to approve vs immediate transfer, or that this is typically needed before execute_swap). Usage is implied by 'spending allowance' terminology.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

calculate_savingsAInspect

Calculate savings from renting energy vs burning TRX. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationNoOperation type. Default: trc20_transfer.
transaction_countNoNumber of transactions. Default: 1.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses 'No authentication required' (a key behavioral trait), but omits other critical behavioral context like whether the calculation is deterministic, rate limits, or what the return value contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely efficient: two declarative statements with zero redundancy. The purpose is front-loaded and the auth note provides essential context without verbosity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 100% schema coverage for 2 simple parameters, the input side is well-covered. However, lacking an output schema and annotations, the description should ideally disclose what the calculation returns (amount, percentage, breakdown) and whether the operation has any side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, establishing a baseline of 3. The description adds no explicit parameter semantics, though the schema already fully documents the 'operation' enum values and 'transaction_count' defaults.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Calculate') and clearly defines the resource ('savings from renting energy vs burning TRX'), distinguishing it from siblings like 'estimate_transaction_cost' (which estimates cost) and 'compare_providers' (which compares providers).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the use case (comparing energy rental vs TRX burning costs) but provides no explicit guidance on when to choose this over 'estimate_transaction_cost' or prerequisites for the calculation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

call_contractAInspect

Execute a state-changing smart contract function. Estimates resources, buys via Merx if needed. Requires TRON_PRIVATE_KEY and TRON_ADDRESS.

ParametersJSON Schema
NameRequiredDescriptionDefault
contract_addressYesContract TRON address.
function_selectorYesFunction signature, e.g. "stake(uint256)".
parameterNoABI-encoded parameter hex (optional).
call_value_trxNoTRX to send with call (optional).

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, description effectively covers behavioral traits: declares state-changing nature, discloses automatic resource estimation/acquisition via Merx, and specifies auth requirements ('Requires TRON_PRIVATE_KEY and TRON_ADDRESS'). Missing explicit failure modes or confirmation waiting behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact sentences with zero waste: 1) Core purpose, 2) Automatic resource behavior, 3) Prerequisites. Each sentence earns its place and builds necessary context without redundancy. Excellent front-loading of primary function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers execution behavior and auth well, but lacks description of return values or transaction confirmation semantics. For a state-changing blockchain tool without output schema, description should indicate whether it returns tx hashes, receipts, or confirmation status.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage, so baseline applies. Description does not add parameter semantics beyond schema (e.g., no examples of ABI-encoding format or guidance on optional vs required context), but schema adequately documents the four parameters including hex encoding note.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states specific action ('Execute a state-changing smart contract function') that distinguishes it from sibling tool 'read_contract'. The 'state-changing' modifier explicitly signals this is a write operation, making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage context by specifying 'state-changing' (use when modifying state vs reading), and mentions automatic resource handling ('Estimates resources, buys via Merx if needed'). Could be improved by explicitly contrasting with 'read_contract' or stating when NOT to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_address_resourcesBInspect

Check energy, bandwidth, and TRX balance for any TRON address. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesTRON address (starts with T).

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Absent annotations, the description carries the full disclosure burden. It successfully communicates the authentication requirement (none), but omits other behavioral traits: read-only/idempotent nature, error handling for invalid addresses, rate limits, or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences. The first sentence states the function; the second states the auth policy. No wasted words, front-loaded with the most critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter lookup tool without output schema, the description should ideally describe return value structure (object with three fields? individual values?). Currently omits this, leaving the agent blind to expected response format despite adequately covering inputs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single parameter ('TRON address (starts with T.)'), so the baseline applies. The description adds no incremental parameter guidance (examples, validation rules, or format constraints) beyond the schema definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific action (Check) and resources (energy, bandwidth, TRX balance) for TRON addresses. Implicitly distinguishes from sibling tools like get_trx_balance (which likely omits resource metrics) by explicitly naming energy/bandwidth, though lacks explicit comparative guidance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this versus siblings like get_account_info, get_balance, or ensure_resources. The only contextual hint is 'No auth required' which is a constraint, not a usage scenario.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compare_providersAInspect

Side-by-side provider comparison with prices and availability. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceNoFilter by resource type. Omit for all.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It successfully communicates the authentication requirement (none needed), but omits details about return format, pagination, rate limiting, or whether the comparison is real-time versus cached.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. First sentence front-loads the core function; second sentence provides critical prerequisite info. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with complete schema coverage, the description adequately covers the essential context. Mentions key output data (prices, availability) despite lack of output schema, though explicit return structure would strengthen completeness further.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage for the single 'resource' parameter. The description does not add parameter-specific semantics, which is acceptable given the high schema coverage establishes the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb phrase 'Side-by-side provider comparison' that clearly identifies the operation and resource. Distinguishes from sibling list_providers by emphasizing comparative analysis and specific data points (prices and availability).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides useful prerequisite guidance ('No auth required') indicating when the tool is accessible, but lacks explicit differentiation from siblings like list_providers or analyze_prices regarding when to choose this comparison approach over alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

convert_addressAInspect

Convert TRON address between base58 (T...) and hex (41...) formats. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesTRON address in base58 (T...) or hex (41...).

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses 'No auth required' which is critical behavioral context. However, lacks disclosure of error handling (what happens with invalid addresses), return format structure, or rate limiting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with zero waste. Front-loaded with action verb, immediately followed by format specifics and auth status. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Complete for input explanation given single-parameter simplicity. However, lacking output schema, the description omits what the tool returns (converted string? object with both formats?), which would be necessary for confident invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage with format examples (T..., 41...). Description reinforces these format patterns but does not add syntax details, validation rules, or semantic constraints beyond the schema definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear specific verb (convert), resource (TRON address), and scope (base58 T... vs hex 41... formats). Distinguishes from siblings like validate_address (which only checks validity) and get_account_info (which retrieves data).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States 'No auth required' which provides prerequisite guidance, but lacks explicit when-to-use distinctions from similar tools like validate_address or guidance on bidirectional conversion preferences.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_accountAInspect

Create a new Merx account, generate an API key, and get deposit info. No auth needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address for the account
passwordYesPassword (min 8 characters)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It reveals the operation generates an API key and retrieves deposit info (side effects/outputs), and the 'No auth needed' disclosure is crucial behavioral context. However, it omits error handling (e.g., duplicate email), idempotency, or rate limit details expected for an account creation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. Front-loaded with the primary action (account creation), followed by secondary outputs (API key, deposit info), and closes with the critical constraint (no auth needed). Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description partially compensates by disclosing that the operation returns/generates an API key and deposit info. With 100% schema coverage and simple parameter structure, this is sufficient context, though error scenarios remain undocumented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, establishing baseline 3. The description implies email/password are for the new account but does not add parameter-specific semantics beyond the schema (e.g., password requirements, email validation rules) or explain the parameter relationship to the generated API key.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'Create' with resource 'Merx account' and distinguishes from siblings like 'login' (existing auth) and 'set_api_key' (configuring existing credentials). The additional clauses about generating an API key and getting deposit info clarify the full scope of the operation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'No auth needed' clause provides critical contextual guidance distinguishing this from most sibling tools that likely require authentication. However, it lacks explicit guidance on when to use this versus 'login' (e.g., 'for new users only').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_monitorAInspect

Create a persistent monitor (delegation expiry, balance, price alert). Auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
monitor_typeYesType of monitor to create.
target_addressNoTRON address to monitor (for delegation_expiry).
paramsYesMonitor params: { alert_before_sec, auto_renew, resource_type, max_price_sun, duration_sec }.
notifyYesNotification config: { webhook, telegram_chat_id }.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It successfully indicates persistence (distinguishing from ephemeral operations) and authentication requirements, but omits lifecycle details (how to delete/disable), trigger behavior specifics, or reversibility notes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely efficient two-sentence structure. Every element is high-signal: the verb+resource, the parenthetical type enumeration, and the auth prerequisite. No redundant or filler text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given moderate complexity (4 params, nested objects) and lack of annotations/output schema, the description covers the core creation purpose but has gaps around expected return values (e.g., monitor ID), error conditions, and lifecycle management (how monitors are stopped or expire).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the baseline is 3. The description adds value by translating the enum values of monitor_type (delegation_expiry, balance_threshold, price_alert) into readable business terms (delegation expiry, balance, price alert) and implying the alert nature of the tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (Create) and resource (persistent monitor), and specifically enumerates the three supported monitor types (delegation expiry, balance, price alert) in parentheses, which distinguishes this from generic monitoring or analysis tools in the sibling list like analyze_prices or get_price_history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a critical prerequisite ('Auth required'), but lacks explicit guidance on when to choose this over one-time checks (like get_balance) or how it relates to sibling list_monitors. The listing of monitor types offers implied usage context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_orderBInspect

Buy energy or bandwidth on Merx. Routed to cheapest provider. Auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
resource_typeYesResource type to purchase.
amountYesAmount of resource units (min 65000 for ENERGY, 300 for BANDWIDTH).
duration_secYesRental duration in seconds (e.g. 300, 3600, 86400, 2592000).
target_addressYesTRON address to receive delegated resources.
max_price_sunNoOptional max price in SUN/unit. Order fails if no provider is cheaper.

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses automatic routing logic ('Routed to cheapest provider') and authentication requirement. However, with no annotations and no output schema, it omits crucial purchasing behavior: payment method, failure modes beyond price limits, atomicity, and return values.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely terse at three short sentences. No redundancy, but arguably underspecified given the complexity of blockchain resource procurement—front-loaded action is good, but length is insufficient for the domain.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Financial transaction tool with no annotations and no output schema requires extensive behavioral documentation. Missing: return structure, error handling, payment flow, and side effects on the target_address balance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so parameters are fully documented in struct fields. Description adds no parameter-specific guidance beyond implying the resource types through the first sentence, warranting baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb ('Buy') identifies the transaction type and resources ('energy or bandwidth') with platform context ('Merx'). However, it fails to distinguish from sibling order tools like 'create_paid_order' and 'create_standing_order'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Only mentions 'Auth required' as a prerequisite. Provides no guidance on when to use this generic order creation versus siblings (create_paid_order, create_standing_order) or other resource acquisition methods.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_paid_orderAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
resource_typeYesResource type
amountYesAmount of resource units
duration_secYesDuration in seconds
target_addressYesTRON address to receive resources

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It successfully indicates the payment model ('x402 pay-per-use') and authentication requirements ('TRON_PRIVATE_KEY'), but omits critical operational details such as whether the operation spends funds immediately, error handling, idempotency, or return value structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste: the first front-loads purpose and mechanism, while the second states prerequisites. Every word earns its place with no redundancy or tautology.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, and the existence of similar sibling tools (create_order, create_standing_order), the description should explicitly differentiate usage scenarios. It mentions the 'zero-registration' characteristic but does not explain the trade-offs or outcomes compared to alternatives.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the baseline is 3. The description adds value by documenting an implicit requirement ('TRON_PRIVATE_KEY') not present in the input schema, alerting the agent to necessary environment configuration. However, it does not elaborate on parameter formats or constraints beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create') and resource ('zero-registration order') with specific protocol context ('x402 pay-per-use'). However, while 'zero-registration' implicitly distinguishes this from sibling 'create_order', it does not explicitly name the alternative or clarify when to choose between them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description identifies a critical prerequisite ('Requires TRON_PRIVATE_KEY'), which helps the agent understand setup requirements. However, it fails to provide explicit guidance on when to use this tool versus siblings like 'create_order' or 'create_standing_order'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_standing_orderBInspect

Create a server-side standing order with trigger-based automation. Auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
trigger_typeYesCondition that triggers the order.
trigger_paramsYesTrigger parameters: { resource, threshold_sun } or { cron }.
action_typeYesAction to perform when triggered.
action_paramsYesAction parameters: { resource_type, amount, duration_sec, target_address }.
budget_trxYesMaximum budget in TRX (converted to SUN internally).
max_executionsYesMaximum number of times this order can execute.
expires_atNoISO 8601 expiration date (optional).

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It successfully indicates the server-side persistence and authentication requirement, but lacks critical behavioral details: execution semantics (synchronous vs queued), cancellation mechanisms, idempotency guarantees, or budget enforcement behavior when 'max_executions' is reached.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise with zero waste. Two sentences deliver the core value proposition and authentication requirement. Every word earns its place in this minimal description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Grossly insufficient for a complex 7-parameter automation tool with financial implications (budget_trx). No output schema is provided, yet the description does not explain what the tool returns (e.g., order ID) or how to manage created orders (via list_standing_orders). Missing lifecycle documentation for a persistent server-side resource.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, establishing a baseline of 3. The description adds semantic context by mentioning 'trigger-based automation,' which helps frame the relationship between trigger_type/trigger_params and action_type/action_params, but does not elaborate on parameter formats (e.g., valid cron syntax) beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (Create) and resource (standing order) with key characteristics (server-side, trigger-based automation). However, it fails to distinguish from siblings like 'create_order' or 'create_paid_order', leaving ambiguity about when to choose this over immediate execution orders.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only guidance provided is 'Auth required,' which is a prerequisite rather than usage context. There is no indication of when to use this automated approach versus immediate execution tools like 'create_order' or 'ensure_resources', nor any mention of prerequisites like existing account balances.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deposit_trxAInspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
amount_trxYesAmount of TRX to deposit

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and successfully discloses authentication requirements. However, it lacks details on irreversibility, confirmation times, or return values for this financial operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences with no redundancy. Information is front-loaded with the action first, followed by prerequisites. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a single-parameter operation, covering core intent and auth. However, gaps remain regarding the return structure, synchronous/asynchronous behavior, and amount formatting specifics given this is a financial transaction tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the parameter already described as 'Amount of TRX to deposit'. The tool description adds no additional parameter-specific semantics (e.g., unit format, decimal precision), warranting the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (Deposit), resource (TRX), and destination (Merx account), distinguishing it from sibling tools like transfer_trx or withdraw.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states authentication prerequisites (MERX_API_KEY + TRON_PRIVATE_KEY), but lacks guidance on when to use this tool versus alternatives like transfer_trx or enable_auto_deposit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

enable_auto_depositBInspect

Configure automatic top-up when balance drops below a threshold. Session-only.

ParametersJSON Schema
NameRequiredDescriptionDefault
threshold_trxYesBalance threshold in TRX
deposit_amount_trxYesAmount of TRX per deposit
max_daily_depositsNoMax deposits per day (default 5)

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full behavioral burden. It discloses the session-scoped nature ('Session-only'), which is essential. However, it omits mutation details such as whether this creates immediate transactions, overwrites previous auto-deposit settings, or what happens on trigger failures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero redundancy. Front-loaded action ('Configure automatic top-up') followed by constraint ('Session-only'). Minor ambiguity in whether 'Session-only' refers to the configuration duration or deposit timing prevents a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple 3-parameter schema and lack of annotations/output schema, the description covers the essential purpose and session constraint. However, it omits expected return values, side effects (e.g., interaction with existing monitors), and disable/cancellation procedures, leaving moderate gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (threshold_trx, deposit_amount_trx, max_daily_deposits fully documented). The description mentions 'threshold' generally but does not add semantic value beyond the schema—such as explaining why amounts are strings not numbers, or the relationship between threshold and deposit amount.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb 'Configure' and clear resource 'automatic top-up' identify the tool's function. The phrase 'when balance drops below a threshold' defines the trigger condition, and 'Session-only' distinguishes this from persistent automation siblings like create_standing_order. However, it does not explicitly contrast with manual deposit_trx.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'Session-only' constraint provides critical usage context (configuration expires with session). However, it lacks explicit guidance on when to choose this over manual deposits (deposit_trx) or persistent standing orders, and does not state prerequisites like minimum balance requirements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

ensure_resourcesAInspect

Declarative resource provisioning. Checks current resources on target address and purchases only what is missing. Auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_addressYesTRON address to provision resources for.
energy_minimumNoMinimum energy the address should have.
bandwidth_minimumNoMinimum bandwidth the address should have.
duration_secNoRental duration in seconds (default: 3600).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry behavioral disclosure. It adds valuable context about the declarative/idempotent pattern and differential purchasing (only missing amounts), but omits crucial mutation details like failure modes, transaction confirmation timing, cost attribution, or return structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three efficient sentences with zero redundancy. Front-loaded with pattern ('Declarative'), followed by mechanism ('Checks... purchases'), and prerequisite ('Auth required'). Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter blockchain mutation tool with no output schema, the description adequately explains the provisioning logic but lacks disclosure around return values, error states, or asynchronous completion behavior that would help an agent handle the response correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage (target_address, energy_minimum, bandwidth_minimum, duration_sec), establishing baseline 3. The description mentions 'target address' and implies the minimums are thresholds, but adds no additional syntax guidance, format details, or examples beyond what the schema already documents.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies 'Declarative resource provisioning' and clarifies the mechanism ('Checks current resources... purchases only what is missing'), distinguishing it from simple check or buy operations. It identifies the resource type (energy/bandwidth implied by parameters) and action, though it doesn't explicitly name sibling contrasts like check_address_resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States 'Auth required' indicating a prerequisite, but lacks explicit when-to-use guidance relative to siblings (e.g., when to use check_address_resources vs this tool) or when not to use (e.g., insufficient TRX balance scenarios).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_contract_callAInspect

Estimate energy and bandwidth cost for a smart contract call. Compares rental vs burn cost. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
contract_addressYesContract TRON address.
function_selectorYesFunction signature, e.g. "transfer(address,uint256)".
parameterNoABI-encoded parameter hex (optional).
caller_addressNoCaller TRON address for simulation (optional).

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full disclosure burden. It successfully adds the rental vs burn comparison behavior and the no-auth requirement. However, it omits critical safety context: it doesn't explicitly state whether this executes the call or is purely simulative, and provides no hint about return value structure or rate limiting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero waste: purpose declaration, behavioral detail (rental/burn comparison), and usage constraint (no auth). Perfectly front-loaded with the core action in the first sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Appropriately complete for a 4-parameter estimation tool with full schema coverage. Addresses the core value proposition (cost estimation with comparison) and prerequisites. Minor deduction for lacking return value description given no output schema exists, though 'Estimate... cost' provides reasonable expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage with clear type hints (e.g., 'ABI-encoded parameter hex'). The description adds no additional parameter semantics, but the baseline 3 is appropriate when the schema already fully documents all 4 parameters including optional/required status.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb 'Estimate' with clear resource targets (energy and bandwidth cost) and scope (smart contract call). The mention of 'rental vs burn cost' distinguishes this from generic estimation tools like estimate_transaction_cost or simulate, clearly positioning it within the TRON resource model context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides one explicit usage constraint ('No auth required'), which helps determine prerequisites. However, lacks explicit guidance on when to use this versus siblings like call_contract (execution vs estimation) or simulate, though the 'Estimate' verb partially implies read-only simulation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_transaction_costAInspect

Estimate energy and bandwidth cost for a TRON transaction. Compares rental vs burn cost. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesTransaction type.
from_addressNoSender TRON address.
to_addressNoRecipient TRON address.
token_addressNoTRC20 contract address.
amountNoToken amount (as string).
contract_addressNoContract address (custom).
function_selectorNoFunction selector (custom).
parameterNoABI-encoded parameter (custom).

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Successfully discloses key behaviors: comparison logic ('rental vs burn cost') and auth requirements. Missing return value format and rate limit information, but covers the critical domain-specific behavior (TRON's dual resource model).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, zero waste. Front-loaded with core purpose (estimation), followed by distinguishing behavioral detail (rental/burn comparison), ending with operational constraint (auth). Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has 8 parameters with conditional requirements (custom operation needs contract_address/function_selector) and no output schema. Description omits conditional parameter logic and return structure. Adequate for basic usage but gaps remain for complex 'custom' operations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage (all 8 params documented). Description does not add parameter semantics beyond schema, which is acceptable given the high coverage. Baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb 'Estimate' plus clear resource 'energy and bandwidth cost for a TRON transaction'. Distinguishes from execution siblings (transfer_trx, transfer_trc20) by being estimation-focused, and differentiates from estimate_contract_call by targeting general transactions rather than specific contract calls.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit auth guidance ('No auth required'), which helps determine when it can be called safely. However, lacks explicit differentiation from similar estimation sibling estimate_contract_call or guidance on when to use 'custom' vs predefined operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_intentBInspect

Execute a multi-step operation (transfer, swap, buy resources, etc). Validates and simulates all steps with resource cost estimates. Auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepsYesArray of { action, params } steps to execute.
resource_strategyNoResource acquisition strategy (default: batch_cheapest).
dry_runNoIf true, simulate only without executing (default: false).

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses validation, simulation behavior, and cost estimation features. Also notes auth requirement. Lacks critical details for a financial execution tool: atomicity guarantees (all-or-nothing execution?), error handling, and side effects on partial failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three well-structured sentences: purpose first, behavioral features second, requirements third. No redundancy. Front-loaded with action verb. Minor quibble: 'etc.' is vague, but overall efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Minimum viable for a complex financial orchestration tool. With 100% schema coverage and no output schema, description covers essentials (purpose, validation, auth). However, given complexity of multi-step blockchain operations, gaps remain regarding return value structure, step failure behavior, and interaction with sibling transaction tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage with clear parameter definitions. Description adds value by connecting 'simulates' to dry_run behavior and 'resource cost estimates' to resource_strategy, but primarily reinforces what the schema already documents. Baseline 3 appropriate given comprehensive schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'Execute' and resource 'multi-step operation' with concrete examples (transfer, swap, buy resources) that distinguish it from single-step siblings like transfer_trx or execute_swap. The 'multi-step' qualifier effectively differentiates its orchestration role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides prerequisite ('Auth required') and implies usage through 'multi-step' capability, suggesting when to use it (complex workflows). However, lacks explicit guidance on when to prefer specific tools (execute_swap, transfer_trc20) versus this orchestration tool, or when to use dry_run mode.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_swapCInspect

Execute a token swap on SunSwap V2. Requires TRON_PRIVATE_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
from_tokenYesSource token symbol (TRX, USDT, USDC, etc.)
to_tokenYesDestination token symbol
amountYesAmount of source token to swap
slippageNoSlippage tolerance in percent (default 1)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry full disclosure burden. It mentions the authentication requirement but omits critical behavioral traits: that the operation is irreversible, consumes gas fees, requires sufficient TRX for bandwidth, may fail due to slippage or liquidity, and returns transaction details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero redundancy. The first identifies the operation and platform; the second states the critical prerequisite. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a high-stakes DeFi mutation with no output schema and no annotations, the description is insufficient. It lacks warnings about financial risk, irreversibility, gas costs, expected return values (transaction hash?), and failure modes essential for an agent to safely invoke this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3. The description adds minimal parameter-related context—primarily noting the external TRON_PRIVATE_KEY requirement (not in schema)—but does not clarify parameter formats (e.g., whether amount is in base units or decimal) or slippage calculation specifics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action (execute), resource (token swap), and platform (SunSwap V2). However, it does not explicitly differentiate from the sibling tool `get_swap_quote`, which agents might confuse as the execution step versus the quoting step.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While it notes the prerequisite 'Requires TRON_PRIVATE_KEY', it fails to provide workflow guidance such as when to use this versus `get_swap_quote` (get price first) or `approve_trc20` (required approval before swapping TRC20 tokens). No exclusions or alternatives are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

explain_conceptAInspect

Explain a TRON or Merx concept. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesTopic: energy, bandwidth, staking, delegation, sun_units, burn_vs_rent, merx_routing, provider_types

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It successfully communicates the authentication requirement (a key behavioral trait), but omits other behavioral details such as whether the explanation is static or dynamic, output length/format, or idempotency characteristics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two highly efficient sentences. The first establishes core purpose (explain concepts); the second provides critical operational context (no auth required). Every word earns its place with zero redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 required parameter, no nested objects), full schema coverage, and lack of output schema, the description is sufficiently complete. The mention of authentication requirements covers the essential safety context, though explicitly stating 'read-only' would further improve completeness given the absence of destructiveHint annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (the 'topic' parameter includes a detailed description enumerating valid values like 'energy, bandwidth, staking'). The description adds no supplementary parameter guidance beyond what the schema provides, warranting the baseline score of 3 for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a specific verb ('Explain') and resource ('TRON or Merx concept') that clearly identifies this as an educational tool. While it implicitly distinguishes itself from operational siblings like 'transfer_trx' or 'execute_swap' by nature of being informational rather than transactional, it lacks explicit differentiation language.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes valuable usage guidance via 'No authentication required,' which is critical context in a blockchain toolset where most operations require keys. However, it lacks explicit when-to-use guidance versus analytical tools like 'analyze_prices' or 'get_account_info' that might also provide explanatory context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_account_infoAInspect

Full on-chain account state: TRX balance, energy, bandwidth, creation date. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesTRON address (T...).

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full burden. It successfully discloses the auth requirement (none needed), which is critical behavioral context. However, it omits other behavioral details such as rate limits, caching behavior, or what happens when an invalid address is provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences deliver high information density. The first sentence front-loads the return value specifics (account state components), and the second states the auth requirement. Zero redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple input (1 string parameter) and lack of output schema, the description appropriately compensates by enumerating the specific data fields returned (energy, bandwidth, etc.). It meets the minimum viable standard for completeness, though error handling documentation would improve it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the address parameter is fully documented in the schema as 'TRON address (T...)'). Therefore, per the scoring rules, the baseline score is 3. The description adds no additional parameter semantics, but none are required given the complete schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool returns (TRX balance, energy, bandwidth, creation date) and the scope (full on-chain account state), providing specific resource detail. However, it does not explicitly differentiate from siblings like `get_balance` or `get_trx_balance` despite those being available alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'No auth required' provides a usage prerequisite, indicating when the tool can be safely called. However, it lacks explicit guidance on when to choose this over sibling tools like `get_balance` or `get_trx_balance` that return partial data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_balanceAInspect

Get your Merx account balance (TRX, USDT, locked). Requires MERX_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully notes the MERX_API_KEY requirement (auth behavior) and implies read access via 'Get', but omits output format details, rate limits, and explicit safety confirmation that would be necessary for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. First sentence establishes action and scope (including specific currencies); second states prerequisites. Information is front-loaded and appropriately sized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple read operation but has clear gaps: no output schema exists (common for this tool type), and with numerous sibling balance-related tools (get_trx_balance, get_trc20_balance, get_account_info), the description should clarify the specific use case or return structure differences.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Zero parameters justifies the baseline score of 4. The description adds value by noting the MERX_API_KEY requirement, which indicates external configuration is needed despite no input parameters being defined in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'Get' and resource 'Merx account balance' with specific assets (TRX, USDT, locked) mentioned. The 'Merx account' and 'locked' status implicitly distinguish it from siblings like get_trx_balance and get_trc20_balance, though explicit contrast would strengthen this to a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States the prerequisite 'Requires MERX_API_KEY' which is critical usage context given the empty parameter schema. However, lacks explicit guidance on when to use this versus sibling tools like get_trx_balance, get_trc20_balance, or get_account_info which appear to serve similar purposes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_best_priceAInspect

Find the cheapest provider for a given resource and amount. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceYesResource type.
amountNoAmount of resource units needed.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It successfully notes the auth requirement but does not confirm the read-only nature of the operation, disclose rate limits, or describe what data structure is returned (e.g., single provider vs list with prices).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise with two efficient sentences. The primary purpose appears first, followed by the auth note. No redundant or filler content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Appropriate for a simple 2-parameter tool, but lacks description of the return value (critical given no output schema exists) and does not mention the default behavior when optional 'amount' is omitted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema adequately documents 'resource' and 'amount'. The description references both parameters ('resource and amount') but adds minimal semantic meaning beyond the schema's existing descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb ('Find') and scope ('cheapest provider for a given resource and amount'). Identifies specific commodities (ENERGY, BANDWIDTH). However, does not explicitly differentiate from siblings like 'compare_providers' or 'get_prices', which also involve price analysis.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides one usage constraint ('No auth required') which is helpful context. However, lacks explicit guidance on when to use this versus alternatives like 'compare_providers' or 'list_providers', or when the optional 'amount' parameter should be included.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_blockAInspect

Get TRON block info by number (or latest if omitted). No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
block_numberNoBlock number. Omit for latest.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries full behavioral burden. It successfully discloses 'No auth required' but fails to confirm read-only safety, describe what specific block data is returned, or mention rate limits/idempotency for this blockchain operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste. Main action 'Get TRON block info by number' is front-loaded, followed by parameter optionality and auth requirements. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple single-parameter tool without output schema. Covers core function, optional parameter behavior, and auth requirements. Could be improved by briefly characterizing what 'block info' includes or confirming the read-only nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (parameter fully described as 'Block number. Omit for latest'), establishing baseline 3. Description adds domain context 'TRON' but largely restates the optional parameter behavior already documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'Get' with resource 'TRON block info' and parameter context 'by number', clearly distinguishing it from sibling tools like get_transaction, get_account_info, or get_balance which handle transactions, accounts, and balances respectively.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides parameter usage guidance '(or latest if omitted)' and prerequisite 'No auth required', but lacks explicit guidance on when to use this tool vs. alternatives like get_transaction or get_transaction_history.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_chain_parametersAInspect

Get TRON network parameters (energy fee, bandwidth cost, etc.) with Merx price comparison. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With zero annotations, the description carries the full disclosure burden. It successfully communicates the authentication requirement (none needed), which is critical behavioral context. However, it omits other potentially relevant behaviors such as data freshness (cached vs. live), rate limits, or the specific structure of the Merx comparison in the response.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely efficient two-sentence structure. First sentence establishes purpose with examples; second sentence states the auth policy. No redundant words or tautologies. Information is front-loaded with the core action before qualifying details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Appropriately complete for a zero-parameter read-only tool. Covers the essential what (network parameters), context (Merx comparison), and operational requirement (no auth). Lacks output description, but for a simple getter without an output schema defined, the description provides sufficient orientation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema contains zero parameters, triggering the baseline score of 4 per evaluation rules. No parameters exist requiring semantic clarification beyond the empty schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Excellent specificity: 'Get' is a clear verb, 'TRON network parameters' identifies the resource, and concrete examples (energy fee, bandwidth cost) clarify scope. The 'Merx price comparison' clause distinguishes it from sibling tools like get_prices or compare_providers which focus on token trading rather than network resource costs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides one key usage constraint ('No auth required'), which helps identify when this tool is appropriate versus authenticated siblings like transfer_trx or execute_swap. However, lacks explicit guidance on when to prefer this over similar analytical tools like estimate_transaction_cost or compare_providers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_deposit_infoBInspect

Get your Merx deposit address and memo. Requires MERX_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully reveals the authentication requirement (MERX_API_KEY), but omits other behavioral traits such as what happens if the key is missing, whether the result is cached, or the specific structure of the returned address/memo data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two short, efficient sentences with zero redundancy. The purpose is front-loaded in the first sentence, and the prerequisite is clearly stated in the second. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

While the description identifies what is retrieved (address and memo) and the auth requirement, it lacks description of the return format (critical given no output schema exists) and does not explain the 'memo' concept for users unfamiliar with tagged deposits. For a financial operation tool, this leaves meaningful gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema contains zero parameters. Per the rubric guidelines for zero-parameter tools, this warrants a baseline score of 4, as there are no parameter semantics to clarify.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get') and identifies the exact resource ('Merx deposit address and memo'), clearly indicating this is a retrieval operation. However, it does not explicitly distinguish this from the sibling tool `deposit_trx`, which could confuse whether this tool performs the deposit or merely retrieves the address for future use.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description only states a prerequisite ('Requires MERX_API_KEY') but provides no guidance on when to use this tool versus alternatives like `deposit_trx` or `create_order`, nor does it explain the workflow context (e.g., 'use this before depositing funds').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_orderBInspect

Get order details and fill status by ID. Auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
order_idYesThe order UUID.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With zero annotations provided, the description carries the full disclosure burden. It successfully notes the authentication requirement but omits error handling (e.g., missing ID behavior), rate limits, and detailed return structure. It barely meets minimum viable disclosure for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero fluff. The core purpose ('Get order details...') is front-loaded, with prerequisites ('Auth required') following. Appropriately sized for the tool's simplicity, though the second sentence could specify return structure instead of just auth.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter input and lack of output schema, the description adequately covers the basic contract by mentioning returned data types ('details', 'fill status'). However, with numerous order-related siblings present, the absence of selection guidance creates a completeness gap for agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage ('The order UUID'), establishing a baseline of 3. The description adds minimal semantic value beyond the schema—only implying the 'order_id' parameter via 'by ID' without adding format constraints, requirements, or usage examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Get'), resource ('order details'), and scope ('fill status by ID'), identifying the unique lookup capability. However, it lacks explicit differentiation from sibling tools like 'list_orders' or 'create_order', which could cause selection ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While 'Auth required' establishes a prerequisite, the description provides no guidance on when to use this specific tool versus siblings (e.g., 'list_orders' for searching, 'get_order' for specific ID retrieval). No alternatives or exclusion criteria are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_price_historyCInspect

Historical price snapshots. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceNoFilter by resource type.
providerNoFilter by provider name.
periodNoTime period (default: 24h).

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry full behavioral disclosure. It only conveys authorization requirements ('No auth required'), but omits read-only safety confirmation, rate limits, data granularity, or how far back the history extends.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely terse at two fragments; while lacking fluff, the brevity compromises clarity. 'Price snapshots' is vague and wastes the opportunity to specify the resource domain (ENERGY/BANDWIDTH) upfront.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple 3-parameter read tool, but lacks expected context for a history-focused endpoint: no mention of data format, pagination, or the specific resource types being priced, leaving functional gaps despite the minimal surface area.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage ('Filter by resource type', etc.), so the baseline is 3. The description adds no parameter syntax details, constraints, or examples beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

States it retrieves historical price data, but fails to specify that this applies to ENERGY/BANDWIDTH resources (per schema enum), leaving ambiguity amid sibling tools like get_trx_price and get_token_price. The temporal aspect ('Historical') provides some differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions 'No auth required' which establishes a prerequisite, but provides no guidance on when to prefer this over get_prices or get_token_price, nor when the historical view is appropriate versus current pricing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_pricesBInspect

Get current energy and bandwidth prices from all Merx providers. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceNoFilter by resource type. Omit for all.
durationNoFilter by duration in seconds.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses authentication requirements (none) and implies read-only nature via 'Get'. However, with no annotations provided, the description carries full burden and omits other behavioral traits like caching, rate limits, error handling, or response format details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two lean sentences with zero waste. First sentence front-loads purpose (what it gets, from where), second sentence adds critical behavioral constraint (no auth). Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple 2-parameter query tool with complete schema coverage. Covers core purpose and auth, but lacks output description (no output schema exists) and sibling differentiation critical for the crowded price-tool namespace.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage with clear descriptions for both parameters ('Filter by resource type', 'Filter by duration'). Description mentions 'energy and bandwidth' which maps to enum values but doesn't add syntax details or usage examples beyond what the schema provides. Baseline 3 appropriate for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific action (Get), resource (energy and bandwidth prices), and scope (from all Merx providers). Implicitly distinguishes from siblings like get_best_price (all vs best) and get_price_history (current vs historical), though explicit guidance would strengthen this.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions 'No auth required' which is useful usage information, but fails to clarify when to use this versus similar tools like get_best_price, compare_providers, or get_price_history. No explicit when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_swap_quoteCInspect

Get a real swap quote from SunSwap V2. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
from_tokenYesSource token symbol (TRX, USDT, USDC, etc.)
to_tokenYesDestination token symbol
amountYesAmount of source token to swap
slippageNoSlippage tolerance in percent (default 1)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but only reveals the authentication requirement ('No auth required'). It fails to disclose whether this is a read-only operation, what data structure the quote returns, rate limits, or quote expiration behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two efficient sentences with zero waste. The core purpose ('Get a real swap quote from SunSwap V2') is front-loaded, while the constraint ('No auth required') follows as essential secondary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a DeFi quoting tool with 4 parameters and no output schema or annotations, the description is inadequate. It fails to describe what the quote contains (price, route, minimum output, deadline) or its relationship to 'execute_swap,' which is critical for agent workflow completion.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, documenting all four parameters including token symbols and slippage tolerance. The description adds no additional parameter semantics (such as valid token formats or amount precision), but the comprehensive schema makes this acceptable at baseline level.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the specific action ('Get'), resource ('swap quote'), and source system ('SunSwap V2'), distinguishing it from generic price tools. However, it does not explicitly differentiate from siblings like 'get_best_price' or 'analyze_prices' that may also provide pricing information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes 'No auth required,' which indicates a usage constraint, but provides no guidance on when to use this versus 'execute_swap' (which performs the actual swap) or versus 'simulate.' It lacks prerequisites or workflow context for the quoting process.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_token_infoAInspect

Get TRC-20 token metadata: name, symbol, decimals, total supply. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken symbol or contract address.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully communicates the authentication requirement ('No auth required') and implicitly suggests read-only behavior via 'Get' and the field list. However, it omits explicit safety confirmation (e.g., 'read-only'), error handling behavior, or rate limit warnings that would fully compensate for missing annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences with zero waste. First sentence front-loads the action and scope, followed by the specific metadata fields returned. Second sentence provides critical operational context (auth requirements). Every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Appropriate for a simple single-parameter lookup tool. The description compensates for the missing output schema by listing the four return fields. Could be improved by explicitly stating the tool is read-only/safe and noting error cases (e.g., invalid token), but adequate for the complexity level.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the parameter fully documented in the schema ('Token symbol or contract address'). The description adds no additional parameter guidance, but meets the baseline expectation when the schema already carries the semantic load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Excellent specificity: 'Get' is a precise verb, 'TRC-20 token metadata' identifies the exact resource type, and listing the four fields (name, symbol, decimals, total supply) clearly distinguishes this from sibling tools like get_token_price (which returns prices) and get_trc20_balance (which returns wallet balances).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides the usage condition 'No auth required,' which helps determine when the tool is accessible (vs. authenticated alternatives). However, it lacks explicit comparison to siblings like get_token_price or get_trc20_balance to clarify when to use metadata retrieval versus price or balance queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_token_priceBInspect

Get token price via SunSwap quote + CoinGecko USD rate. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesToken symbol (USDT, USDC, SUN, etc.)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully identifies the external data sources (SunSwap, CoinGecko) and authentication requirements, but omits operational details like caching behavior, rate limits, error handling for unsupported tokens, or response format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely efficient at 9 words. The description front-loads the action, specifies the mechanism, and states the auth requirement without redundancy. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a single-parameter tool, covering the essential function and data provenance. However, given the high sibling complexity (numerous price tools) and lack of output schema, it should provide more differentiation or behavioral context to be considered complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (token parameter fully documented), establishing a baseline of 3. The description adds no additional parameter-specific context (e.g., case sensitivity, supported token standards, or validation rules) beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get token price') and the specific data sources ('SunSwap quote + CoinGecko USD rate'), which implicitly distinguishes its methodology from siblings like get_best_price or get_swap_quote. However, it does not explicitly clarify when to prefer this over the five other price-related sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While it notes 'No auth required' (a prerequisite), it provides no guidance on when to select this tool versus alternatives like get_best_price, get_prices, or get_swap_quote. Given the crowded namespace of price tools, this omission creates selection ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_transactionAInspect

Look up a transaction by ID on TRON. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
tx_idYesTransaction ID (hash).

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully communicates the authentication requirement (none needed) and implies a read-only operation through 'look up,' but omits details about return format, error handling for invalid IDs, or rate limiting.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise with two information-dense sentences. The purpose is front-loaded in the first sentence, and the second sentence provides a critical behavioral note. No wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Appropriate for a simple, single-parameter lookup tool with full schema coverage. While it lacks an output schema or return value description (which would be ideal), the 'No auth required' note adds necessary context for blockchain operations, making it sufficiently complete for agent selection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage (tx_id described as 'Transaction ID (hash)'), the baseline score is 3. The description references 'by ID' which aligns with the schema but adds no additional semantic context about the parameter format or constraints beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action (look up), resource (transaction), and scope (by ID on TRON). The 'by ID' phrasing implicitly distinguishes it from sibling tools like get_transaction_history and search_transaction_history, though it doesn't explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides one usage constraint ('No auth required'), which is valuable for blockchain tooling. However, it lacks explicit guidance on when to use this specific tool versus get_transaction_history or search_transaction_history, leaving the agent to infer based on the 'by ID' phrasing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_transaction_historyBInspect

Get your Merx account transaction history. Requires MERX_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
periodNoTime period to query. Default: 30D.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral burden. It discloses the authentication requirement (MERX_API_KEY) but omits other critical behavioral traits such as pagination behavior, default/maximum result limits, data freshness, or whether the operation is read-only and safe.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero waste: first states purpose, second states auth requirement. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of output schema and annotations, the description covers the minimum (purpose + auth) but leaves gaps. For a transaction history tool likely returning variable-length datasets, omitting pagination details, result limits, or output payload expectations makes this incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema has 100% description coverage ('Time period to query. Default: 30D.'), so the baseline score is 3. The description adds no parameter-specific semantics (e.g., it does not mention the 'period' parameter, valid formats, or the default), but it does not need to compensate given complete schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource ('Get...transaction history') and scope ('Merx account'). Deducted one point because it fails to distinguish from sibling 'search_transaction_history'—it is unclear when to use this time-bounded list versus the search variant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions the prerequisite 'Requires MERX_API_KEY', which is relevant to usage. However, provides no guidance on when to use this tool versus 'search_transaction_history' or 'get_transaction' (singular), or any exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_trc20_balanceAInspect

Get TRC-20 token balance for an address. Supports symbol (USDT, USDC) or contract address. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesTRON address to query.
tokenYesToken symbol (USDT, USDC) or contract address.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, description carries the burden. It discloses the public/unauthenticated nature ('No auth required') but omits other behavioral traits like rate limits, error handling for invalid addresses, or return value format. Adequate but minimal for a read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero waste. Front-loaded with purpose ('Get TRC-20...'), followed by input flexibility, then authentication status. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Simple 2-parameter tool with no output schema. Description lacks return value specification (e.g., whether it returns raw or formatted amounts, decimals), which is a notable gap given the absence of an output schema. Otherwise covers the essential invocation context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline applies. Description repeats the schema's content about supporting symbols (USDT, USDC) or contract addresses, adding no new semantic meaning or format guidance beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'Get' with specific resource 'TRC-20 token balance' and scope 'for an address'. Explicitly names the token standard, distinguishing it from siblings like get_trx_balance (native TRX) and get_balance (likely general/native).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States 'No auth required', which is a critical usage constraint distinguishing it from mutation tools (transfer_trc20, approve_trc20) that likely require authentication. Lacks explicit 'when to use vs get_token_info' comparison, but resource specificity makes this clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_trx_balanceAInspect

Quick TRX balance for a TRON address. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesTRON address (T...).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It successfully communicates the auth-less nature of the call and implies speed ('Quick'), but fails to disclose error behaviors, rate limits, or what happens with invalid addresses. Missing return value description given no output schema exists.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely efficient two-sentence structure. Front-loads the core purpose ('Quick TRX balance') and follows with the critical behavioral note ('No auth required'). Zero redundant words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a single-parameter tool with complete schema coverage, but falls short of full completeness due to missing description of return values (critical for a balance query) and lack of error handling context. The 'No auth required' partially compensates for missing annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% ('TRON address (T...)'), establishing a baseline of 3. The description mentions 'TRON address' but adds no semantic detail beyond the schema regarding format, validation rules, or example values.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly identifies the resource (TRX balance) and target (TRON address). Specifies 'TRX' which distinguishes it from sibling get_trc20_balance, though it could explicitly mention this retrieves native TRX (not tokens) to strengthen differentiation from get_trc20_balance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides one explicit usage constraint ('No auth required'), which is valuable for a blockchain tool. However, lacks explicit when-to-use guidance versus siblings like get_balance or get_account_info, and doesn't mention what format the balance is returned in.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_trx_priceAInspect

Get current TRX price from CoinGecko. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
currencyNoFiat currency code (default: usd).

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully identifies the external data source (CoinGecko) and authentication requirements (none), but omits operational details like rate limiting, caching behavior, error modes, or whether the operation is idempotent/read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely efficient two-sentence structure. Information is front-loaded with the core action, followed by critical operational metadata (auth). Zero extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter read operation without an output schema, the description adequately covers the essential context: what it returns (TRX price), from where (CoinGecko), and access requirements. Slight gap in not describing the return value format or numeric precision.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the 'currency' parameter is fully documented in the schema with default value noted). The description adds no additional parameter semantics, meeting the baseline score for high-coverage schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description provides specific verb ('Get'), resource ('current TRX price'), and data source ('from CoinGecko'). The specificity of 'TRX' distinguishes it from generic sibling 'get_token_price', while 'current' distinguishes it from 'get_price_history'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes 'No auth required', which provides one usage constraint, but fails to explicitly state when to use this tool versus siblings like 'get_token_price' (which could also fetch TRX) or 'get_prices'. No prerequisites or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_monitorsCInspect

List all monitors with optional status filter. Auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by monitor status.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully notes authentication requirements but fails to indicate read-only safety, return value structure, pagination behavior, or what constitutes a 'monitor' in this domain (e.g., price monitors, transaction monitors).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise at two sentences. Information is front-loaded with the core action first, followed by the auth constraint. No redundant or wasted language.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite low parameter complexity, the absence of both annotations and an output schema creates significant gaps. The description fails to explain what data structure is returned, what 'monitors' represent in this TRON/crypto toolset context, or behavioral constraints beyond authentication.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description confirms the status filter is 'optional' (aligning with zero required parameters) but adds no semantic detail about the enum values (ACTIVE/CANCELLED) or query syntax beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb (List) and resource (monitors) with explicit mention of the optional status filter. Distinguishes from sibling 'create_monitor' through the action verb, though it could explicitly reference the creation tool to strengthen differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States 'Auth required' which is a necessary constraint, but provides no guidance on when to use this versus alternatives (e.g., when to filter by ACTIVE vs CANCELLED) or its relationship to 'create_monitor'. Lacks explicit prerequisites beyond authentication.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_ordersCInspect

List recent orders with optional status filter. Auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by order status.
limitNoMax number of orders to return (default: 20).

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only discloses that authentication is required ('Auth required'), but omits critical behavioral traits: whether the operation is read-only (implied but not confirmed), pagination behavior, the time window defining 'recent', rate limits, or the structure of returned order objects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is appropriately concise with two short sentences and no redundant content. It is front-loaded with the primary action. However, 'Auth required' is telegraphic rather than smoothly integrated (e.g., 'Requires authentication'), slightly detracting from the flow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (two primitive parameters, no output schema), the description provides minimum viable coverage by stating the core operation and authentication requirement. However, it lacks completeness regarding return value structure, the definition of 'recent', and the presence of the 'limit' parameter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, establishing a baseline of 3. The description mentions the 'optional status filter' which adds context about the 'status' parameter's purpose and optionality, but completely omits any reference to the 'limit' parameter, relying entirely on the schema for that parameter's documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description provides a specific verb ('List') and resource ('orders') plus a scope constraint ('recent'). However, it does not explicitly differentiate from the sibling tool 'get_order' (singular), though 'recent' and plural 'orders' imply a multiple-record retrieval pattern versus single-record retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description fails to provide explicit usage guidelines, when-not-to-use conditions, or alternative tool recommendations. It does not clarify when to use 'list_orders' versus 'get_order' for specific order lookups, nor does it mention prerequisites beyond the terse 'Auth required'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_providersAInspect

List all Merx providers with types, durations, and availability. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully communicates authentication requirements and return data structure (types, durations, availability). However, it omits other behavioral traits like pagination behavior, rate limiting, or whether the data is cached.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two highly efficient sentences. The first covers purpose and return value; the second covers authentication requirements. There is no redundant or wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool without an output schema, the description adequately covers the essential context: what the tool does, what data it returns, and its security requirements. It could be improved by mentioning pagination behavior or explicit differentiation from the compare_providers sibling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema contains zero parameters, establishing a baseline score of 4 per the rubric. The description appropriately does not invent parameter semantics where none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action (List), resource (Merx providers), scope (all), and the specific data returned (types, durations, availability). This distinguishes it from siblings like compare_providers which would focus on analysis rather than enumeration.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes 'No authentication required,' which provides prerequisite guidance. However, it lacks explicit guidance on when to use this versus siblings like compare_providers or get_best_price, and does not specify when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_standing_ordersBInspect

List all standing orders with optional status filter. Auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter by status.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses 'Auth required' which is critical behavioral context, but omits other key traits like read-only status, pagination behavior, or what the response structure looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two crisp sentences with no waste: the first establishes purpose and scope, the second states the auth constraint. Information is appropriately front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has only one simple parameter with complete schema coverage and no output schema, the description is minimally adequate. However, it should ideally clarify the relationship to 'list_orders' and confirm the read-only nature given the lack of annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% (the 'status' param is documented as 'Filter by status.'). The description adds that the filter is 'optional', confirming the zero required parameters, but this is largely redundant with the structured schema, meeting the baseline expectation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (List) and resource (standing orders), distinguishing the scope from 'list_orders' by specifying 'standing orders'. However, it does not explicitly differentiate when to use this versus its sibling 'list_orders' or 'get_order'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the 'optional status filter' which implies usage, but provides no explicit guidance on when to use this tool versus alternatives like 'list_orders' or 'get_order', nor any prerequisites beyond the auth note.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

loginBInspect

Log in to an existing Merx account. No MERX_API_KEY needed.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYesEmail address
passwordYesPassword

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Adds valuable auth context ('No MERX_API_KEY needed'). However, fails to disclose what successful login returns (session token, cookie, temporary access?), side effects, or security considerations (rate limits, lockout behavior) critical for authentication tools.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely compact two-sentence structure with no filler. Front-loaded with action. Secondary sentence provides useful authentication context. However, brevity comes at cost of missing behavioral details (output format) that would require third sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for basic invocation but incomplete for an authentication tool with no output schema. Missing critical information about return values (auth tokens, session identifiers) and state changes resulting from login.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage for both email and password parameters. Description adds minimal semantic value beyond schema, only clarifying these are for a 'Merx account'. Baseline 3 appropriate when schema does heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'Log in' and resource 'existing Merx account'. The phrase 'existing' effectively distinguishes from sibling 'create_account', and 'No MERX_API_KEY needed' distinguishes from 'set_api_key' and other authenticated tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides implicit guidance via 'existing' (requires pre-registered account) and 'No MERX_API_KEY needed' (credential-based vs token-based). However, lacks explicit when-to-use (e.g., 'use when you have email/password but no API key configured') and mentions no prerequisites or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pay_invoiceBInspect

Pay an x402 invoice by sending TRX and verifying payment.

ParametersJSON Schema
NameRequiredDescriptionDefault
invoice_idYesInvoice ID to pay

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Reveals executes on-chain TRX transfer and includes verification logic, hinting at async/blockchain behavior. However, missing critical mutation details: transaction fees, irreversibility, required confirmations, failure modes, or idempotency—especially important given zero annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, nine words, zero redundancy. Action verb front-loaded. Every element earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Minimal parameter complexity (1 param) and no output schema reduce burden, but as a financial mutation tool, the description omits essential operational context like cost implications, authorization scope, or balance requirements that would aid agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage (invoice_id described as 'Invoice ID to pay'), establishing baseline 3. Description adds no additional semantic context about ID format, source, or constraints beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific action (Pay), resource type (x402 invoice), and mechanism (sending TRX and verifying payment). Distinguishes from generic transfer tools via 'x402' specificity and verification step. Minor gap: assumes familiarity with 'x402' protocol without brief context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to select this versus sibling tools like 'create_order', 'deposit_trx', or 'transfer_trx'. Does not indicate prerequisites (e.g., TRX balance requirements) or when payment workflows should use this specific endpoint.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_contractAInspect

Call a view/pure function on a TRON smart contract. No auth or private key required.

ParametersJSON Schema
NameRequiredDescriptionDefault
contract_addressYesContract TRON address.
function_selectorYesFunction signature, e.g. "balanceOf(address)".
parameterNoABI-encoded parameter hex (optional).

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It successfully discloses the critical behavioral trait that no authentication is required. It implies read-only behavior via 'view/pure', though it could add context about return formats or node query behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero waste. Front-loaded with the action ('Call a view/pure function'), followed by scope ('on a TRON smart contract'), then critical behavioral constraint ('No auth or private key required'). Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema exists, the description should ideally specify what gets returned (raw hex vs decoded values). While 'view/pure' implies a return value, the format remains ambiguous. The auth clarification compensates partially for missing annotations, but return value documentation is lacking.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with clear descriptions including examples (e.g., 'balanceOf(address)'). The description adds no parameter-specific semantics beyond the schema, which is appropriate when schema coverage is complete. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description specifies 'Call a view/pure function on a TRON smart contract' - clear verb, specific resource, and distinguishes from sibling 'call_contract' by specifying 'view/pure' functions only. The 'No auth' clause further clarifies this is read-only.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'No auth or private key required' provides implicit guidance to use this for read-only operations versus state-changing alternatives. However, it doesn't explicitly reference sibling 'call_contract' or state when to prefer this over other query tools like 'get_balance'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_transaction_historyAInspect

Get on-chain transaction history for a TRON address. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesTRON address.
typeNoTransaction type filter (default: all).
limitNoMax results (default: 20).

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full disclosure burden. It successfully communicates the authentication model (no auth required) but omits other behavioral traits like rate limits, return format, error handling for invalid addresses, or pagination behavior beyond the limit parameter.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two efficient sentences with zero waste: the first establishes purpose and scope, the second provides the authentication note. It is appropriately front-loaded and compact.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple 3-parameter query tool without output schema, the description covers the essentials (purpose, auth). However, given the critical sibling naming collision with 'get_transaction_history', the description is incomplete without clarifying the distinction between these tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage (address, type, limit all documented), establishing a baseline score of 3. The description mentions 'TRON address' aligning with the required parameter but does not add semantic context beyond what the schema already provides for the type filter or limit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves 'on-chain transaction history for a TRON address' with a specific verb and resource. However, it fails to distinguish from the sibling tool 'get_transaction_history', leaving ambiguity about when to choose this variant over the alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes 'No auth required,' providing a usage constraint. However, it lacks explicit guidance on when to use this tool versus the similar 'get_transaction_history' sibling, or any prerequisites beyond authentication.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_api_keyAInspect

Set your Merx API key for this session. Unlocks all authenticated tools (trading, balance, orders). Use this if you already have an API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
api_keyYesYour Merx API key (starts with sk_live_)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses critical behavioral traits: session-scoped storage ('for this session') and side effects ('Unlocks all authenticated tools'). Missing details on whether this overwrites existing keys or security/storage guarantees.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero waste: action (sentence 1), effect (sentence 2), prerequisite (sentence 3). Front-loaded with purpose. No redundancy with structured fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Appropriate for an authentication setup tool with many dependent siblings. Explains unlocking capability sufficiently. No output schema present but unnecessary for a setter; however, lacks mention of validation errors or overwrite behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% coverage ('Your Merx API key (starts with sk_live_)'). Description adds prerequisite context ('if you already have an API key') but doesn't add format guidance beyond schema's sk_live_ prefix. Baseline 3 appropriate when schema does heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Excellent specificity with 'Set your Merx API key' (verb + resource) plus session scope 'for this session'. Clearly distinguishes from sibling 'set_private_key' by specifying 'Merx API key' and listing unlocked categories (trading, balance, orders).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit prerequisite 'Use this if you already have an API key' implying when to use. Lacks explicit contrast with sibling 'set_private_key' (wallet key vs API key) which would prevent confusion given both set credentials.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_private_keyAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
private_keyYesYour TRON private key (64 hex characters)

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and discloses critical behaviors: session-scoped storage, automatic address derivation, and the security guarantee that the key stays local and is never sent to Merx servers. It could improve by mentioning validation behavior or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences covering purpose, side effects (address derivation), enabled capabilities, and security guarantees. Every sentence earns its place with zero redundancy. Information is front-loaded with the primary action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the high complexity (cryptographic key handling) and lack of annotations/output schema, the description provides adequate behavioral context and security disclosures. Minor gap: does not describe return values or confirmation behavior, though the side effects are well-documented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage ('Your TRON private key (64 hex characters)'). The description adds no additional parameter-specific guidance beyond what the schema already provides, warranting the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action (Set), resource (TRON private key), and scope (for this session). It distinguishes from sibling 'set_api_key' by specifying 'TRON private key' and distinguishes from read operations by listing specific write tools it enables.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly lists the write tools this enables (transfer_trx, transfer_trc20, etc.), providing clear context for when to use it. However, it lacks explicit 'when not to use' guidance or comparison to alternatives like set_api_key for authentication.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

simulateAInspect

Simulate a multi-step operation without executing. Returns resource estimates and costs.

ParametersJSON Schema
NameRequiredDescriptionDefault
stepsYesArray of { action, params } steps to simulate.
resource_strategyNoResource acquisition strategy (default: batch_cheapest).

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of disclosure. It successfully communicates the non-mutative nature ('without executing') and output type ('resource estimates and costs'), but lacks details on validation depth (does it check step syntax?), error handling for invalid steps, or whether simulation consumes rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of exactly two high-value sentences with zero redundancy. The first sentence front-loads the core mechanism (simulation without execution), and the second specifies the return value. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 100% schema coverage and lack of output schema, the description adequately covers the tool's purpose and return type ('resource estimates and costs'). It appropriately omits low-level parameter details already covered by the schema. A minor gap is the lack of detail on output structure or validation behavior, but this is sufficient for a 2-parameter preview tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage ('Array of { action, params }', 'Resource acquisition strategy'), establishing a baseline of 3. The description mentions 'multi-step operation' and 'resource estimates' which loosely map to the 'steps' and 'resource_strategy' parameters but adds no syntax details, format examples, or constraints beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Simulate') with a clear resource ('multi-step operation') and explicitly distinguishes itself from execution-focused siblings like 'execute_swap' and 'execute_intent' via 'without executing.' It also previews the return value ('resource estimates and costs'), clearly positioning the tool in the validation/dry-run category.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'without executing' provides clear context for when to use this tool (dry-run/pre-validation) versus the many execution-oriented siblings (create_order, transfer_trx, execute_intent). However, it does not explicitly map to specific alternatives or state prerequisites (e.g., 'use this before execute_swap').

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

suggest_durationAInspect

Recommend a rental duration based on your use case. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
use_caseYesYour intended use case.
transaction_countNoExpected number of transactions (optional).

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It successfully conveys the authentication requirements (none), but omits other behavioral details such as whether this performs external API calls, has rate limits, or what format the recommendation takes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of exactly two sentences with no redundancy. The primary purpose appears in the first sentence, while the second sentence provides critical operational context (authentication), making it appropriately front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (two parameters, one optional, no output schema), the description adequately covers the essential information needed for invocation. It successfully identifies the tool's advisory nature and security requirements, though specifying the return format would improve completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, establishing a baseline of 3. The description adds minimal semantic context beyond the schema, merely referencing 'your use case' which aligns with the use_case parameter but doesn't explain the optional transaction_count parameter's role in the calculation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the action (recommend) and resource (rental duration), and the context of sibling tools (ensure_resources, calculate_savings) clarifies this relates to blockchain resource rental. However, it could explicitly specify 'energy/bandwidth rental duration' to remove any ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description notes 'No authentication required,' which provides useful context about when the tool can be called. However, it lacks explicit guidance on when to use this advisory tool versus execution alternatives like ensure_resources or create_order.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transfer_trc20AInspect

Transfer TRC-20 tokens with automatic energy optimization. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_addressYesRecipient TRON address.
tokenYesToken symbol (USDT, USDC) or contract address.
amountYesAmount to transfer (human-readable).

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses critical behaviors: on-chain commitment ('broadcasts on-chain'), authorization requirement ('Requires TRON_PRIVATE_KEY'), and implementation detail ('automatic energy optimization'). Missing failure modes, idempotency, or return value description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, zero waste. Front-loaded with primary action, followed by behavioral disclosure, then authorization requirement. Every sentence earns its place with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and description omits return value format (transaction hash, receipt status). While authorization and on-chain effects are disclosed, a blockchain transaction tool should ideally indicate successful completion indicators or returned identifiers.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage (all 3 parameters documented). Description adds no additional parameter semantics beyond schema (e.g., no format examples for 'human-readable' amounts or address validation rules), meeting baseline expectations for well-documented schemas.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb 'Transfer' + resource 'TRC-20 tokens' clearly identifies the operation. Distinguishes from sibling 'transfer_trx' by explicitly naming the TRC-20 token standard, and from 'approve_trc20' by specifying the transfer action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States prerequisite 'Requires TRON_PRIVATE_KEY' but lacks explicit when-to-use guidance versus alternatives (e.g., distinguishing when to use this vs 'transfer_trx' for native currency or vs 'approve_trc20' for allowances). Usage constraints are implied but not explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transfer_trxAInspect

Send TRX to an address. Checks bandwidth, buys via Merx if needed. Signs and broadcasts on-chain. Requires TRON_PRIVATE_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_addressYesRecipient TRON address.
amount_trxYesAmount of TRX to send.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full disclosure burden and effectively reveals the on-chain nature ('Signs and broadcasts on-chain'), side effects (bandwidth checks, potential Merx purchases), and authentication requirements. Missing only failure modes and rate limit disclosures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four declarative sentences, front-loaded with the primary action. Every clause adds unique behavioral or prerequisite information without repetition, making it information-dense yet readable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema and annotations, the description adequately covers the execution flow, preconditions, and on-chain effects for a blockchain transfer operation. Would benefit from mentioning the return value (e.g., transaction hash) but sufficiently complete for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage for both parameters (to_address, amount_trx), meeting the baseline expectation. However, the description fails to clarify critical semantics like whether amount_trx expects TRX units or smallest decimal units (sun), which is vital for correct usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description immediately specifies the exact action (Send), resource (TRX), and target (address), distinguishing it clearly from sibling tools like transfer_trc20 (which handles TRC20 tokens) and deposit_trx (which implies receiving funds).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the critical prerequisite 'Requires TRON_PRIVATE_KEY' and describes the automatic resource management behavior ('Checks bandwidth, buys via Merx if needed'). However, it lacks explicit differentiation from transfer_trc20 for users deciding between native TRX and token transfers.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

validate_addressAInspect

Validate a TRON address format and check on-chain status. No auth required.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesTRON address to validate.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, description carries disclosure burden. Adds 'No auth required' (access constraint) and 'check on-chain status' (indicates blockchain query), though could clarify what specific on-chain status means (exists, activated, etc.).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with zero redundant content; first establishes purpose, second provides auth context. Efficiently structured with critical information front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter validation tool without output schema, description adequately covers primary function and operational constraints. Mention of 'on-chain status' hints at return value meaning.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema has 100% description coverage for the single 'address' parameter. Description does not add semantic details, syntax examples, or format specifications beyond the schema baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Validate a TRON address format' provides specific verb and resource, while 'check on-chain status' distinguishes from simple format validation or conversion tools like convert_address. The scope is clearly defined against sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States 'No auth required' indicating it can be used without credentials, but lacks explicit comparison to siblings like check_address_resources or convert_address. No 'when-not-to-use' or alternative guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

withdrawAInspect

Withdraw TRX or USDT from your Merx account to an external TRON address. Requires MERX_API_KEY.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesDestination TRON address (starts with T).
amount_trxYesAmount to withdraw in TRX (e.g. "100"). Converted to SUN internally.
currencyNoCurrency to withdraw. Default: TRX.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It mentions the 'MERX_API_KEY' requirement, but critically omits that this is a destructive, irreversible financial operation with potential for permanent loss if the address is incorrect, lacks fee disclosure, and does not mention confirmation times or async behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two efficient sentences with zero waste. The first sentence front-loads the core action and entities, while the second states the critical auth requirement. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a high-stakes financial mutation tool with no annotations or output schema, the description covers the essential what, where, and auth requirements. However, it exhibits clear gaps regarding operational risks, failure modes, and financial safety considerations that would be necessary for an agent to invoke this tool confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, establishing a baseline of 3. The main description mentions both currency options ('TRX or USDT'), which helps clarify the intent despite the parameter being named amount_trx, but does not add syntax details, validation rules, or format examples beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Withdraw'), resources ('TRX or USDT'), and scope ('from your Merx account to an external TRON address'). This effectively distinguishes the tool from siblings like deposit_trx (incoming) and transfer_trx (likely on-chain or internal transfers).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides implicit context by specifying the direction (Merx account to external address), which helps identify when to use it. However, it lacks explicit guidance on when to choose this over transfer_trc20/transfer_trx, prerequisites beyond the API key, or warnings about irreversible operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

B3.1/5.0
Disambiguation3/5

While descriptions clarify specific behaviors, multiple tools overlap in purpose: four distinct price-discovery functions (analyze_prices, get_prices, get_best_price, compare_providers) and two transaction history lookups (get_transaction_history for Merx vs search_transaction_history for on-chain) create ambiguity that requires careful reading to distinguish.

Naming Consistency4/5

Nearly all tools follow a consistent verb_noun snake_case pattern. Minor deviations like 'withdraw' (lacks resource suffix), 'simulate' (incomplete object), and 'login' (noun rather than verb form) break the otherwise predictable convention.

Tool Count2/5

At 53 tools, the surface significantly exceeds the 25+ threshold for 'too many', even given the broad scope spanning TRON blockchain operations, Merx exchange, and swaps. The granularity fragments simple workflows (e.g., price checking into four separate tools) making agent navigation cumbersome.

Completeness3/5

Core creation and retrieval operations are present, but notable lifecycle gaps exist: no cancel_order, delete_monitor, or delete_standing_order despite having creation tools for these resources. Deposit functionality also appears limited to TRX despite the platform handling TRC-20 tokens.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    250+ AI-powered MCP tools: research, write, code, translate, scrape, sentiment, vision, RAG, agent memory, marketplace, trading signals, and more. 15 models across 7 providers. Pay-per-use via API key or x402 USDC micropayments.
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    AI-to-AI marketplace MCP server with 46 tools — swap 65+ crypto tokens on 7 chains, rent GPUs, trade 25 tokenized stocks, on-chain escrow (Solana + Base), DeFi yields, sentiment analysis, wallet monitoring, and image generation. Supports USDC payments across 14 blockchains.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Hovsteder/merx-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server