Skip to main content
Glama
tronsave

TronSave MCP Server

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_PORTNoHTTP port the server listens on.3000
LOG_LEVELNoLog level; 'debug' additionally logs redacted tool input/output bodies.info
REDIS_URLNoRedis connection URL used as the session store. The value 'memory' keeps sessions in the process (single instance, lost on restart; for trials only).redis://localhost:6379
TRUST_PROXYNoNumber of reverse-proxy hops in front of the server, used to determine client IP for OAuth rate limits.1
REST_RETRIESNoNumber of retries, applied to idempotent reads only.2
METRICS_TOKENNoWhen set, /metrics requires 'Authorization: Bearer <token>'. Set it whenever /metrics is publicly reachable.
MCP_SERVER_NAMENoServer name reported in the MCP initialize response.TronSave MCP Server
PUBLIC_BASE_URLNoPublic origin of the server, e.g. https://mcp.tronsave.io (unset by default). When set, enables the OAuth authorization server and the /oauth/mcp endpoints.
REST_TIMEOUT_MSNoPer-attempt timeout for REST upstream requests (paired with GRAPHQL_TIMEOUT_MS).10000
GRAPHQL_TIMEOUT_MSNoPer-attempt timeout for GraphQL upstream requests (paired with REST_TIMEOUT_MS).10000
MCP_SERVER_VERSIONNoServer version reported in the MCP initialize response.1.3.0
SESSION_TTL_SECONDSNoLogin / MCP session lifetime (sliding for the transport).86400
SIGN_MESSAGE_TTL_SECONDSNoTTL of nonces issued by tronsave_get_sign_message.300
SIGNATURE_MAX_AGE_SECONDSNoOldest signed timestamp accepted for wallet login / Signature header.86400
AUTH_VERIFY_CACHE_TTL_SECONDSNoCache TTL for verified ApiKey / Signature headers.60
READINESS_UPSTREAM_TIMEOUT_MSNoUpstream probe timeout used by the /readyz endpoint.2000
OAUTH_ACCESS_TOKEN_TTL_SECONDSNoOAuth access token lifetime (wallet sign-ins are capped at SIGNATURE_MAX_AGE_SECONDS).3600
OAUTH_REFRESH_TOKEN_TTL_SECONDSNoOAuth refresh token lifetime (wallet sign-ins are capped at SIGNATURE_MAX_AGE_SECONDS).2592000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
tronsave_get_internal_accountA

Retrieve the Tronsave internal account profile for the current logged-in session (wallet/represent address, balances, deposit address). Requires an internal API key: tronsave_login (api-key mode, or signature mode for a wallet with an internal account) or an Authorization: ApiKey <key> client header. Never pass API keys as tool arguments; the server forwards the key from the session/header to TronSave. Use when the user needs their linked address or balance. Returns { id, balance (SUN string), representAddress, depositAddress }; any API key in the payload is masked. Read-only.

tronsave_get_deposit_addressA

Fetches the specific deposit address for the TronSave internal account. Requires an internal API key: tronsave_login (api-key mode, or signature mode for a wallet with an internal account) or an Authorization: ApiKey <key> client header. Never pass API keys as tool arguments; the server forwards the key from the session/header to TronSave. Trigger this tool if the user asks for a deposit address or needs to top up their TronSave TRX balance. Constraints: 1) TRX only; 2) Minimum deposit amount is 10 TRX; 3) Read-only operation.

tronsave_internal_order_historyA

List paginated order history for the internal account linked to the API key, newest first. Requires an internal API key: tronsave_login (api-key mode, or signature mode for a wallet with an internal account) or an Authorization: ApiKey <key> client header. Never pass API keys as tool arguments; the server forwards the key from the session/header to TronSave. Use when the user asks about past purchases, fulfillment, payouts, or delegates on their internal account. Read-only. Pair with tronsave_internal_order_details for a single order's full snapshot.

tronsave_internal_order_detailsA

Fetch full details for one internal-account order by order ID. Requires an internal API key: tronsave_login (api-key mode, or signature mode for a wallet with an internal account) or an Authorization: ApiKey <key> client header. Never pass API keys as tool arguments; the server forwards the key from the session/header to TronSave. Use when monitoring fulfillment after tronsave_internal_order_create, or when the user asks for status on a specific order id. Read-only. FRESHNESS: order state changes within seconds as the market matches — re-read immediately before acting.

tronsave_internal_order_bookA

