Skip to main content
Glama

TEnergy MCP server

Let an AI agent rent TRON energy for you: check prices, estimate a USDT transfer, place an order and watch it land on chain — with a spending cap you set. Works with Claude, Cursor, ChatGPT and any client that speaks the Model Context Protocol.

  • Never touches a wallet key. It cannot sign transactions and refuses to start if one is passed.

  • Testnet by default. Mainnet only when you point it there.

  • Capped. An order above TENERGY_MCP_MAX_ORDER_TRX (default 50 TRX) is refused before buying.

Connect

Claude Desktop, Cursor (mcp.json):

{
  "mcpServers": {
    "tenergy": {
      "command": "npx",
      "args": ["-y", "@tenergy/mcp"],
      "env": { "TENERGY_API_KEY": "ak_test_...", "TENERGY_API_SECRET": "..." }
    }
  }
}

Claude Code:

claude mcp add tenergy -e TENERGY_API_KEY=ak_test_... -e TENERGY_API_SECRET=... -- npx -y @tenergy/mcp

ChatGPT and other remote clients: npx -y @tenergy/mcp --http 3333 behind HTTPS, then add https://<your-host>/mcp as a connector.

No key? It still runs: get_prices and get_address_resources are public.

Related MCP server: HTTPayer MCP

Tools

Tool

Does

Needs a key

get_prices

Energy prices per tier

no

get_address_resources

An address's energy and bandwidth right now

no

estimate_transfer

Energy a USDT transfer between two addresses needs

yes

get_balance, get_deposit_addresses

Your prepaid balance and where to top it up

yes

create_quote

A price held for a short time

yes

create_order

Buys energy for a receiver; requires max_price_sun and client_order_id

yes, spends

get_order, list_orders

Order status, delegation hashes

yes

Resources: tenergy://docs/quickstart, tenergy://llms.txt.

Settings

Variable

Default

Meaning

TENERGY_API_KEY, TENERGY_API_SECRET

unset

Your key pair. Used to sign requests, never shown to the model

TENERGY_API_URL

https://api-nile.tenergy.me/v1

Nile testnet. Mainnet: https://api.tenergy.me/v1 with an ak_live_ key

TENERGY_MCP_MAX_ORDER_TRX

50

The most one order may cost

TENERGY_MCP_READ_ONLY

unset

1 removes create_quote and create_order, even with a spending key

npx -y @tenergy/mcp --help prints this table. Get a key in the dashboard; test TRX for Nile from the faucet.

Docs · TypeScript SDK · support@tenergy.me

MIT licensed. Node 22+.

Available Tools

11 tools
calculate_savingsB

Free. What renting energy saves versus burning TRX for USDT transfers: uses the live energy price from our price table and the chain burn price. Give transfers per day and the share that go to empty addresses.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoTarget TRON network: "mainnet" (production) or "nile" (testnet). Defaults to server default.
share_to_emptyNo0..1, default 0
transfers_per_dayYes

TDQS

B3.4/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 usefully discloses that the calculation is free and depends on a live energy price from 'our price table' plus the chain burn price, which is meaningful behavioral context. It omits permissions, rate limits, and any note on precision or staleness of the price data.

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?

Front-loads the salient fact ('Free.') then states the comparison, and closes with input instructions. Two tight sentences with no filler, though the phrasing of the core purpose is slightly convoluted.

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, so the description should ideally explain what the tool returns (e.g., savings amount, percentage, assumptions). It instead focuses only on inputs and data sources, leaving the return shape unclear for a calculator with no annotation coverage.

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 67%; network and share_to_empty are documented in the schema, while transfers_per_day is undocumented but self-explanatory. The description adds meaning by explaining that share_to_empty refers to transfers going to empty addresses, matching the schema's terse '0..1, default 0'. Baseline 3 is appropriate given partial 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 a specific computation: savings from renting energy versus burning TRX for USDT transfers. The roundabout phrasing ('What renting energy saves versus burning TRX') is a bit indirect but still conveys the verb (calculate savings) and resource (energy vs TRX burn cost). It does not explicitly differentiate from siblings like estimate_contract_call or get_prices.

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 gives input guidance ('Give transfers per day and the share that go to empty addresses'), which implies when the tool is appropriate. However, there is no explicit when-to-use vs when-not, and no mention of alternatives such as estimate_contract_call or get_prices for related queries.

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

estimate_contract_callA

