{
  "serverInfo": {
    "name": "TronSave MCP Server",
    "title": "TronSave MCP",
    "version": "1.2.0",
    "description": "Price, buy, extend and sell TRON Energy/Bandwidth on the TronSave market, run auto-buy rules, read market, seller and account data, and manage an internal TronSave balance.",
    "websiteUrl": "https://tronsave.io"
  },
  "description": "Price, buy, extend and sell TRON Energy/Bandwidth on the TronSave market, run auto-buy rules, read market, seller and account data, and manage an internal TronSave balance. Market data and quotes need no login; account tools log in with an API key or a wallet signature.",
  "protocolVersion": "2025-06-18",
  "transport": {
    "type": "streamable-http",
    "endpoint": "https://mcp.tronsave.io/mcp",
    "methods": [
      "POST",
      "DELETE"
    ]
  },
  "endpoints": {
    "mainnet": "https://mcp.tronsave.io/mcp",
    "testnet": "https://mcp.tronsave.io/testnet/mcp"
  },
  "capabilities": {
    "tools": {
      "listChanged": true
    },
    "resources": {
      "listChanged": true
    },
    "prompts": {
      "listChanged": true
    }
  },
  "authentication": {
    "required": false,
    "schemes": [
      "ApiKey",
      "Signature"
    ],
    "method": "tool",
    "loginTool": "tronsave_login",
    "statusTool": "tronsave_get_session_status",
    "logoutTool": "tronsave_logout",
    "toolAuthMeta": "io.tronsave/auth",
    "headers": [
      "Authorization: ApiKey <key>",
      "x-api-key: <key>"
    ],
    "description": "Each tool's requirement is in its `auth` field here and in tools/list as _meta[\"io.tronsave/auth\"]: public (no login), session (an internal API key) or signature-session (a wallet signature login). API key: tronsave_login { apiKey } or send `Authorization: ApiKey <key>` on every request. Wallet signature: sign tronsave_get_sign_message's message in the wallet, then tronsave_login { signature: \"<signature>_<timestamp>\" }. Logins are bound to the mcp-session-id for 24 hours.",
    "documentation": "https://tronsave.io/auth.md"
  },
  "quickstart": "https://mcp.tronsave.io/quickstart",
  "documentation": "https://docs.tronsave.io/developers/api-reference/mcp",
  "skill": "https://tronsave.io/.well-known/agent-skills/tronsave-api/SKILL.md",
  "guide": {
    "resource": "tronsave://guide/agent",
    "prompts": [
      "buy_resource",
      "account_overview"
    ]
  },
  "contact": "https://tronsave.io",
  "tools": [
    {
      "name": "tronsave_get_internal_account",
      "title": "Internal Account Information",
      "description": "Retrieve the Tronsave internal account profile for the current logged-in session (wallet/represent address, balances, deposit address).",
      "annotations": {
        "title": "Internal Account Information",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "session"
    },
    {
      "name": "tronsave_get_deposit_address",
      "title": "Get Deposit Address",
      "description": "Fetches the specific deposit address for the TronSave internal account.",
      "annotations": {
        "title": "Get Deposit Address",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "session"
    },
    {
      "name": "tronsave_internal_order_history",
      "title": "Internal Account Order History",
      "description": "List paginated order history for the internal account linked to the API key, newest first.",
      "annotations": {
        "title": "Internal Account Order History",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "session"
    },
    {
      "name": "tronsave_internal_order_details",
      "title": "Internal Order Details",
      "description": "Fetch full details for one internal-account order by order ID.",
      "annotations": {
        "title": "Internal Order Details",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "session"
    },
    {
      "name": "tronsave_internal_order_book",
      "title": "Internal Market Order Book",
      "description": "Return the current TronSave market depth/price tiers for ENERGY or BANDWIDTH via the api-key REST endpoint.",
      "annotations": {
        "title": "Internal Market Order Book",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "session"
    },
    {
      "name": "tronsave_internal_order_estimate",
      "title": "Estimate TRX Cost Before Order",
      "description": "Estimate the TRX cost and availability for a buy order before submitting it (api-key internal account).",
      "annotations": {
        "title": "Estimate TRX Cost Before Order",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "session"
    },
    {
      "name": "tronsave_internal_order_create",
      "title": "Create Energy or Bandwidth Order (Internal)",
      "description": "Place a new buy order for ENERGY or BANDWIDTH on TronSave, paid from the internal account balance.",
      "annotations": {
        "title": "Create Energy or Bandwidth Order (Internal)",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      },
      "auth": "session"
    },
    {
      "name": "tronsave_internal_extend_delegates",
      "title": "List Extendable Delegations",
      "description": "Return extendable delegations for a receiver plus an `extendData` payload for the extension flow.",
      "annotations": {
        "title": "List Extendable Delegations",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "session"
    },
    {
      "name": "tronsave_internal_create_extend_request",
      "title": "Submit Delegation Extension",
      "description": "Submit an extension request for existing delegated resources on TronSave via authenticated REST `POST /v2/extend-request`.",
      "annotations": {
        "title": "Submit Delegation Extension",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      },
      "auth": "session"
    },
    {
      "name": "tronsave_get_sign_message",
      "title": "Get Signature Message",
      "description": "Step 1 of wallet login.",
      "annotations": {
        "title": "Get Signature Message",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_login",
      "title": "Login Session",
      "description": "Log in to TronSave for the rest of this MCP connection.",
      "annotations": {
        "title": "Login Session",
        "readOnlyHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_logout",
      "title": "Logout",
      "description": "Remove the TronSave login bound to this MCP connection (api-key or signature).",
      "annotations": {
        "title": "Logout",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "auth": "public"
    },
    {
      "name": "tronsave_get_session_status",
      "title": "Session Status",
      "description": "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.",
      "annotations": {
        "title": "Session Status",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      },
      "auth": "public"
    },
    {
      "name": "tronsave_get_user_info",
      "title": "User Information",
      "description": "Read the current authenticated user's profile and linked TronSave internal account.",
      "annotations": {
        "title": "User Information",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_get_user_auto_setting",
      "title": "User Auto Setting",
      "description": "Read the current user's auto-sell configuration (`autoSettings`).",
      "annotations": {
        "title": "User Auto Setting",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_get_user_permissions",
      "title": "User Permissions",
      "description": "Read the enabled permission operations (`autoSettings.permitOperations`) for the authenticated user.",
      "annotations": {
        "title": "User Permissions",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_estimate_buy_resource",
      "title": "Estimate Buy Resource",
      "description": "Quote price and availability for buying ENERGY or BANDWIDTH for a receiver address before placing an order.",
      "annotations": {
        "title": "Estimate Buy Resource",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_get_order",
      "title": "Order Detail",
      "description": "Read one order by `id` and return its full snapshot for NORMAL, FAST, or EXTEND order types.",
      "annotations": {
        "title": "Order Detail",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_list_orders",
      "title": "List Orders",
      "description": "Query the market order list with paging (`offset`, `limit` ≤ 10).",
      "annotations": {
        "title": "List Orders",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_list_order_books",
      "title": "Order Book",
      "description": "Read market depth buckets for `ENERGY` or `BANDWIDTH`.",
      "annotations": {
        "title": "Order Book",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_get_min_price",
      "title": "Get Minimum Unit Price",
      "description": "Quote the minimum unit price for a buy.",
      "annotations": {
        "title": "Get Minimum Unit Price",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_list_extendable_delegates",
      "title": "Extendable Delegates",
      "description": "List extendable delegate candidates for a `receiver` and `resourceType` (ENERGY\\|BANDWIDTH).",
      "annotations": {
        "title": "Extendable Delegates",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_create_order",
      "title": "Create Order",
      "description": "Create a buy order for ENERGY/BANDWIDTH delegated to `orderReceiver`.",
      "annotations": {
        "title": "Create Order",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_sell_order_manual",
      "title": "Sell Order Manual",
      "description": "Manually execute seller-side fulfillment of an existing order with a wallet `signedTx`.",
      "annotations": {
        "title": "Sell Order Manual",
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_cancel_order",
      "title": "Cancel Order",
      "description": "Cancel an open order by `orderId`.",
      "annotations": {
        "title": "Cancel Order",
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_update_order",
      "title": "Update Order",
      "description": "Update an open order by `orderId` with partial fields (`receiver`, `newPrice`).",
      "annotations": {
        "title": "Update Order",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_register_auto_sell",
      "title": "Register Auto Sell",
      "description": "Create the initial auto-sell configuration for the authenticated user.",
      "annotations": {
        "title": "Register Auto Sell",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_update_auto_sell_setting",
      "title": "Update Auto Sell Setting",
      "description": "Update the existing auto-sell configuration with partial fields.",
      "annotations": {
        "title": "Update Auto Sell Setting",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_generate_api_key",
      "title": "Generate API Key",
      "description": "Generate a new internal API key credential for the current user.",
      "annotations": {
        "title": "Generate API Key",
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_revoke_api_key",
      "title": "Revoke API Key",
      "description": "Revoke the caller's current internal API key.",
      "annotations": {
        "title": "Revoke API Key",
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_delete_auto_buy_setting",
      "title": "Delete Auto Buy Setting",
      "description": "Permanently delete one auto-buy rule by `id` (`MObjectId`).",
      "annotations": {
        "title": "Delete Auto Buy Setting",
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_get_market_overview",
      "title": "Market Overview",
      "description": "Read the TronSave market summary: resource currently available and total listed for ENERGY and BANDWIDTH, number of pooled sellers, and seller APY (percent).",
      "annotations": {
        "title": "Market Overview",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_get_price_table",
      "title": "Resource Price Table",
      "description": "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').",
      "annotations": {
        "title": "Resource Price Table",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_get_system_info",
      "title": "Protocol Parameters",
      "description": "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.",
      "annotations": {
        "title": "Protocol Parameters",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_get_account_resources",
      "title": "Account Resources",
      "description": "Read the on-chain staked and delegatable ENERGY/BANDWIDTH of a TRON address, plus its TRX balance (SUN string).",
      "annotations": {
        "title": "Account Resources",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_suggest_create_order",
      "title": "Suggest Order Strategy",
      "description": "Ask the market how a buy would be filled: a plain new order, buying more only, or extending existing delegations (optionally plus extra).",
      "annotations": {
        "title": "Suggest Order Strategy",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_list_extendable_receivers",
      "title": "Extendable Receivers",
      "description": "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.",
      "annotations": {
        "title": "Extendable Receivers",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_get_seller_stats",
      "title": "Seller Statistics",
      "description": "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.",
      "annotations": {
        "title": "Seller Statistics",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_list_delegations",
      "title": "Delegation History",
      "description": "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.",
      "annotations": {
        "title": "Delegation History",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_list_auto_buy_settings",
      "title": "Auto-Buy Rules",
      "description": "List the logged-in user's auto-buy rules: receiver, resource, unit price cap, threshold, budget/order limits, totals bought and active state.",
      "annotations": {
        "title": "Auto-Buy Rules",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_create_auto_buy_setting",
      "title": "Create Auto-Buy Rule",
      "description": "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.",
      "annotations": {
        "title": "Create Auto-Buy Rule",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_update_auto_buy_setting",
      "title": "Update Auto-Buy Rule",
      "description": "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).",
      "annotations": {
        "title": "Update Auto-Buy Rule",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_list_notifications",
      "title": "Notifications",
      "description": "List the logged-in user's notifications (order created / filled / cancelled / reclaimed, referral payouts) newest first, with the unread count.",
      "annotations": {
        "title": "Notifications",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_mark_notifications_read",
      "title": "Mark Notifications Read",
      "description": "Mark one notification (by `id`) or, when `id` is omitted, ALL of the user's notifications as read.",
      "annotations": {
        "title": "Mark Notifications Read",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_get_referral",
      "title": "Referral Program",
      "description": "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.",
      "annotations": {
        "title": "Referral Program",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_get_telegram_notify_setting",
      "title": "Telegram Notification Settings",
      "description": "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).",
      "annotations": {
        "title": "Telegram Notification Settings",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_update_telegram_notify_setting",
      "title": "Update Telegram Notification Settings",
      "description": "Replace the Telegram alert filters.",
      "annotations": {
        "title": "Update Telegram Notification Settings",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_get_agency_bot",
      "title": "Agency Bot",
      "description": "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.",
      "annotations": {
        "title": "Agency Bot",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_list_internal_transactions",
      "title": "Internal Account Transactions",
      "description": "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.",
      "annotations": {
        "title": "Internal Account Transactions",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_get_flash_unstake_request",
      "title": "My Flash Unstake Request",
      "description": "Read the logged-in user's flash-unstake request (selling staked TRX early for an immediate payout): state, payout state, amounts and release progress.",
      "annotations": {
        "title": "My Flash Unstake Request",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "signature-session"
    },
    {
      "name": "tronsave_list_flash_unstake_orders",
      "title": "Flash Unstake Market",
      "description": "Browse the flash-unstake market: `available` (open orders buyers can take), `ongoing` (being paid out) or `completed`.",
      "annotations": {
        "title": "Flash Unstake Market",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_estimate_flash_unstake",
      "title": "Estimate Flash Unstake",
      "description": "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.",
      "annotations": {
        "title": "Estimate Flash Unstake",
        "readOnlyHint": true,
        "idempotentHint": true,
        "openWorldHint": true
      },
      "auth": "public"
    },
    {
      "name": "tronsave_bulk_create_internal_orders",
      "title": "Bulk Buy For Many Receivers",
      "description": "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.",
      "annotations": {
        "title": "Bulk Buy For Many Receivers",
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      },
      "auth": "signature-session"
    }
  ]
}