Return the current TronSave market depth/price tiers for ENERGY or BANDWIDTH via the api-key REST endpoint. Requires an internal API key: tronsave_login (api-key mode, or signature mode for a wallet with an internal account) or an Authorization: ApiKey <key> client header. Never pass API keys as tool arguments; the server forwards the key from the session/header to TronSave. Use before tronsave_internal_order_create or tronsave_internal_order_estimate when the user needs live prices or liquidity. Read-only. FRESHNESS: live market depth can change roughly every 3 seconds (one TRON block) — re-read immediately before placing an order.

tronsave_internal_order_estimateA

Estimate the TRX cost and availability for a buy order before submitting it (api-key internal account). Requires an internal API key: tronsave_login (api-key mode, or signature mode for a wallet with an internal account) or an Authorization: ApiKey <key> client header. Never pass API keys as tool arguments; the server forwards the key from the session/header to TronSave. Use when the user wants a quote or price check; feed the result into tronsave_internal_order_create. Read-only. FRESHNESS: unitPrice/estimateTrx are live and can change roughly every 3 seconds — re-estimate immediately before creating the order.

tronsave_internal_order_createA

Place a new buy order for ENERGY or BANDWIDTH on TronSave, paid from the internal account balance. Requires an internal API key: tronsave_login (api-key mode, or signature mode for a wallet with an internal account) or an Authorization: ApiKey <key> client header. Never pass API keys as tool arguments; the server forwards the key from the session/header to TronSave. Side effect: SPENDS internal TRX balance and creates a live order; not idempotent — each call places a new order. This is the api-key/internal path; for the signature-session market path use tronsave_create_order. Always derive unitPrice from the latest tronsave_internal_order_estimate (re-estimate immediately before submitting — quotes older than a few seconds may be stale and revert). Returns { orderId }.

tronsave_internal_extend_delegatesA

Return extendable delegations for a receiver plus an extendData payload for the extension flow. Requires an internal API key: tronsave_login (api-key mode, or signature mode for a wallet with an internal account) or an Authorization: ApiKey <key> client header. Never pass API keys as tool arguments; the server forwards the key from the session/header to TronSave. Use as STEP 1 before tronsave_internal_create_extend_request when the user wants to extend existing delegation time. Read-only; does not submit anything. FRESHNESS: pricing/availability change within seconds — run immediately before extending and pass the returned extendData unchanged.

tronsave_internal_create_extend_requestA

Submit an extension request for existing delegated resources on TronSave via authenticated REST POST /v2/extend-request. Requires an internal API key: tronsave_login (api-key mode, or signature mode for a wallet with an internal account) or an Authorization: ApiKey <key> client header. Never pass API keys as tool arguments; the server forwards the key from the session/header to TronSave. Side effect: creates an extension order and may commit TRX from the internal account. extendData must follow the REST contract (see schema on each row). Get extendData from tronsave_internal_extend_delegates (STEP 1) and pass the rows unchanged. Do not copy rows from tronsave_list_extendable_delegates (GraphQL); that payload shape differs and is for market discovery only.

tronsave_get_sign_messageA

Step 1 of wallet login. Returns { message, timestamp }: ask the user to sign message with their TRON wallet (TronWeb signMessageV2, TronLink, etc.), then call tronsave_login with signature: "<signature>_<timestamp>". Signing the plain decimal timestamp text is also accepted. No auth needed; no side effects on the account.

tronsave_loginA

Log in to TronSave for the rest of this MCP connection. Provide EXACTLY ONE of: signature = <signature>_<timestamp> produced by the user's wallet over the message from tronsave_get_sign_message (unlocks wallet tools; also loads the wallet's internal API key if it has one), or apiKey = raw TronSave internal API key (unlocks internal-account tools and paymentMethod=internal). The login is bound to the current mcp-session-id automatically — do not pass session ids in later tool arguments. Returns { sessionId, authMode, walletAddress?, hasInternalApiKey, expiresAt, unlocked }. Signed timestamps older than the server limit (default 24h) are rejected with SIGNATURE_EXPIRED. Never ask the user for private keys or seed phrases.

tronsave_logoutA

Remove the TronSave login bound to this MCP connection (api-key or signature). Returns { loggedOut: true }; idempotent. Header credentials configured on the client are not affected.

tronsave_get_session_statusA