Read-only, free, no API key, nothing signed. Simulates a smart contract call on a public node (triggerconstantcontract) and returns the energy it would use and the TRX it would burn without energy. Give the function selector, e.g. "transfer(address,uint256)", and the ABI-encoded parameter hex.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoTarget TRON network: "mainnet" (production) or "nile" (testnet). Defaults to server default.
parameterYesABI-encoded arguments, hex without 0x
owner_addressYesCaller, base58
contract_addressYesContract, base58
function_selectorYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it discloses that nothing is signed, no key is needed, execution happens on a public node, and what the simulation returns. It omits failure/error behavior and rate-limit or network-default caveats, keeping it from a 5.

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 tight sentences: the safety/cost profile leads, the mechanism and return values follow, and the invocation hint closes. No filler, and the most decision-relevant facts are 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?

No output schema exists, yet the description names the returned quantities (energy and TRX burn), which is the key thing an agent needs. Minor gaps remain around error semantics and network defaults, but it is complete for correct invocation.

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?

Schema coverage is 80% (baseline 3), and the description adds genuine value for the one weak spot: it explains the function-selector format with the example "transfer(address,uint256)" and clarifies the parameter is ABI-encoded hex. owner_address/contract_address/network are left to 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?

States a specific verb+resource (simulate a smart contract call) and names the exact underlying RPC (triggerconstantcontract) plus the concrete outputs (energy used, TRX burned without energy). This is clearly distinguishable from siblings like get_energy_fee_history or get_chain_parameters.

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?

Gives real selecting context — read-only, free, no API key, nothing signed — which tells the agent this is the safe pre-flight check. It does not explicitly name an alternative tool or state when-not to use it, so it stops short of a 5.

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

explain_conceptA

Free, offline. A short, accurate explanation of a TRON resource concept for a user. Concepts: energy, bandwidth, delegation, burn, activation, recovery, rental, routing.

ParametersJSON Schema
NameRequiredDescriptionDefault
conceptYes

TDQS

A3.7/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 does disclose genuinely useful traits — no cost and no network requirement — plus that output is short and explanatory, but it says nothing about return format, determinism, or any limits.

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 compact sentences with the key traits (free, offline) front-loaded. The trailing concept list duplicates the schema enum, so it is mildly redundant rather than wasteful.

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 trivial one-enum-param lookup with no output schema and no annotations, the description covers purpose, cost profile, and valid inputs; only the shape of the returned explanation is left implicit.

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 0%, but the single parameter is a closed enum whose values are self-documenting; the description merely restates that same list without adding syntax, defaults, or fallback behavior. Baseline 3 for a fully enumerated one-param tool.

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?

States a specific verb (explain) and resource (a TRON resource concept) and enumerates the concept domain, so an agent can distinguish it from every sibling, all of which fetch numeric/market data rather than definitions.

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?

"Free, offline" implies when this is preferable to the network-bound sibling tools, but there is no explicit when-to-use statement, no exclusions, and no named alternative for adjacent questions.

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

get_address_resourcesA

Read-only, free, no API key needed. Returns the on-chain energy and bandwidth an address has right now (limits, used, available) and whether it is activated. Call it before buying to see whether the address already has enough energy for its next transfer.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesTRON address, base58 T...
networkNoTarget TRON network: "mainnet" (production) or "nile" (testnet). Defaults to server default.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it declares the operation read-only, free, and requiring no API key, and it discloses the returned state fields. It omits error behavior for unactivated or malformed addresses and any rate-limit or caching notes, which keeps it below a 5.

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 filler. The cost/access profile is front-loaded and the actionable timing advice follows, so an agent gets the key facts immediately.

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 two-parameter read tool with no output schema and no annotations, the description supplies the safety profile and the shape of the return values, which is what an agent needs. Minor gaps remain around behavior for unactivated addresses, but nothing essential is missing.

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 both the address pattern and the network enum are already fully documented in the schema. The description adds no parameter-level detail beyond that, making the baseline 3 correct.

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?

States a specific verb (returns) and resource (on-chain energy and bandwidth for an address) and enumerates the exact sub-fields returned (limits, used, available, activated). This clearly separates it from siblings like estimate_contract_call and calculate_savings, which compute or simulate rather than read current state.

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?

"Call it before buying to see whether the address already has enough energy for its next transfer" gives an explicit when-to-use trigger tied to a decision point. It does not, however, name a specific alternative tool or state when not to use it, so it stops short of full routing guidance.

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

get_chain_parametersA

Read-only, free, no API key. The TRON fee parameters now, read from a public node: energy price (getEnergyFee, SUN per unit), bandwidth price (getTransactionFee), free bandwidth per day, unstake delay in days.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoTarget TRON network: "mainnet" (production) or "nile" (testnet). Defaults to server default.

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does well: it declares the tool read-only, free, keyless, and names the data source (a public node) plus the underlying node methods (getEnergyFee, getTransactionFee). It stops short of noting rate limits, failure modes, or freshness guarantees beyond "now".

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?

Front-loaded with the most decision-relevant qualifiers (read-only, free, no key) before the payload list. It is a single dense sentence, slightly overloaded by the parenthetical node method names, but every clause carries information.

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?

There is no output schema, so enumerating the returned fields (energy price, bandwidth price, free bandwidth, unstake delay) is genuinely necessary and is done here. Combined with the access and source disclosure, an agent has what it needs; only versioning/rate-limit caveats are missing.

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?

Only one optional parameter (network, with an enum) and schema description coverage is 100%, so the schema already fully documents it. The description adds nothing about mainnet vs nile behavior, making this a baseline 3.

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 gives a specific verb and resource (read the TRON fee parameters) and enumerates the exact contents: energy price, bandwidth price, free bandwidth per day, unstake delay. The word "now" implicitly separates it from get_energy_fee_history, but no sibling is named explicitly, so the differentiation is left to inference.

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 states the access conditions (read-only, free, no API key) and that values are current, which implies usage for a live fee snapshot rather than historical analysis. However, it never says when to pick this over get_energy_fee_history or get_prices, so routing is only implied.

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

get_energy_fee_historyA

Free, offline. Every approved change of the TRON energy price (getEnergyFee) since 2018 with its committee proposal and date, read from the chain on 2026-10-04.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it does disclose meaningful traits: it is free, requires no network call ('offline'), returns approved changes only, and is a snapshot read on a specific date (2026-10-04) rather than live data. It stops short of stating limits or return structure, so not a 5.

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, front-loaded with the two most load-bearing facts (free, offline) before the data scope; no 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?

For a zero-param, no-annotation, no-output-schema read tool, the description covers provenance, freshness, coverage window, and returned fields. Only the exact response shape/pagination is unspecified, which is minor here.

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 tool takes zero parameters, so the baseline is 4; the description correctly adds no phantom parameter guidance and instead scopes the data by time range and approval 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?

Names a specific resource (TRON energy price / getEnergyFee) and the exact operation (every approved change since 2018, with committee proposal and date), which separates it from the market/price siblings like get_price_history and get_prices.

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?

Usage is implied rather than stated: the 'since 2018' and 'every approved change' framing tells the agent this is the historical/audit view of energy fees, but it never says when to pick it over get_chain_parameters or get_price_history, nor any preconditions.

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

get_marketA

Read-only, free, no API key. The live energy market: every venue TEnergy reads with its 1-hour and 1-day price per unit (SUN), when it was read, and our own price. Use it to compare venues or to tell a user where energy is cheapest right now.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoTarget TRON network: "mainnet" (production) or "nile" (testnet). Defaults to server default.

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden and does reasonably well: it declares read-only, free, no API key, and live data with read timestamps. It does not describe rate limits, freshness guarantees, or fallback behavior when a venue is unreachable.

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. The read-only/free/no-key qualifiers and the live-data scope are front-loaded, and the usage sentence follows immediately.

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 one-parameter, read-only tool with full schema coverage and no output schema, the description covers what the agent needs to decide and call it. It could be richer about how the returned venue list is ordered or how fresh the snapshot is.

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% and the single enum parameter (network: mainnet/nile) is fully documented in the schema, so the baseline is 3. The description adds no network-specific meaning or default-resolution detail beyond what the schema already states.

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 a specific resource and scope: the live energy market across every venue TEnergy reads, with 1-hour/1-day price per unit (SUN) and read timestamps. It is clearly a market-snapshot read, though it never explicitly distinguishes itself from close siblings like get_prices or get_market_summary.

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 gives explicit positive guidance: use it to compare venues or to tell a user where energy is cheapest right now. No exclusions or named alternatives are provided, so the agent must infer when get_prices or get_market_summary is the better choice.

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

get_market_summaryA