Report the current authentication state without calling TronSave: authMode (none | api-key | signature), source (login | header), walletAddress, hasInternalApiKey, expiresAt, network, and which tool groups are available now. Call this first when unsure whether to log in, and after SESSION_REQUIRED / INVALID_SESSION_TYPE errors.

tronsave_get_user_infoA

Read the current authenticated user's profile and linked TronSave internal account. Returns { caller, address, balance (SUN string), info, internalAccount } — info carries referral/contact metadata and may be null; internalAccount is null when the wallet has not provisioned a TronSave internal balance yet. internalAccount.apiKey is masked. Requires a wallet signature identity. Read-only and idempotent. Use tronsave_get_user_auto_setting for the auto-sell config or tronsave_get_user_permissions for permission flags when the full profile is unnecessary.

tronsave_get_user_auto_settingA

Read the current user's auto-sell configuration (autoSettings). Returns the full autoSettings object — call this before tronsave_register_auto_sell or tronsave_update_auto_sell_setting to avoid overwriting fields you do not intend to change. Requires a wallet signature identity. Read-only and idempotent.

tronsave_get_user_permissionsA

Read the enabled permission operations (autoSettings.permitOperations) for the authenticated user. Returns { permitOperations: string[] } — use it before mutating auto-sell or auto-buy rules to confirm the action is allowed for the wallet. Requires a wallet signature identity. Read-only and idempotent.

tronsave_estimate_buy_resourceA

Quote price and availability for buying ENERGY or BANDWIDTH for a receiver address before placing an order. Returns { unitPrice (SUN/unit), durationSec, estimateTrx (total cost in SUN), availableResource, systemDepositAddress } — map them to tronsave_create_order as orderUnitPrice, orderDurationSec, paymentPaymentAmount. Defaults: ENERGY, 100000 units (1000 for BANDWIDTH), 900 s. Read-only and safe to call repeatedly; no session is required, but backend rate limits apply. For order-book depth use tronsave_list_order_books; for the minimum unit price only use tronsave_get_min_price.

tronsave_get_orderA

Read one order by id and return its full snapshot for NORMAL, FAST, or EXTEND order types. Use this as the source of truth before tronsave_update_order, tronsave_sell_order_manual, or tronsave_cancel_order to avoid acting on stale state. Requires a wallet signature identity. Read-only and idempotent.

tronsave_list_ordersA

Query the market order list with paging (offset, limit ≤ 10). Returns { orders: [{ id, requester?.address, receiver.address, resourceType, resourceAmount, remainAmount, durationSec, unitPrice (SUN), isOwner, isMatching, apy, createdAt, typeOrder (NORMAL|FAST|EXTEND) }] }. status: ACTIVE = still matching, COMPLETED = no longer matching. Set isOnlyMyOrder=true (requires a wallet signature identity) to list orders requested by the caller's wallet. Use tronsave_get_order with an id for one snapshot before mutating an order.

tronsave_list_order_booksA

Read market depth buckets for ENERGY or BANDWIDTH. Returns price buckets { min, max, value } optionally scoped by viewer address, minimum delegate amount, and duration. No login required; read-only and idempotent. Use this to estimate market ranges before create/update decisions; pair with tronsave_estimate_buy_resource for quote-style buy estimation and tronsave_get_order for one concrete order.

tronsave_get_min_priceA

Quote the minimum unit price for a buy. Returns { minPrice } (SUN per resource unit; per day when durationSec >= 86400) from GraphQL market.estimateMinPrice for the given resourceType, buyAmount, and durationSec. Optional address scopes context when the API supports it. No login required. Read-only and idempotent. Pair with tronsave_estimate_buy_resource for full buy quotes and tronsave_list_order_books for depth buckets.

tronsave_list_extendable_delegatesA

List extendable delegate candidates for a receiver and resourceType (ENERGY|BANDWIDTH). Optional suggestData scores an extend-and-buy scenario for planning purposes. Read-only; does NOT create orders or change on-chain state. No login required. NOTE: this is GraphQL market data for discovery only. To actually submit an extension, use tronsave_internal_create_extend_request with extendData from the authenticated REST POST /v2/get-extendable-delegates (payload shape differs from this GraphQL response).

tronsave_create_orderA

Create a buy order for ENERGY/BANDWIDTH delegated to orderReceiver. SPENDS FUNDS — confirm the plan with the user first. Inputs: orderResourceType, orderReceiver, orderUnitPrice (SUN, not TRX), orderDurationSec, orderResourceAmount, paymentPaymentAmount (SUN), and paymentMethod: internal — debits the TronSave internal balance (needs an api-key login/header or a signature login whose wallet has an internal account); onchain — no login needed, but paymentSignedTx must be the user's wallet-signed TRX transfer to systemDepositAddress. Take price/amount/duration values from the latest tronsave_estimate_buy_resource. Returns { success, message, code, data.orderId } — check success; verify with tronsave_get_order or tronsave_list_orders. Not idempotent: on a timeout, verify before retrying to avoid duplicate orders.

tronsave_sell_order_manualA

Manually execute seller-side fulfillment of an existing order with a wallet signedTx. Returns { success, message, code, delegatedId }. Side effect: broadcasts a market/delegation transaction and may consume balances/resources; not idempotent — each call re-executes. Requires a wallet signature identity. Use only when explicit manual sell is intended; call tronsave_get_order first to verify order state before signing.

tronsave_cancel_orderA

Cancel an open order by orderId. Returns { success, message, code }. Side effect: marks the order non-matchable and refunds locked balance per backend rules; effectively destructive on the live order. Idempotent — cancelling an already-cancelled order is a no-op success. Fails for fulfilled orders or unauthorized callers. Requires a wallet signature identity (the order's owner). Verify state with tronsave_get_order first; prefer tronsave_update_order when only price/receiver should change.

tronsave_update_orderA

Update an open order by orderId with partial fields (receiver, newPrice). Returns { success, message, code }. Side effect: overwrites live order parameters; not idempotent — each call with a different newPrice produces a new state. Requires a wallet signature identity (the order's owner). Prefer this over cancel+recreate when only price/receiver should change. Verify state with tronsave_get_order first; fails for already-fulfilled, already-cancelled, or non-editable orders.

tronsave_register_auto_sellA

Create the initial auto-sell configuration for the authenticated user. Returns the persisted autoSettings payload. Side effect: persists automation settings that affect future delegation/sell behavior; not idempotent — calling twice may reset fields. Requires a wallet signature identity. Use for FIRST-TIME setup only; for subsequent edits use tronsave_update_auto_sell_setting, and always read the current state with tronsave_get_user_auto_setting first to avoid overwriting unknown fields. Fails for invalid config combinations, unauthorized sessions, or backend policy restrictions.

tronsave_update_auto_sell_settingA

Update the existing auto-sell configuration with partial fields. Returns the updated autoSettings payload. Side effect: overwrites stored automation settings for the current user; not idempotent across different field sets. Requires a wallet signature identity. Use for INCREMENTAL changes after registration; read the baseline via tronsave_get_user_auto_setting to avoid accidental resets, and use tronsave_register_auto_sell only for first-time setup. Fails for invalid field combinations, unauthorized sessions, or policy constraints.

tronsave_generate_api_keyA

Generate a new internal API key credential for the current user. Returns data containing the issued key — show it to the user once and tell them to store it securely; do not repeat it in later messages. Side effect: issues secret material; not idempotent — each call mints a fresh key and may invalidate the previous one per backend policy. Requires a wallet signature identity. Sensitive output — never log raw keys; unauthorized sessions or policy checks may reject issuance.

tronsave_revoke_api_keyA

Revoke the caller's current internal API key. Side effect: any future request using the previous key is rejected. Existing in-flight sessions cached by the server may continue serving until their TTL expires — treat the effect as 'best-effort immediate' rather than guaranteed instantaneous cutoff. Idempotent — revoking an already-revoked key returns success. Requires a wallet signature identity. Call tronsave_generate_api_key afterwards to mint a replacement when continued internal access is needed.

tronsave_delete_auto_buy_settingA

Permanently delete one auto-buy rule by id (MObjectId). Side effect: stops all future executions matching that rule; the rule cannot be restored. Idempotent — deleting a non-existent or already-removed id returns success. Requires a wallet signature identity. Use tronsave_get_user_auto_setting to list current rules first; prefer disabling/updating instead when reversibility is desired.

tronsave_get_market_overviewA

Read the TronSave market summary: resource currently available and total listed for ENERGY and BANDWIDTH, number of pooled sellers, and seller APY (percent). Use for a quick 'how is the market' answer before pricing. Public, read-only. Data refreshes about every TRON block (3 s).

tronsave_get_price_tableA

Read the price grid for ENERGY or BANDWIDTH: prices[i][j] is the unit price in SUN for amounts[i] resource units rented for durations[j] (e.g. '15m', '1h', '1d'). Durations of 1 day or longer are priced per day: '30d' at 40 SUN costs 40 x 30 SUN per unit in total. Use to compare cost across amounts and durations in one call; use tronsave_estimate_buy_resource for an exact quote. Public, read-only.

tronsave_get_system_infoA

Read TronSave and TRON protocol parameters: latest block, minimum buy amounts, TRX burn rates per unit, dynamic buy/lowest prices, the system deposit address, max lock period and the energy cost of a USDT transfer. Use to size purchases (minimums) and to compare renting with burning TRX. Public, read-only.

tronsave_get_account_resourcesA

Read the on-chain staked and delegatable ENERGY/BANDWIDTH of a TRON address, plus its TRX balance (SUN string). Use to check whether a wallet can sell, or how much resource it holds. Public (any address), read-only; does not need a login.

tronsave_suggest_create_orderA

Ask the market how a buy would be filled: a plain new order, buying more only, or extending existing delegations (optionally plus extra). Returns each option with readyToFill (percent), payout (SUN) and the extendData rows. Use before tronsave_create_order when the receiver may already have delegations that can be extended cheaper. Public, read-only. Prices move every ~3 s: re-run right before ordering.

tronsave_list_extendable_receiversA

List the receiver addresses that have delegations bought by requester which can still be extended, with expiry time (Unix seconds), delegation count and total amount. Use as the first step of an extension flow to find which receiver to extend. Public (any requester address), read-only.

tronsave_get_seller_statsA

Read the logged-in seller's lifetime totals (delegations, resource delegated, TRX earned, average price per resource) and a daily earnings chart split into auto, manual, exclusive and extend delegations. Use for 'how much did I earn' questions. Requires a wallet signature identity. Read-only.

tronsave_list_delegationsA

List the logged-in seller's delegations (resource sent to buyers): amount, TRX amount, duration, unit price, type (AUTO, MANUAL, EXTEND, FAST), status and payout. Newest first. Requires a wallet signature identity. Read-only.

tronsave_list_auto_buy_settingsA

List the logged-in user's auto-buy rules: receiver, resource, unit price cap, threshold, budget/order limits, totals bought and active state. Use before tronsave_update_auto_buy_setting or tronsave_delete_auto_buy_setting to get rule ids. Requires a wallet signature identity. Read-only.

tronsave_create_auto_buy_settingA

Create a rule that automatically buys resourceAmount for receiver whenever its remaining resource falls below thresholdResourceAmount, paying up to unitPrice SUN per unit from the TronSave internal balance. Side effect: SPENDS internal TRX every time the rule fires until a budget/order limit or endActiveAt stops it; not idempotent (each call adds a rule). Confirm receiver, amounts, price cap and limits with the user first; prefer setting limitBudgetInSun. Requires a wallet signature identity.

tronsave_update_auto_buy_settingA

Change an auto-buy rule by id: pause or resume it with isActive, or change any of price cap, amount, duration, threshold and limits (only the fields you send change). Side effect: a resumed or loosened rule can start spending internal TRX again. Idempotent for the same arguments. Get ids from tronsave_list_auto_buy_settings. Requires a wallet signature identity.

tronsave_list_notificationsA

List the logged-in user's notifications (order created / filled / cancelled / reclaimed, referral payouts) newest first, with the unread count. Use to follow up on an order after creating it. Requires a wallet signature identity. Read-only.

tronsave_mark_notifications_readA

Mark one notification (by id) or, when id is omitted, ALL of the user's notifications as read. Only changes the read flag; idempotent. Requires a wallet signature identity.

tronsave_get_referralA

Read the logged-in user's referral status: own referral code, sponsor, referral counts, bonus earned and remaining (SUN strings), rank, the referral list (PENDING/ACTIVE) and recent commission payouts. Requires a wallet signature identity. Read-only.

tronsave_get_telegram_notify_settingA

Read the Telegram alert filters of the logged-in user: seller alerts (remaining amount, duration, price and APY ranges, unlocked-only) and buyer alerts (reclaim warning time, low energy / bandwidth thresholds). setting is null when Telegram is not linked. Requires a wallet signature identity. Read-only.

tronsave_update_telegram_notify_settingA

Replace the Telegram alert filters. Send the COMPLETE sellerFilter and/or buyerFilter objects (read the current ones with tronsave_get_telegram_notify_setting, edit, send back); each range or value has isEnabled plus its numbers. Only changes which alerts are sent; no funds move. Idempotent. Requires a wallet signature identity and a linked Telegram account.

tronsave_get_agency_botA

Read the logged-in user's Telegram agency bot (resale bot): name, username, status (PENDING, ACTIVE, INACTIVE, BLOCKED, REJECTED), rewards (total and unpaid) and order / resource statistics. bot is null when none is registered. The bot token is never returned. Requires a wallet signature identity. Read-only.

tronsave_list_internal_transactionsA

List the TRX ledger of the logged-in user's internal account (deposits, order payments, refunds), newest first, with the current balance and deposit address. Amounts are SUN strings. Use to reconcile spending after orders. Requires a wallet signature identity. Read-only.

tronsave_get_flash_unstake_requestA

Read the logged-in user's flash-unstake request (selling staked TRX early for an immediate payout): state, payout state, amounts and release progress. request is null when there is none. Requires a wallet signature identity. Read-only.

tronsave_list_flash_unstake_ordersA

Browse the flash-unstake market: available (open orders buyers can take), ongoing (being paid out) or completed. Amounts are SUN-scaled numbers; estimateCompletionTime is seconds. Public, read-only.

tronsave_estimate_flash_unstakeA

Estimate what an address would receive by flash-unstaking all its staked TRX now: total staked, fee percentage, payout, delegations to reclaim and the minimum unstake amount. Nothing is submitted. Public (any address), read-only. Fails with 404 when the address has nothing staked.

tronsave_bulk_create_internal_ordersA

Buy the SAME amount of ENERGY or BANDWIDTH for several receiver addresses in one call, paid from the TronSave internal balance; returns one order id per receiver. Side effect: SPENDS paymentAmount SUN of the internal balance; not idempotent (a repeat buys again). Estimate one receiver with tronsave_estimate_buy_resource first and show the user receivers, amount and total cost before calling. Requires a wallet signature identity.

Prompts

Interactive templates invoked by user choice

NameDescription
buy_resourceQuote, confirm and place a TronSave order for a receiver address.
account_overviewSummarize auth state, balances and recent orders for the logged-in account.

Resources

Contextual data attached and managed by the client

NameDescription
agent-guideAuth model, units, workflows, tool map and error codes for agents using this server.

TDQS

A3.6/5.0

Scored across 53 tools

Disambiguation2/5

The surface has heavy, function-level duplication between an api-key/internal path and a signature/market path: `tronsave_internal_order_create` vs `tronsave_create_order`, `tronsave_internal_order_estimate` vs `tronsave_estimate_buy_resource`, `tronsave_internal_order_book` vs `tronsave_list_order_books`, and `tronsave_internal_extend_delegates` vs `tronsave_list_extendable_delegates`. There are also three separate extend-discovery tools (`list_extendable_delegates`, `list_extendable_receivers`, `internal_extend_delegates`) plus overlapping quote/depth tools (`estimate_buy_resource`, `get_min_price`, `list_order_books`, `get_price_table`). Descriptions explain the differences, but at 53 tools an agent can easily misselect the wrong auth path or quote tool.

Naming Consistency3/5

Most names use the `tronsave_` prefix with snake_case, which is readable and mostly consistent. However, several tools drop the leading verb (`tronsave_internal_order_create`, `tronsave_internal_order_book`, `tronsave_internal_order_history`, `tronsave_internal_order_details`) while others follow verb_noun (`tronsave_list_orders`, `tronsave_get_order`, `tronsave_create_order`), creating mixed conventions within the same order domain. Additions like `tronsave_sell_order_manual` further blur the pattern.

Tool Count2/5

53 tools is well above a comfortable surface size, even for a broad server covering market data, orders, automation, notifications, referral, Telegram, and flash unstake. Much of the count comes from duplicating the same operations across internal/api-key and signature paths rather than adding genuinely distinct capabilities. This makes the surface heavy and increases selection risk.

Completeness4/5

Coverage is broad: authentication/session tools, market quotes and depth, full order lifecycle (estimate, create, get, list, update, cancel), extend flows, auto-sell and auto-buy configuration, notifications, referral, Telegram alert settings, agency bot, internal ledger, and flash unstake. Minor gaps exist, such as no explicit reclaim/withdraw tool for expired delegations and no dedicated auto-sell delete/disable tool, but most workflows can be completed. Agents can work around these gaps with the existing update and order tools.

Maintenance

ActivityMaintained
ResponsivenessNo issues