Read-only, free, no API key. One month of the energy market: for each venue min / median / max price, number of readings and share of time it answered, plus the median price by hour of day (UTC). Month as YYYY-MM.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthYesYYYY-MM, the current month or earlier.
networkNoTarget TRON network: "mainnet" (production) or "nile" (testnet). Defaults to server default.

TDQS

A3.7/5.0
Behavior4/5

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

No annotations are supplied, so the description carries the full burden, and it does real work: read-only, free, no API key (auth/cost profile), month must be current or earlier (valid-input constraint), and 'share of time it answered' quietly discloses that data can be missing. It does not cover rate limits, pagination, or response size, which keeps it short of a 5.

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?

Front-loads the access/cost attributes in a three-word clause, then the payload, then the format hint — dense prose with no filler. The trailing 'Month as YYYY-MM' duplicates both the opening scope sentence and the schema pattern, which is the only wasted clause.

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?

With no output schema and no annotations, the description must define the return shape, and it does so in useful detail (per-venue statistics plus hourly medians). Remaining gaps are the unmentioned network parameter and the absence of any note on volume, pagination, or timeouts.

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 both parameters are already documented, including the YYYY-MM pattern and the network enum. The description's 'Month as YYYY-MM' merely restates the schema and it never mentions the network parameter, so it adds no semantic value beyond the baseline.

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 a specific verb/resource (monthly energy-market summary) and enumerates exactly what is produced: per-venue min/median/max price, reading counts, uptime share, and hourly median price in UTC. It distinguishes itself functionally from raw-price siblings like get_prices/get_price_history by being an aggregate, though it never names an alternative to route against.

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?

Usage is only implied: the described output (per-venue and by-hour aggregates over one month) signals when this tool is the right choice versus raw price endpoints, and the schema pins the month to the current month or earlier. There is no explicit when/when-not and no sibling is named, so an agent must infer the routing itself.

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

get_price_historyA

Read-only, free, no API key. Price history of one market venue (slug from get_market; "tenergy" for ours): 5-minute points of the 1-hour and 1-day price over the last N hours.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesVenue slug from get_market, e.g. "netts", or "tenergy".
hoursNoHow far back, hours (default 24).
networkNoTarget TRON network: "mainnet" (production) or "nile" (testnet). Defaults to server default.

TDQS

A4/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 and does disclose important traits: read-only, free, no API key required. What is missing is failure behavior (invalid slug), rate limits, and how the N-hour window interacts with the 720-hour cap that only appears in the schema.

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 segments with zero filler; the read-only/free/no-key facts and the slug provenance are front-loaded, and the return shape follows immediately. 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?

There is no output schema, so the description correctly spends its words describing the return shape (5-minute points of two price series over N hours), which is the key gap to fill. It leaves the network default ('server default') and the relationship to the 720-hour bound unexplained, but nothing blocking for a 3-parameter read 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 description coverage is 100%, so the schema already documents slug, hours, and network. The description adds 'over the last N hours' which ties semantically to the hours parameter and repeats the slug source, but contributes no format or default details beyond the schema. Baseline 3 applies.

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 a specific verb+resource ('Price history of one market venue') and pins the scope to a single venue with stated granularity ('5-minute points of the 1-hour and 1-day price'). It distinguishes itself from get_prices/get_market_summary by being historical and per-venue, but it never names a sibling alternative, so the differentiation is inferred rather than explicit.

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?

Gives a clear prerequisite path: fetch the slug from get_market, with the concrete 'tenergy' value for the operator's own venue. It also signals the cost/auth posture ('free, no API key'), which tells the agent it is always safe to call. It stops short of stating when NOT to use it versus get_prices.

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

get_pricesA

Read-only, free, no API key needed. Returns the current rental price table: for each resource (energy, bandwidth, activation) and tier (5m, 1h, 1d) the price in SUN per unit, min/max amount and available (false = listed but not buyable now; do not offer it), plus when the table stops being valid. Call it before telling a user a price; these prices are indicative, a binding price comes from create_quote.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNoTarget TRON network: "mainnet" (production) or "nile" (testnet). Defaults to server default.
resourceNoRestrict to one resource type.

TDQS

A4.4/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so: read-only, free, no API key, and the critical caveat that `available: false` means listed-but-not-buyable and must not be offered. It also discloses that returned prices are indicative only, with binding pricing coming from create_quote, and that the table has an expiry.

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?

One dense paragraph, but front-loaded with the highest-value facts (read-only, free, no key) and each clause earns its place by describing return fields or usage constraints. It is long for a two-parameter read tool, though not padded.

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

Completeness5/5

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

There is no output schema and no annotations, so the description must supply the return shape and safety profile — and it does, covering the price dimensions, the available flag semantics, the validity window, and the indicative-vs-binding distinction. An agent has everything needed to call and interpret this tool 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 coverage is 100% and both parameters carry enum values with descriptions (network default, resource restriction), so the schema does the heavy lifting. The description explains what filtering by resource yields and clarifies tier semantics, but adds no parameter-specific syntax or default behavior beyond what the schema already states.

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 a precise verb and resource — 'Returns the current rental price table' — and enumerates exactly what the table contains (resource x tier, SUN per unit, min/max, available flag, validity window). That scope implicitly separates it from historical siblings like get_price_history and get_market, but no sibling is named explicitly, so it stops short of 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 Guidelines5/5

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

It gives an explicit trigger ('Call it before telling a user a price') and names the alternative path for the stronger need ('a binding price comes from create_quote'). When-to-use and the escalation route are both stated, not inferred.

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

suggest_order_sizeA

Free, offline. How much energy to order for N USDT transfers, given how many go to addresses that already hold USDT and how many to addresses with a zero USDT balance (measured 2026-09-30: 64,285 vs 130,285 energy per transfer). Use get_address_resources first to know which case a recipient is.

ParametersJSON Schema
NameRequiredDescriptionDefault
to_emptyYesTransfers to addresses with zero USDT
to_holdersYesTransfers to addresses that hold USDT

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and 'Free, offline' is a meaningful disclosure that this is a local, costless, non-networked computation rather than a live chain query. It also exposes data provenance via the measurement date (2026-09-30) and the per-transfer constants, which hints at staleness risk, but never states outright that it is read-only and side-effect free.

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 sentences with no filler, and the punchy 'Free, offline.' lead is front-loaded before the purpose and the prerequisite. The parenthetical figures are dense but earn their place by quantifying the parameter distinction.

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?

The computation and its inputs are fully specified, but there is no output schema and the description never says what is returned — energy units, a TRX cost equivalent, or an object with both. For a sizing tool whose entire value is the returned number, that return-shape gap is the remaining hole.

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?

Schema coverage is 100%, so the baseline is 3, but the description adds real meaning the schema lacks: the distinction between recipients that already hold USDT and those with a zero balance is tied to concrete energy costs (64,285 vs 130,285 per transfer), explaining why the two counts are separate parameters.

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 names the exact quantity being produced ('How much energy to order for N USDT transfers') and enumerates the two input dimensions that drive it, so the agent knows precisely what computation this performs. It stops short of explicitly distinguishing itself from the closest sibling, estimate_contract_call, which could also be read as an energy estimator.

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 gives a concrete prerequisite and ordering rule: 'Use get_address_resources first to know which case a recipient is,' which tells the agent the tool must be fed with classified recipients rather than raw addresses. There is no explicit when-not-to-use or comparison against alternatives like estimate_contract_call.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 11 tool updatesv0.1.0-beta.0
    • First observedcalculate_savings
    • First observedestimate_contract_call
    • First observedexplain_concept
    • First observedget_address_resources
    • First observedget_chain_parameters
    • First observedget_energy_fee_history
    • First observedget_market
    • First observedget_market_summary
    • First observedget_price_history
    • First observedget_prices
    • First observedsuggest_order_size

TDQS

A3.9/5.0

Scored across 11 tools

Disambiguation4/5

Tools mostly have distinct purposes, but get_prices and get_market both expose current energy prices, and get_price_history and get_market_summary both report market data. The descriptions clarify the differences, so confusion is limited but possible.

Naming Consistency5/5

All tool names use snake_case with clear verb_noun patterns such as get_prices, estimate_contract_call, suggest_order_size, calculate_savings, and explain_concept. The convention is consistent and predictable throughout.

Tool Count5/5

11 tools is well within the typical 3-15 range and fits the domain of TRON energy data, market info, and estimation. Each tool has a distinct function, though a few read-only queries could theoretically be consolidated.

Completeness3/5

The surface covers price data, address resources, chain parameters, estimation, savings, and concepts. However, get_prices explicitly references create_quote for binding prices, but no create_quote or order-placement tool exists, leaving a notable gap for completing a rental transaction.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers