mcp-server-usdd
OfficialThe mcp-server-usdd is an MCP server for the USDD stablecoin protocol, providing comprehensive tools across TRON, Ethereum, and BNB Smart Chain (including testnets).
Wallet & Network Management
Set/get default network per chain family (TRON, ETH, BSC) including testnets
Switch between browser (TronLink) and agent (encrypted keys) signing modes
List, import, and activate wallets; retrieve current wallet address
Vault / CDP Operations
Open vaults, deposit collateral, mint/repay USDD, withdraw collateral, close vaults
List vault IDs, get vault summaries, analyze vault risk with warnings
Inspect oracle status, liquidation ratios, and penalties per collateral type
PSM (Peg Stability Module)
Inspect PSM fees, enablement state, and swap metrics (liquidity, routes)
Swap stablecoins (e.g., USDT) into USDD or vice versa
USDD Savings (sUSDD)
Inspect savings metrics (total assets, savings rate, shares)
Deposit/withdraw USDD into/from sUSDD
Token Operations
Check native (TRX/ETH/BNB) and ERC20/TRC20 token balances
Check and manage token allowances; approve spenders
Execute secure two-step token transfers (preview then confirm)
Protocol Analytics
Aggregated USDD protocol metrics and chain-level metrics (TRON, ETH, BSC)
Latest collateral prices, protocol addresses, and supported collateral types (ilks)
Treasury & Smart Allocator
USDD treasury report summaries and JST buyback/burn statistics
Smart Allocator overview (debt, invested amount, earnings, APY)
Asset breakdowns by protocol/network/asset, proof-of-reserve details, debt overview by network vault
Provides tools for interacting with the USDD protocol on Ethereum, including vault lifecycle (open, deposit, mint, repay, withdraw, close), PSM swaps, USDD Savings, token transfers, and protocol analytics.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-server-usddCheck my USDD vault on Ethereum"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-server-usdd
An MCP server for the USDD protocol across TRON, Ethereum, and BNB Smart Chain (plus internal testnets). Covers Vault/CDP, PSM, USDD Savings, token transfers, and protocol analytics.
Scope
Current implementation covers:
Vault lifecycle: open, deposit collateral, mint USDD, repay, withdraw, close
PSM lifecycle: inspect fees and routes, swap into USDD, swap out of USDD
Savings lifecycle: inspect USDD Savings, deposit, withdraw
Risk and monitoring for vaults: summaries, oracle status, collateral buffers
Token preflight checks: balances, allowances, approvals
Token transfers: two-step preview → confirm flow for TRX, TRC20, and EVM native/ERC20
Protocol analytics: chain metrics, collateral prices, PSM route metrics, treasury, Smart Allocator, proof of reserve
Related MCP server: SpherePay MCP Server
Supported Networks
Network | Key | Notes |
TRON |
| TRON-native vault and PSM support |
Ethereum |
| Vault, PSM, USDD Savings |
BNB Smart Chain |
| Mirrors ETH deployment structure |
TRON Nile |
| Internal testnet deployment |
Ethereum Sepolia |
| Internal testnet deployment |
BSC Testnet |
| Internal testnet deployment |
Prerequisites
Node.js 20+
Optional but recommended:
TRONGRID_API_KEYfor more reliable TRON accessdedicated
TRON_FULL_NODEandTRON_NILE_FULL_NODEdedicated
ETH_RPC_URLdedicated
BSC_RPC_URLdedicated
ETH_SEPOLIA_RPC_URLandBSC_TESTNET_RPC_URL
Developer
Installation
git clone https://github.com/decentralized-usd/mcp-server-usdd
cd mcp-server-usdd
npm installUsage
npm start
npm run start:http
npm run devConfiguration
Wallet Modes
The server supports two signing modes:
Browser mode (recommended): connect a TronLink-compatible browser wallet and sign in browser.
Agent mode: use encrypted local private keys stored in
~/.agent-wallet/.
For TRON writes, each Claude session shows a one-time signing-mode confirmation reminder before the first write.
You can also manage wallets via CLI or MCP tools:
CLI (agent-wallet)
The server uses @bankofai/agent-wallet for encrypted local wallet storage. On first startup it will automatically initialize ~/.agent-wallet/ and create a default wallet if none exists.
# Import an existing private key or mnemonic
npx agent-wallet add
# Generate a new wallet
npx agent-wallet generate
# List all wallets
npx agent-wallet list
# Switch active wallet
npx agent-wallet activate <wallet-id>MCP Tools (runtime)
Tool | Description |
| Shows current address |
| Connect TronLink / browser wallet for signing |
| Switch between browser and agent signing |
| Show current signing mode and addresses |
| List wallets with per-family active status ( |
| Switch active wallet by ID, optionally scoped by |
Client Configuration
Claude Desktop
Add the following config to:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"mcp-server-usdd": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@usdd/mcp-server-usdd"],
"env": {
"TRONGRID_API_KEY": "your_trongrid_api_key"
}
}
}
}Claude Code
Create .mcp.json in the project root directory:
{
"mcpServers": {
"mcp-server-usdd": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@usdd/mcp-server-usdd"],
"env": {
"TRONGRID_API_KEY": "your_trongrid_api_key"
}
}
}
}Cursor
Add to .cursor/mcp.json:
{
"mcpServers": {
"mcp-server-usdd": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@usdd/mcp-server-usdd"],
"env": {
"TRONGRID_API_KEY": "your_trongrid_api_key"
}
}
}
}For live RPC reads, the server also accepts TRON_FULL_NODE, TRON_NILE_FULL_NODE, ETH_RPC_URL, ETH_SEPOLIA_RPC_URL, BSC_RPC_URL, and BSC_TESTNET_RPC_URL. Protocol address lookup is Chainlog-backed: get_protocol_addresses uses a local Chainlog cache when fresh, refreshes from the on-chain Chainlog when needed, and falls back to a complete cache if live RPC is rate-limited. Chainlog root defaults are included for all supported networks and can be overridden with TRON_CHAINLOG_ADDRESS, TRON_NILE_CHAINLOG_ADDRESS, ETH_CHAINLOG_ADDRESS, ETH_SEPOLIA_CHAINLOG_ADDRESS, BSC_CHAINLOG_ADDRESS, and BSC_TESTNET_CHAINLOG_ADDRESS.
Tools
Wallet & Network
Tool | Description | Write? |
| List supported networks | No |
| Set default network for one family ( | Yes |
| Get per-family default networks | No |
| Get active wallet signing mode ( | No |
| Switch active signing mode | Yes |
| Connect a browser wallet and activate browser mode | Yes |
| Show current address for the target network | No |
| List wallets and per-family active pointers ( | No |
| Switch active wallet by ID (supports optional | Yes |
| Import private key/mnemonic into encrypted local store | Yes |
Common
Tool | Description | Write? |
| Show Chainlog-backed protocol addresses, configured ilks, and PSM markets | No |
| Resolve one Chainlog key such as | No |
| Show live protocol ceilings and debt metrics alongside configured deployments | No |
| List configured collateral types and PSM joins | No |
| Read native balance ( | No |
| Read ERC20/TRC20 balance | No |
| Read ERC20/TRC20 allowance and compare against an optional amount | No |
| Approve token allowance | Yes |
Vault
Tool | Description | Write? |
| Inspect oracle and liquidation configuration for an ilk | No |
| List vault IDs for a wallet | No |
| Show collateral, debt, and liquidation metrics | No |
| Summarize risk with warnings | No |
| Open a new vault via DSProxy | Yes |
| Open-and-mint or add collateral and mint | Yes |
| Draw more USDD from a vault | Yes |
| Repay vault debt | Yes |
| Withdraw collateral from a vault | Yes |
| Wipe all debt and free collateral | Yes |
PSM
Tool | Description | Write? |
| Inspect PSM fees and enablement | No |
| Get PSM swap metrics by route (fromToken/toToken/available/fee) | No |
| Swap gem into USDD | Yes |
| Swap USDD into gem | Yes |
USDD Savings
Tool | Description | Write? |
| Show USDD Savings metrics | No |
| Deposit USDD into | Yes |
| Withdraw USDD from | Yes |
Token Transfers
Two-step preview → confirm flow for safe asset transfers. The AI must present the transfer details to the user and wait for explicit confirmation before executing.
Tool | Description | Write? |
| Preview a native or token transfer; returns a | No |
| Execute a previously prepared transfer after user has explicitly confirmed | Yes |
Supports:
TRX (TRON native)
TRC20 tokens (USDD, USDT, WBTC, etc.)
ETH / BNB (EVM native)
ERC20 tokens on Ethereum and BSC
Protocol Metrics
Read-only analytics from mainnet data feeds.
Tool | Description | Write? |
| Aggregated USDD protocol metrics (mainnet) | No |
| Chain-level metrics for | No |
| Latest collateral highest-price data from website API | No |
| PSM route metrics: fromToken, toToken, available liquidity, fees | No |
Treasury
Tool | Description | Write? |
| Latest USDD treasury report summary (mainnet) | No |
| JST buyback and burn statistics from treasury data | No |
Smart Allocator
Tool | Description | Write? |
| Smart Allocator overview: debt, invested amount, earnings, APY | No |
| Invested-asset breakdown by | No |
| Proof-of-reserve style platform investment details | No |
| Debt overview grouped by network vault | No |
Prompts
Prompt | Description |
| Open a vault and verify post-trade risk |
| Run full vault lifecycle flows |
| Use PSM with fee checks |
| Use USDD Savings with inspection and verification |
| Explain risk for a vault |
| Repay and close with verification |
Architecture
mcp-server-usdd/
├── src/
│ ├── core/
│ │ ├── chains.ts
│ │ ├── abis.ts
│ │ ├── tools.ts
│ │ ├── prompts.ts
│ │ ├── resources.ts
│ │ ├── browser-signer.ts
│ │ └── services/
│ │ ├── clients.ts
│ │ ├── contracts.ts
│ │ ├── protocol.ts
│ │ ├── vault.ts
│ │ ├── psm.ts
│ │ ├── savings.ts
│ │ ├── tokens.ts
│ │ ├── transfer.ts ← token/native transfer (prepare + confirm)
│ │ ├── treasury.ts ← treasury report and JST buyback stats
│ │ ├── smart-allocator.ts ← Smart Allocator analytics
│ │ ├── website-metrics.ts ← protocol metrics, chain metrics, collateral prices
│ │ ├── wallet.ts
│ │ └── utils.ts
│ ├── index.ts
│ └── server/
│ ├── server.ts
│ └── http-server.ts
└── build/Notes
Vault writes assume the configured wallet can sign on the target chain.
Chain-dependent tools require an explicit
networkargument. If the user has not named a chain, ask which network to use before calling any chain-dependent tool; do not infer TRON or useset_networkdefaults as an implicit choice.ERC20/TRC20 flows often require
approve_tokenfirst.Browser mode now supports real transaction signing on TRON networks (
tron,tron_nile) viatronlink-signer(TronLink/TIP-6963 flow). EVM networks currently continue to use agent-wallet signing.deposit_and_mintis idempotent with respect to vault creation: it checks for an existing vault for the given ilk before opening a new one. If no vault exists, it submits two separate transactions —openthenlockGemAndDraw— to avoid combined-tx reliability issues on TRON.Token transfers use a two-step flow:
prepare_token_transferreturns a preview andconfirmationId;confirm_token_transferexecutes only after the user explicitly approves. Pending confirmations expire after 10 minutes.Protocol analytics tools (
get_protocol_metrics,get_chain_metrics,get_collateral_prices, etc.) read from mainnet data feeds only — they do not reflect testnet state.TRON, ETH, BSC, and internal testnet deployments have similar protocol structure but different addresses and token decimals.
This version intentionally excludes migration and auction actions so we can iterate the Vault + PSM + USDD Savings core first.
Security Considerations
Private keys are encrypted and stored locally in
~/.agent-wallet/.Private keys are never returned by MCP tools.
The optional
AGENT_WALLET_PASSWORDis intended for automation and CI environments.Write operations should be treated as state-changing actions and reviewed carefully before execution.
Vault prompts include risk-review steps so borrowing decisions are checked against current collateral health.
Test on a safe environment or with small amounts before using mainnet-sized positions.
Be cautious with large or unlimited token approvals when using
approve_token.Never share local MCP client configuration files if they contain private keys or sensitive RPC credentials.
Example Conversations
Vault
"What vault types are available on Ethereum?" → AI calls
get_supported_ilkswithnetwork=ethand summarizes the supported vault collateral types."Open a TRX-A/USDT-A/WBTC-A vault on Tron and mint 500 USDD" → AI uses
open_usdd_vault: checks wallet, reviews oracle status, executesdeposit_and_mint(auto-opens a new vault if none exists for that ilk), then verifies the new vault risk."Am I close to liquidation on vault 123?" → AI calls
get_vault_summaryandanalyze_vault_risk, then explains the health factor and collateral buffer."Repay part of my vault debt on BSC" → AI uses
manage_vault_lifecyclewithaction=repay: checks USDD balance and allowance, callsrepay_usdd, then verifies the updated vault state."Close my vault and withdraw the collateral" → AI uses
repay_and_close_vault: checks debt, balance, allowance, callsclose_vault, then confirms the vault state after repayment.
PSM
"What are the current PSM fees on Ethereum?" → AI calls
get_psm_statuswithnetwork=ethand reports fee-in, fee-out, and whether swaps are enabled."Show me available PSM liquidity for USDT on TRON" → AI calls
get_psm_metricswith the PSM-USDT market and reports available amounts and fees for both directions."Swap 10,000 USDT into USDD through the PSM" → AI uses
use_psm: checks PSM status, then callspsm_swap_to_usddand reports the transaction result."Swap 5,000 USDD back to USDC on BSC" → AI calls
get_psm_status, then executespsm_swap_from_usddand reminds the user to re-check balances.
Token & Balances
"What is my USDD balance on Tron?" → AI calls
get_protocol_addressesto identify the USDD token address from Chainlog/cache, then callsget_token_balance."Do I have enough allowance for the USDT PSM?" → AI calls
check_allowancewith the token and PSM spender, then suggestsapprove_tokenonly if needed."Send 100 USDD to TXxxx... on Tron" → AI calls
prepare_token_transferand displays the transfer preview (from, to, amount, balance). After the user confirms, AI callsconfirm_token_transferto execute."Transfer 0.5 ETH to 0xabc..." → AI calls
prepare_token_transferfor native ETH, presents the details, then waits for user approval before executing.
USDD Savings
"What is the current USDD Savings status on Ethereum?" → AI calls
get_savings_statusand summarizes total assets, savings rate, and wallet shares."Deposit 2,000 USDD into sUSDD" → AI uses
use_savings: checks savings status, callsdeposit_savings, then re-checks savings metrics."Withdraw 500 USDD from sUSDD on BSC" → AI calls
get_savings_status, executeswithdraw_savings, and confirms the updated share balance.
Protocol Analytics
"What are the overall USDD protocol metrics?" → AI calls
get_protocol_metricsand reports total collateral, debt ceiling, and utilization."Show me TRON chain metrics" → AI calls
get_chain_metricswithchain=tronand summarizes collateral breakdown and USDD supply on TRON."What are the latest collateral prices?" → AI calls
get_collateral_pricesand lists each collateral type with its current highest price.
Treasury & Smart Allocator
"Show me the USDD treasury summary" → AI calls
get_treasury_summaryand reports reserve breakdown, collateral ratio, and recent changes."How much JST has been bought back and burned?" → AI calls
get_jst_buyback_statsand summarizes cumulative JST buyback volume and burn totals."What is the Smart Allocator overview?" → AI calls
get_smart_allocator_overviewand reports total debt allocated, current invested amount, accumulated earnings, and APY."Break down Smart Allocator investments by protocol" → AI calls
get_assets_breakdownwithdimension=protocoland lists each DeFi protocol with its allocated amount."Show me the Smart Allocator proof of reserve" → AI calls
get_proof_of_reserveand details each platform investment with amounts and verification status."What does the Smart Allocator debt look like by network?" → AI calls
get_debt_overviewand summarizes debt positions grouped by TRON/ETH/BSC vaults.
License
MIT License Copyright (c) 2026 USDD
Available Tools
44 toolsanalyze_vault_riskB
Get risk analysis for one vault with warnings.
| Name | Required | Description | Default |
|---|---|---|---|
| cdpId | Yes | Vault/CDP id | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It only states 'Get risk analysis with warnings' without indicating side effects, authentication needs, rate limits, or what the output entails. This is insufficient for an agent to understand the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no wasted words. It is efficient, but could benefit from additional structure (e.g., breaking into use case and behavior). Still, it is appropriately sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and only a one-sentence description, the tool fails to provide enough context for an agent to understand what 'risk analysis' entails, what 'warnings' mean, or how the network parameter affects results. The description is too minimal for the complexity implied by the tool name.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description does not add new meaning to the parameters beyond what the schema already provides (cdpId and network are well-documented). It mentions 'one vault', which reinforces the role of cdpId, but adds no extra semantic depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to get risk analysis for one vault, with an additional qualifier 'with warnings'. This is a specific verb+resource combination that distinguishes it from sibling tools like get_vault_summary or get_user_vaults, which serve different purposes (summary vs. list).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like get_vault_summary, nor does it mention any prerequisites or caveats. There is no explicit when/when-not information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
approve_tokenA
Approve an ERC20/TRC20 token spender. Use before ERC20 collateral or PSM writes when needed.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token contract address | |
| spender | Yes | Spender contract or proxy address | |
| amount | Yes | Human-readable amount or 'max' | |
| decimals | No | Optional token decimals override | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description must cover behavioral traits. It only says 'Approve' without detailing that this is an on-chain write, requires gas, or what happens if already approved. Minimal disclosure for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Very concise: two sentences, no filler, front-loaded with the action. Could be improved by separating purpose and usage, but efficient for its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
As a write tool with 5 parameters and no output schema or annotations, the description lacks completeness. It does not explain return value, transaction details, or prerequisites beyond usage context, leaving gaps for the agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for each parameter. The tool description does not add significant meaning beyond what the schema already provides, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states verb 'Approve' and resource 'token spender', specifies token standards (ERC20/TRC20), and provides usage context that distinguishes from siblings like check_allowance or prepare_token_transfer.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use before ERC20 collateral or PSM writes when needed', giving clear context for when to use. Lacks explicit 'when not to use' or alternatives, but the context is helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_allowanceA
Check ERC20/TRC20 allowance for a spender, optionally against a required amount.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token contract address | |
| spender | Yes | Spender contract or proxy address | |
| owner | No | Optional owner address; defaults to configured wallet | |
| amount | No | Optional human-readable amount to compare against | |
| decimals | No | Optional token decimals override | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. The description indicates a read operation without side effects, but does not disclose the default network (tron) or return format. For a simple read, it is adequate but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence that efficiently communicates the tool's purpose and optional feature. No redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complete schema and no output schema, the description provides the essential purpose and optional flag. It could mention the default network, but overall it is sufficiently complete for a simple read tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers all 6 parameters with descriptions (100% coverage). The description adds context that the 'amount' parameter is for optional comparison, which adds value beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the verb 'check' and resource 'allowance for a spender', and adds the optional comparison against a required amount. It differentiates from siblings like approve_token (write) and get_token_balance (balance).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a read operation but does not explicitly state when to use this tool versus alternatives. No guidance on prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
close_vaultC
Repay all debt and free collateral using wipeAllAndFree* proxy actions.
| Name | Required | Description | Default |
|---|---|---|---|
| cdpId | Yes | ||
| ilk | Yes | ||
| amountToFree | Yes | ||
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, description should disclose behavioral traits. It mentions using 'wipeAllAndFree* proxy actions' but does not state that this is a write operation, requires no prior approvals, or that the vault is closed as a result.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise and front-loaded with the core action. However, it omits parameter details that could be included without verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and limited description, the tool definition lacks completeness. It does not explain return values, prerequisites, or side effects beyond the basic action.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 25% (only 'network' described). The description adds no explanation for 'cdpId', 'ilk', or 'amountToFree'. Users must infer their meaning from context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it repays all debt and frees collateral, which matches the name 'close_vault'. It distinguishes from sibling tools like 'repay_usdd' and 'withdraw_collateral' by combining both actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'repay_usdd' or 'withdraw_collateral'. The description does not specify prerequisites or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
confirm_token_transferA
Execute a previously prepared transfer. IMPORTANT: MUST ONLY be called after the human user has explicitly reviewed the prepare_token_transfer output and verbally confirmed they want to proceed (e.g. 'yes', 'confirm', 'go ahead'). Never call this automatically right after prepare_token_transfer — always wait for the user's explicit approval first.
| Name | Required | Description | Default |
|---|---|---|---|
| confirmationId | Yes | ID returned by prepare_token_transfer | |
| confirm | Yes | Must be true to execute. Pass false to cancel. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses the critical safety requirement and the effect of the confirm parameter. However, it does not mention if the transfer is irreversible or any gas costs, which would further help an agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with essential warning upfront. No wasted words; effectively structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 2-parameter tool with no output schema, the description provides all necessary context: purpose, prerequisite, and safety guideline.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers both parameters with descriptions, so baseline is 3. The description adds important usage context but no additional parametric details beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it executes a previously prepared transfer, distinguishing it from the preparation step. The action is explicit and the resource is identified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states it must only be called after user verbal confirmation and warns against automatic calling after prepare_token_transfer. Provides clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
connect_browser_walletB
Connect a browser wallet (TronLink-compatible) and switch to browser mode.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Target network. Default: tron | |
| address | No | Optional browser wallet address override |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits. It mentions 'switch to browser mode' but does not explain side effects (e.g., disconnects previous wallet, requires user interaction, changes global state). This is insufficient for a connection tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, 13 words, front-loaded with essential action. It is very concise, though it may sacrifice necessary detail. No waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and two optional parameters, the description is too minimal. It does not explain what 'browser mode' means, what the result is, or how the wallet address is used afterward. An agent may lack confidence in using it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already provides clear descriptions for both parameters (network enum with default, optional address override). The description adds no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Connect'), the resource ('browser wallet'), and the additional context ('TronLink-compatible, switch to browser mode'). This distinguishes it from sibling tools like import_wallet or set_active_wallet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no information on when to use this tool versus alternatives, such as import_wallet or set_active_wallet. It lacks prerequisites or conditions like 'use this when a TronLink extension is installed' or 'not needed if already in browser mode'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deposit_and_mintA
Deposit collateral and mint USDD. If cdpId is omitted, reuses an existing vault for the ilk if one exists; otherwise opens a new vault and funds it in one transaction.
| Name | Required | Description | Default |
|---|---|---|---|
| ilk | Yes | ||
| collateralAmount | Yes | ||
| drawAmount | Yes | ||
| cdpId | No | ||
| transferFrom | No | For ERC20 collaterals, whether proxy action should pull from wallet. Default: true | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It explains vault reuse logic and atomicity, but lacks details on error conditions, approvals, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences, front-loaded with action, no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description covers core logic but omits return value and prerequisites. Adequate but not comprehensive for a multi-step transaction tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only 33% schema coverage; description adds meaning to cdpId but other parameters like ilk, collateralAmount, drawAmount are not explained. Partially compensates for low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it deposits collateral and mints USDD, with conditional behavior on cdpId. Distinguishes from siblings like mint_usdd or open_vault.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies use when combining deposit and mint, but does not explicitly state when not to use or provide alternatives. Context is clear but lacks exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
deposit_savingsC
Deposit USDD into sUSDD where supported.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavioral traits. It only states the action without mentioning if it's a write operation, if approvals are needed, transaction costs, reversibility, or rate limits. The agent is left guessing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, but it is too minimal. It lacks important details, making it under-informative rather than appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of a deposit/transaction tool with 2 parameters, no output schema, and no annotations, the description is incomplete. It does not explain what 'sUSDD' is, the deposit process, expected outcomes, or potential risks.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% (only 'network' has a description). The tool description adds no meaning to 'amount' (just a string) beyond the schema. It does not specify format, limits, or semantics of the network parameter beyond what schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Deposit), the resource (USDD into sUSDD), and includes a scope qualifier ('where supported'). This distinguishes it from sibling tools like 'withdraw_savings' and 'deposit_and_mint'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'mint_usdd', 'psm_swap_to_usdd', or 'deposit_and_mint'. The description lacks context on prerequisites, exclusions, or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_assets_breakdownA
Get Smart Allocator invested-asset breakdown by protocol, network, or asset.
| Name | Required | Description | Default |
|---|---|---|---|
| dimension | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden. 'Get' implies a read-only operation, which is appropriate. However, it does not disclose potential behavioral traits like authentication needs, rate limits, or data volume. For a simple query tool, this is minimal but adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence of 11 words, no wasted text. The verb 'Get' is front-loaded, immediately conveying the action. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one required parameter with an enum, no output schema, and is a simple data retrieval, the description is complete. It answers what the tool does, what dimensions are available, and implies the output is a breakdown.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description explicitly explains the single parameter 'dimension' by listing the enum values (protocol, network, asset). This adds full meaning beyond the schema, clarifying exactly what dimension breakdowns are available.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'Smart Allocator invested-asset breakdown', and specifies dimensions (protocol, network, asset). It distinguishes from sibling tools like get_protocol_overview or get_smart_allocator_overview by focusing on the breakdown by dimension.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. The description does not mention prerequisites, when-not-to-use, or context such as requiring the Smart Allocator to be active. Siblings are listed but no differentiation provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_chain_metricsC
Get chain-level core metrics from website data (mainnet).
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does not disclose whether the tool is read-only, its side effects, or any potential delays. Although 'get' implies reading, the description does not explicitly state no side effects or destructive actions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no wasted words. It front-loads the action. However, it could be slightly more structured without increasing length, e.g., mentioning parameters briefly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema is provided, and the description does not explain what 'core metrics' includes or the return format. For a data-returning tool, this omission leaves the agent without necessary context to interpret the results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the 'chain' parameter or its enum values. It fails to add meaning beyond the schema, which itself lacks descriptions for the parameter. The description provides no additional semantic context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get chain-level core metrics from website data (mainnet)' clearly states the action (get), resource (chain-level core metrics), and context (mainnet). It distinguishes from siblings like 'get_protocol_metrics' by specifying 'chain-level' and 'mainnet', but does not explicitly differentiate from similar metrics tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions. The description simply states what the tool does without any usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_collateral_pricesA
Get latest collateral highest-price data from website API (mainnet).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavior. It states data source (website API) and network (mainnet), implying read-only. However, it doesn't mention rate limits, authentication needs, or what 'highest-price' means, leaving some ambiguity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with key action and resource. No extraneous words. Efficient and clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description is minimal. It identifies the source and network but omits details on data format, collateral types, or interpretation of 'highest-price'. For a simple getter, it is adequate but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100% (vacuously). The description adds no parameter info because none are needed. Baseline is 4 for zero-parameter tools, and the description adequately conveys the tool's simplicity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'Get' and the resource 'latest collateral highest-price data' from 'website API (mainnet)'. It distinguishes from siblings like 'get_chain_metrics' or 'get_protocol_overview' by specifying collateral price data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The context from sibling tools is broad, and the description lacks any 'use this when' or 'avoid if' instructions. Usage is only implied by the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_debt_overviewA
Get Smart Allocator debt overview grouped by network vault.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation but does not disclose any behavioral traits such as whether it requires authentication, whether it is safe, or any side effects. With no annotations provided, the description carries the full burden, but it only states the action without further detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that communicates the tool's purpose without any filler. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters or output schema, the description is minimal. While it states the core action, it lacks detail on what the overview contains (e.g., data fields) or formatting. For a simple tool this may suffice, but additional clarity on return structure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so there is no need for parameter descriptions. According to guidelines, baseline is 4 for zero-parameter tools, and the description correctly does not add extraneous param info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool retrieves a 'debt overview' specific to Smart Allocator, grouped by network vault. This clearly differentiates it from the sibling tool 'get_smart_allocator_overview', which likely provides a broader overview.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives like 'get_smart_allocator_overview' or other vault-related tools. No when-not-to or conditions for use are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_jst_buyback_statsA
Get JST buyback/burn statistics from treasury report data (mainnet data).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided; the description only indicates a read operation ('Get') but lacks details on latency, caching, or data freshness, which are important for a data retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single clear sentence that is front-loaded with the action and resource, containing no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, annotations, or output schema, the description adequately covers purpose and source. However, it could mention output format or typical use, but is fairly complete for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema description coverage is 100%. The description adds minimal value beyond the schema, but baseline score for 0 parameters is 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and resource 'JST buyback/burn statistics' with source 'treasury report data' and environment 'mainnet', making it distinct from sibling tools like get_chain_metrics or get_protocol_metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives, but the name and description are self-explanatory given the sibling tools cover different metrics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_native_balanceA
Get native token balance (TRX/ETH/BNB) for the configured wallet or a specified owner.
| Name | Required | Description | Default |
|---|---|---|---|
| owner | No | Optional owner address; defaults to configured wallet | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It only states the function (get balance) and defaults (owner, network) already present in the schema. It does not disclose caching behavior, authentication needs, rate limits, or any side effects, leaving significant behavioral gaps for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose and scope without any redundant words or filler. It is optimally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (2 optional params, no output schema, no nested objects), the description is adequate but could be improved by clarifying the return format (e.g., balance as a string in the smallest unit) or network-specific details. It meets minimum viability but lacks some context an agent might need.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions for both parameters (owner, network) including defaults. The description adds no additional semantic meaning beyond what the schema provides, warranting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get'), the resource ('native token balance'), and specifies the token types (TRX/ETH/BNB) and scope (configured wallet or specified owner). This distinguishes it from sibling tools like get_token_balance, which likely targets non-native tokens.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool over alternatives, such as get_token_balance for ERC-20 tokens. The purpose is implied but lacks explicit usage boundaries or prerequisites, making it less helpful for an AI agent choosing between similar tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_networkB
Get per-family default networks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must carry full burden. It only states the action without disclosing traits like read-only nature, authentication needs, or side effects. Minimal behavioral context is added.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no redundant words. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and no output schema, the description is minimal but likely sufficient for a simple getter. However, it does not clarify what 'per-family' refers to, which could aid understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema coverage, so the description need not add param info. The baseline for 0 params is 4; the description meets this adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Get per-family default networks' clearly states a specific verb and resource, and distinguishes from siblings like get_supported_networks (lists all networks) and set_network (configures network). The term 'per-family' is domain-specific but sufficient.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings such as get_supported_networks or set_network. The description does not provide context on prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_oracle_statusB
Inspect liquidation ratio, penalty, and oracle status for a collateral type.
| Name | Required | Description | Default |
|---|---|---|---|
| ilk | Yes | Collateral type like TRX-A, WBTC-A, USDT-A, PSM-USDT | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention read-only nature, authentication requirements, or side effects. The description is minimal and leaves the agent uncertain about behavior beyond the stated purpose.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, efficiently worded, front-loaded with the key action. No unnecessary filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, so description should hint at return values. It does not describe the output format or what 'status' entails. However, with only two parameters and straightforward purpose, the description is minimally adequate for a simple getter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, providing good parameter explanations. The tool description adds little beyond the schema, only reiterating 'collateral type'. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool inspects liquidation ratio, penalty, and oracle status for a collateral type. The verb 'inspect' and specific resources make the purpose precise and distinct from sibling tools like get_collateral_prices.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. Among many sibling tools with overlapping functionality, the description does not provide context for selection or exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_proof_of_reserveB
Get Smart Allocator proof-of-reserve style platform investment details.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must convey behavioral traits. It does not state side effects, read-only nature, or any required state. The term 'Get' implies a read operation, but no explicit confirmation is given.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 14 words, extremely concise and front-loaded. Every word contributes to the purpose, with no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters, no output schema, and no annotations, the description provides a basic level of completeness by naming the tool's focus. However, it remains vague about what 'investment details' entails, leaving the agent with an incomplete picture.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so baseline is 4. The description adds context by mentioning 'proof-of-reserve style' and 'investment details', but does not elaborate further, which is acceptable given no parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'Get' and the resource 'Smart Allocator proof-of-reserve style platform investment details', which is specific and hints at a unique functionality. However, it does not explicitly differentiate from sibling tools like get_assets_breakdown or get_protocol_metrics, which could cause ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its siblings. There is no mention of use cases, prerequisites, or scenarios where this tool is preferred, leaving the agent without context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_protocol_metricsB
Get aggregated protocol metrics from website data (mainnet).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only mentions 'aggregated protocol metrics from website data' without disclosing whether it is read-only, requires authentication, has rate limits, or what exactly is returned. The description is too vague to inform safe invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 9 words, which is concise but at the expense of completeness. It is front-loaded with the core purpose, but the brevity omits crucial context that would justify its length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema and many siblings, the description is too minimal. It does not explain what 'protocol metrics' includes, what 'website data' means, or what the response format is. This leads to ambiguity for an agent selecting and invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema description coverage is 100% trivially. Per guidelines, baseline is 4 for zero parameters. The description does not add parameter-level information but is not expected to since none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets 'aggregated protocol metrics from website data (mainnet)', using a specific verb and resource. This distinguishes it from sibling tools like get_chain_metrics or get_protocol_overview by specifying 'aggregated' and 'from website data', even though it does not explicitly compare them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus the many sibling tools (e.g., get_chain_metrics, get_protocol_overview). There is no mention of prerequisites, context, or exclusions, leaving the agent without decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_protocol_overviewB
Get protocol addresses, ceilings, configured ilks, and PSM markets for USDD.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation, but without annotations, it does not explicitly confirm no side effects. It lists the data returned but does not disclose rate limits, authentication needs, or behavior on invalid networks. For a simple getter, this is adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the action. Every word is necessary; no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has low complexity (1 optional parameter, no output schema). The description lists the types of data returned, which is helpful, but does not explain the structure or format of the response. It could be more complete by noting the default network or providing hints about the return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage, describing the network parameter with enums and default. The description adds no additional meaning to the parameter beyond what the schema already provides. The baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves protocol addresses, ceilings, configured ilks, and PSM markets for USDD. It uses a specific verb and resource, but does not differentiate from sibling tools like get_protocol_metrics or get_psm_metrics, which may have overlapping purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. For example, it does not clarify whether to use get_protocol_overview or get_psm_status when PSM data is needed. There are no when-not-to-use instructions or context on prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_psm_metricsA
Get PSM swap metrics by route, including fromToken/toToken/available/fee.
| Name | Required | Description | Default |
|---|---|---|---|
| market | Yes | PSM market like PSM-USDT | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It implies a read-only query via 'get', but does not explicitly state safety or side effects, nor error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, 12 words, front-loaded with verb and resource. No wasted words, efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks description of return format or error conditions. No output schema exists, so more detail on the response structure would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover both parameters (100%). The description adds meaning by listing the metrics returned, which is not in the schema, thereby enhancing parameter understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets PSM swap metrics by route and lists specific fields (fromToken/toToken/available/fee). This distinguishes it from sibling tools like get_psm_status or swap operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives like get_psm_status or psm_swap_*. The description does not mention prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_psm_statusC
Inspect PSM fees and enablement state.
| Name | Required | Description | Default |
|---|---|---|---|
| market | Yes | PSM market like PSM-USDT | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a read-only operation but does not explicitly state that, and no annotations are present to clarify. No details about side effects, permissions, or rate limits are given, leaving the agent to infer behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a single 6-word sentence that efficiently conveys the core purpose without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations and output schema, the description provides minimal context. It does not explain what the return value contains (e.g., fields like fee amounts), how enablement state is represented, or any usage examples.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and both parameters have descriptions in the schema. The description adds no further explanation beyond the schema, meeting the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: inspecting PSM fees and enablement state. However, it does not distinguish from the sibling tool 'get_psm_metrics', which likely provides related but different data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No usage guidance is provided. The description does not indicate when to use this tool versus alternatives like 'get_psm_metrics' or when it is appropriate to call it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_savings_statusB
Inspect USDD Savings metrics where supported.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The phrase 'where supported' hints that the tool may not work on all networks, which is a behavioral trait. However, no annotations are provided, and the description does not disclose side effects, permissions, or rate limits. The burden falls on the description, but it only offers minimal insight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is front-loaded and contains no extraneous information. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description is adequate but could be improved by listing typical metrics returned (e.g., APR, total deposits). It hints at network dependency but lacks specifics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (network parameter fully described with enum). The description adds the nuance 'where supported' about network availability but does not elaborate on the parameter's meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Inspect') and identifies the resource ('USDD Savings metrics'). It distinguishes from sibling tools like get_chain_metrics by focusing on savings. However, it does not specify what metrics are included, leaving some ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_protocol_metrics or get_protocol_overview). No mention of prerequisites or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_smart_allocator_overviewA
Get Smart Allocator overview (debt, invested amount, earnings, APY).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only implies a read operation via 'Get' but does not address authentication needs, rate limits, data freshness, or whether the data is aggregated in real-time. This lack of detail limits the agent's understanding of the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that front-loads the purpose and lists key data points. Every word is relevant, with no redundancy or filler. It is concise yet informative.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description provides enough context by naming the main metrics returned. However, it could be slightly improved by indicating the return format (e.g., single object) or data source, but it is largely sufficient for an overview tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the schema coverage is trivially 100%. The description does not need to add parameter meaning since there are none. The baseline for 0 parameters is 4, and the description appropriately avoids unnecessary details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get', the resource 'Smart Allocator overview', and lists specific data fields (debt, invested amount, earnings, APY). This specificity distinguishes it from sibling overview tools like get_debt_overview or get_protocol_overview, as it focuses on the Smart Allocator's key metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as get_protocol_overview or get_treasury_summary. The description does not mention prerequisites, exclusions, or recommended contexts, leaving the agent to infer usage solely from the tool name and purpose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_supported_ilksB
List configured collateral types and PSM joins for a network.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. However, the description does not disclose behavioral traits such as being read-only, required authentication, or any side effects. A tool that lists data should explicitly state it is a safe read operation to build agent trust.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no superfluous information. It is front-loaded and efficient, earning its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should at least hint at the typical return format or structure. It only states what is listed but not how to interpret the response. The tool is simple enough that a 3 is adequate, but it could be more informative.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with the 'network' parameter already documented. The tool description adds minimal additional meaning beyond 'for a network', so baseline of 3 is appropriate without extra value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' and clearly identifies the resources 'configured collateral types and PSM joins' for a network. It distinguishes itself from sibling tools like 'get_supported_networks' and 'get_psm_status' by specifying the exact items being listed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description only states it lists for a network, providing no guidance on when to use this tool over alternatives, no prerequisites, and no explicit context for appropriate use cases. The agent is left to infer usage from the name and schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_supported_networksB
List supported USDD networks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description only states the basic action. It does not disclose behavioral traits such as authentication requirements, rate limits, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words, perfect for a trivial tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (no parameters, no output schema), the description is minimally adequate. However, it lacks context about what 'supported USDD networks' entails or any prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters and 100% coverage, so description adds no additional meaning. Baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'List' and resource 'supported USDD networks', clearly indicating the tool's action. It distinguishes from sibling 'get_network' which likely returns a single or current network.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'get_network'. The description does not provide context on when this tool is appropriate or exclude any scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_token_balanceA
Get ERC20/TRC20 token balance for the configured wallet or a specified owner.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | Token contract address | |
| owner | No | Optional owner address; defaults to configured wallet | |
| decimals | No | Optional token decimals override | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the burden of behavioral disclosure. It indicates a read operation but does not specify return format, decimal handling, or whether the balance is raw or formatted. It is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence that is perfectly concise, front-loaded with the verb and resource, and contains no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-balance tool with well-documented parameters (via schema), the description is sufficient. It implicitly covers the default owner behavior. However, it could mention the return format or decimals handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the baseline is 3. The description adds no additional meaning beyond the schema; it does not explain parameter purposes or defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'ERC20/TRC20 token balance', specifying the scope 'for the configured wallet or a specified owner'. This distinguishes it from siblings like 'get_native_balance' and 'check_allowance'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives (e.g., 'get_native_balance' for native currency). There are no exclusions or context about prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_treasury_summaryA
Get latest USDD treasury report summary (mainnet data).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It correctly implies a read operation but does not disclose any behavioral traits beyond that (e.g., data freshness, network-specific behavior). For a simple parameterless tool, this is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It efficiently conveys the tool's purpose and scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks output schema details; it does not specify what fields the treasury summary contains. Given the simple parameterless nature and absence of output schema, this is a minor gap but not critical for selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, achieving 100% schema coverage. The description's brief phrasing adds no param info, but none is needed. Baseline is 3, and the description's clarity earns a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Get latest USDD treasury report summary') and specifies scope ('mainnet data'). It is distinct from sibling tools like get_protocol_overview, which covers broader metrics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for obtaining the latest treasury summary, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or restrictions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_user_vaultsA
List all vault IDs for the configured wallet or a given address.
| Name | Required | Description | Default |
|---|---|---|---|
| address | No | Optional wallet address | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present, so description relies solely on itself. It indicates a read-only operation (list), but lacks details on pagination, rate limits, or what 'configured wallet' means. Adequate but basic.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, efficient sentence with no filler. Front-loaded and to the point. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema; description does not explain return format or error conditions. For a simple list tool, it is partially complete but could specify that result is an array of vault IDs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Adds context beyond schema: clarifies that 'address' is optional and defaults to configured wallet. Schema already describes parameters well (100% coverage), so description adds marginal but helpful value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'List all vault IDs', a specific verb-resource pair. It distinguishes from sibling tools like get_vault_summary and close_vault by focusing on listing IDs for a wallet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for listing vaults of a wallet, but no explicit when-to-use, alternatives, or exclusions provided. Minimal guidance beyond the obvious.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vault_summaryB
Get collateral, debt, and liquidation metrics for one vault.
| Name | Required | Description | Default |
|---|---|---|---|
| cdpId | Yes | Vault/CDP id | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It implies a read-only operation but does not explicitly state side effects, authorization needs, or data freshness. The description is too sparse to adequately disclose behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no fluff. It efficiently communicates the core function without extraneous words, making it easy to parse quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple query tool with two parameters and schema coverage at 100%, the description is adequate but could be more complete. It does not explain the format of the return value or any edge cases, though the purpose is sufficiently clear.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds context about the return value (metrics for one vault) which helps interpret the parameters, but it does not provide additional parameter-level details beyond what the schema already offers.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Get' and clearly states it returns 'collateral, debt, and liquidation metrics for one vault,' which immediately distinguishes it from sibling tools like 'analyze_vault_risk' or 'get_debt_overview' that have broader or different scopes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. Among siblings like 'analyze_vault_risk' and 'get_debt_overview,' it leaves the agent without comparison criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wallet_addressC
Get wallet status and active address for a network.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states it gets status and address, with no details on side effects, auth requirements, or what 'status' entails. This is insufficient for a wallet-related operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence, front-loaded. However, it may be too brief given the need for behavioral transparency and usage guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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 fails to explain what 'status' means, prerequisites (e.g., wallet must be imported), or how it relates to sibling tools. Incomplete for safe and effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers the single parameter 'network' with enum and description. The description adds that the tool returns status and address, but does not elaborate on parameter semantics beyond what the schema provides. Baseline 3 is appropriate as schema coverage is 100%.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets wallet status and active address for a network, using specific verb and resource. However, it does not differentiate from siblings like get_network or get_wallet_mode, which could have overlapping functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like get_native_balance or get_wallet_mode. No exclusions or context provided for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wallet_modeB
Get current signing mode (browser / agent) and active address.
| Name | Required | Description | Default |
|---|---|---|---|
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so description alone must convey behavior. It discloses that it returns mode and address but fails to mention network dependency or whether a wallet must be active. Side effects are likely none, but network parameter's impact on results is implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence efficiently covers the core purpose. Very concise, though slightly more structure (e.g., listing outputs) could improve it. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description should hint at return format but does not. Lacks mention of prerequisites (e.g., wallet connection) or error conditions. Adequate for a simple read tool but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the parameter with description, so baseline is 3. Description implies the result depends on network, adding marginal value. Not enough to raise score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool retrieves the current signing mode and active address, using specific verb 'Get' and resources 'signing mode' and 'active address'. It distinguishes from sibling tools like get_wallet_address (only address) and set_wallet_mode (setter).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_wallet_address, set_wallet_mode) or prerequisites such as needing a connected wallet. The description is purely declarative without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_walletA
Import a private key or mnemonic into the encrypted local wallet store.
| Name | Required | Description | Default |
|---|---|---|---|
| walletType | Yes | Wallet family: tron or evm | |
| secretType | Yes | Secret type to import | |
| secret | Yes | Private key or mnemonic phrase | |
| index | No | Mnemonic derivation index. Default: 0 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses that the operation imports into an encrypted store, implying a write operation, but does not detail side effects (e.g., overwriting existing wallet, irreversible changes, or security considerations). More behavioral context is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence of 12 words with no fluff. It is optimally concise and front-loaded with the key action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 4 parameters with full schema descriptions and no output schema, the description is adequate but incomplete. It does not mention the return value (e.g., success message, wallet identifier). For a mutation tool, specifying the output would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers all four parameters with descriptions, so the schema already provides sufficient parameter semantics. The tool description adds no additional meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (import), the resource (private key or mnemonic), and the target (encrypted local wallet store). It distinguishes this tool from siblings like list_wallets, which only list wallets, and set_active_wallet, which switches active wallet.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for importing credentials into the wallet store but does not provide explicit guidance on when to use this tool versus alternatives. It lacks prerequisites or conditions (e.g., wallet must not already exist, or recommended secret types).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_walletsA
List encrypted wallets stored in ~/.agent-wallet and show which ones are active.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It states the tool lists encrypted wallets and shows active ones, implying a read-only filesystem operation. However, it does not mention prerequisites like directory existence or permissions, which would enhance transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no extraneous words. It conveys the essential information efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no parameters, no output schema), the description is adequate. It explains what the tool does and where it looks. Minor omission: it does not describe the output format, but this is acceptable for a straightforward list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100%. Per guidelines, a baseline of 4 is appropriate since there is no need for additional parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists encrypted wallets from a specific directory (~/.agent-wallet) and indicates which are active. It uses a specific verb and resource, distinguishing it from sibling tools like import_wallet, set_active_wallet, and get_wallet_address.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is used to view available wallets, but it does not explicitly state when to use it vs alternatives like set_active_wallet or import_wallet. No exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mint_usddC
Draw additional USDD debt from an existing vault.
| Name | Required | Description | Default |
|---|---|---|---|
| cdpId | Yes | ||
| amount | Yes | ||
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states the basic action. Side effects (e.g., increased debt, potential liquidation risks) are not mentioned. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is a single, clear sentence without unnecessary words. However, it could be more structured by including parameter details without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of minting debt, the lack of output schema and annotations leaves significant gaps. No mention of return values, error handling, or network-specific behaviors. Incomplete for safe use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (network explained). The description adds some meaning (vault exists) but does not explain cdpId format or amount units/decimals. Insufficient compensation for low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the action (draw additional USDD debt) and specifies the context (from an existing vault). This differentiates it from siblings like open_vault or repay_usdd.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like deposit_and_mint or repay_usdd. The description does not provide any usage context or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
open_vaultA
Open a vault/CDP via DSProxy. Idempotent: if a vault for the given ilk already exists, returns the existing CDP id without submitting a transaction.
| Name | Required | Description | Default |
|---|---|---|---|
| ilk | Yes | Collateral type like TRX-A, WBTC-A, or SA001-A | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description bears the full burden of behavioral disclosure. It mentions idempotency and the use of DSProxy, but does not explain what happens in the normal case (e.g., submitting a transaction, gas costs), nor what the return value is in all scenarios.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loading the primary purpose and then adding the idempotency detail. Every word is informative, and there is no unnecessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks details on what the tool returns in the normal case (it only mentions the idempotent case), and does not mention side effects like transaction submission. Given no output schema, this is a notable gap for a tool that likely creates on-chain state.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for both parameters, with clear descriptions in the schema. The tool description adds no additional parameter semantics beyond what is already in the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool opens a vault/CDP via DSProxy, and also notes idempotency. This provides a specific verb and resource, distinguishing it from sibling tools like close_vault.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains that if a vault already exists for the given ilk, it returns the existing CDP id without submitting a transaction. This gives clear context on behavior, but does not explicitly state when not to use it or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_token_transferA
Prepare a native/token transfer and return a preview for user review. After calling this tool, you MUST present the transfer details to the user and wait for their explicit confirmation before calling confirm_token_transfer. Do NOT proceed automatically.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient address | |
| amount | Yes | Human-readable amount, e.g. 0.1 | |
| tokenAddress | No | Token contract address. Omit for native TRX transfer. | |
| decimals | No | Optional token decimals override for non-standard/proxy tokens. | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden. It discloses that the tool only prepares and does not execute the transfer, and emphasizes the need for user confirmation. However, it does not detail the content of the preview or any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exceptionally concise with two sentences that are front-loaded with the purpose and critical usage instructions. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 5 parameters and no output schema, the description explains the workflow but lacks details about the preview's structure. It is adequate for the purpose but could be slightly more comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description does not add extra meaning beyond what the parameter descriptions already provide, which is acceptable given high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool prepares a transfer and returns a preview for user review. It distinguishes itself from the sibling 'confirm_token_transfer' by explicitly outlining the workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit instructions: present details to user, wait for confirmation before calling confirm_token_transfer, and do not proceed automatically. This guides the agent on when and how to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
psm_swap_from_usddC
Swap USDD into the PSM gem asset.
| Name | Required | Description | Default |
|---|---|---|---|
| market | Yes | ||
| amount | Yes | ||
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does not address fees, slippage, required approvals, or side effects of the swap. The verb 'swap' implies a trade but lacks operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise, but it is too terse to be informative. It lacks structure and omits critical details, reducing its value despite its brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool involves a swap with three parameters and no output schema, the description is incomplete. It does not explain return values, prerequisites, or operational flow, which is inadequate for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only the network parameter has a description). The description does not explain the 'market' or 'amount' parameters, leaving gaps that the schema alone does not fill.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (swap) and the resource (USDD into PSM gem asset), and it distinguishes from the sibling tool 'psm_swap_to_usdd' by specifying the direction (from USDD). However, the term 'gem asset' is ambiguous and could be more specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, such as the sibling psm_swap_to_usdd or other swap tools. The description does not provide context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
psm_swap_to_usddC
Swap gem collateral into USDD through the PSM.
| Name | Required | Description | Default |
|---|---|---|---|
| market | Yes | ||
| amount | Yes | ||
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral transparency burden. It merely states the swap action without disclosing side effects, authorization needs, rate limits, or reversibility. This is minimal disclosure for a mutation operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a single front-loaded sentence. While efficient, it could add context (e.g., clarifying 'gem' or listing network options) without losing conciseness, earning a high but not top score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Without an output schema and with sparse annotations, the description must provide complete operational context. It lacks details on return values, error conditions, preconditions, and the full meaning of parameters, making it insufficient for reliable agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 33% description coverage (only 'network' has a description). The description adds no parameter-level meaning, leaving 'market' and 'amount' unexplained. The description fails to compensate for the schema's low coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool swaps gem collateral into USDD via the PSM. It uses a specific verb ('Swap') and resource ('gem collateral into USDD'), and distinguishes well from the sibling tool 'psm_swap_from_usdd' which performs the reverse direction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives like 'psm_swap_from_usdd' or 'mint_usdd'. The description implies use when converting gem collateral to USDD, but fails to provide when-not scenarios or prerequisites, leaving the agent to rely solely on tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repay_usddC
Repay USDD debt for an existing vault.
| Name | Required | Description | Default |
|---|---|---|---|
| cdpId | Yes | ||
| amount | Yes | ||
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist. The description does not disclose side effects, reversibility, authorization requirements, or what constitutes a successful repayment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence is concise but under-specified; lacks structured details that would help the agent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema and no annotations. For a financial mutation tool, the description is incomplete, lacking error conditions, return values, and operational details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% (only network described). The description adds no meaning to cdpId or amount parameters, missing format or interpretation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (repay) and the resource (USDD debt for an existing vault). It distinguishes the tool from siblings like mint_usdd (create debt) and close_vault (remove vault).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., close_vault). No prerequisites or context provided about vault state or amount constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_active_walletA
Set the active encrypted wallet by ID. Active wallet selection is tracked separately for tron and evm.
| Name | Required | Description | Default |
|---|---|---|---|
| walletId | Yes | Wallet id from list_wallets | |
| walletType | No | Optional wallet family to activate independently (tron or evm) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must convey behavior. It indicates a mutation (setting active wallet) and adds the useful detail about separate tracking for tron/evm. However, it omits information about side effects, permissions, error conditions, or what happens with invalid IDs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler, front-loading the key action and adding a critical detail. Every word contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 params, no output schema), the description covers the core purpose and a key behavioral nuance. It could mention error handling or prerequisites, but for a basic setter it is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description does not add new meaning beyond the schema; it mentions walletId and the concept of separate families, but the schema already specifies the walletId source and optional walletType enum.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Set' and the resource 'active encrypted wallet', and adds the specific detail that selection is tracked separately for tron and evm. This differentiates it from sibling tools like list_wallets or get_wallet_address.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool versus alternatives, such as set_wallet_mode. It does not mention prerequisites, like the wallet needing to be encrypted or unlocked, nor does it describe when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_networkA
Set default network for one family. Supports aliases (tron_mainnet, tron_nile, eth_mainnet, eth_sepolia, bsc_mainnet, bsc_testnet) or explicit network keys.
| Name | Required | Description | Default |
|---|---|---|---|
| network | Yes | Network alias or key, e.g. tron_mainnet, tron_nile, eth_mainnet, bsc_testnet, tron, eth_sepolia | |
| family | No | Network family. Use with aliases like mainnet. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It indicates mutation (setting default) but does not disclose side effects, permission requirements, reversibility, or other behavioral traits. The scope 'for one family' provides partial context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler. Front-loaded with the core action and resource, followed by supported values. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple setter with two parameters and no output schema, the description provides adequate context: what it does, the parameter possibilities, and scope. However, behavioral details (e.g., effects, persistence) are missing, which could be important for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds value by explaining the concept of aliases versus explicit network keys, which goes beyond the schema's examples. This helps the agent understand parameter semantics more precisely.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sets a default network for one family, using a specific verb and resource. It distinguishes from sibling tools like 'get_network' (read) and 'get_supported_networks' (list), and provides concrete examples of supported aliases.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context (setting a default) but lacks explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned, though the broad sibling set suggests complementary tools for reading or other actions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_wallet_modeB
Switch signing mode between browser and agent.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | Wallet signing mode | |
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description lacks any behavioral insight beyond the basic action. No annotations exist to compensate. It does not disclose side effects (e.g., what happens to pending transactions), authorization requirements, or whether the mode change is persistent. The description is a tautology of the tool name.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that conveys the core function without extraneous words. It is appropriately front-loaded and every word earns its place. No unnecessary verbosity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema), the description lacks essential context. It does not explain what 'agent' mode entails, how the mode affects subsequent operations, or whether network is required. Sibling tools like 'get_wallet_mode' could imply context, but the description itself is incomplete for an agent to decide when to invoke this tool safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds minimal value beyond the schema; 'between browser and agent' matches the enum but does not explain the meaning of each mode or the role of the network parameter (e.g., whether it scopes the mode change or is required for certain networks). No additional semantic detail is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (switch signing mode) and identifies the two modes (browser and agent). It distinguishes from sibling tools like 'get_wallet_mode' (read-only) and 'connect_browser_wallet' (connection). The specific verb+resource pair is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as when to switch modes or prerequisites (e.g., wallet must be connected). There is no mention of when not to use it or how it relates to other wallet management tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
withdraw_collateralC
Withdraw collateral from an existing vault.
| Name | Required | Description | Default |
|---|---|---|---|
| cdpId | Yes | ||
| ilk | Yes | ||
| amount | Yes | ||
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It fails to mention that the tool likely initiates a blockchain transaction, requires signing, has potential cost, or what happens on success/failure. The single sentence omits all side effects and operational details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence), which is beneficial for brevity but lacks essential information. While it is front-loaded with the core action, it is too minimal for a tool that likely performs a complex, irreversible action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 parameters, no annotations, no output schema), the description is insufficient. It fails to explain the return value, error handling, or how this tool fits into a workflow with sibling tools like 'get_user_vaults' or 'analyze_vault_risk'. The description leaves significant gaps for the AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds no meaning to the parameters beyond the input schema. Only one parameter (network) has a schema description, and the description does not explain what cdpId, ilk, or amount represent or how to obtain them. Schema coverage is low (25%), and the description does not compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly specifies the action ('withdraw'), the resource ('collateral'), and the context ('from an existing vault'). It distinguishes itself from similarly named sibling tools like 'withdraw_savings' and others like 'deposit_and_mint' or 'close_vault'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., 'vault must exist and have sufficient collateral'), nor does it differentiate from related tools like 'close_vault' or 'deposit_and_mint'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
withdraw_savingsC
Withdraw USDD from sUSDD where supported.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | Yes | ||
| network | No | Target network. Default: tron |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, so description must cover behavior. It only states 'withdraw' but omits important details like whether sUSDD is burned, fees, delays, or token approval requirements for a financial operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, very concise. Could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and a financial context, the description is too terse. It lacks details on process, prerequisites, and outcomes for a withdrawal tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is low (50%), and the description adds no parameter-specific meaning. It hints at network support but doesn't clarify amount format or network constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (withdraw), asset (USDD), and source (sUSDD), distinguishing it from siblings like withdraw_collateral and deposit_savings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use vs alternatives, prerequisites, or exclusions. Siblings like withdraw_collateral and mint_usdd exist but no comparison is provided.
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. Dates show when Glama detected each change.
44 tool updates
v1.0.3- First observed
analyze_vault_risk - First observed
approve_token - First observed
check_allowance - First observed
close_vault - First observed
confirm_token_transfer - First observed
connect_browser_wallet - First observed
deposit_and_mint - First observed
deposit_savings - First observed
get_assets_breakdown - First observed
get_chain_metrics - First observed
get_collateral_prices - First observed
get_debt_overview - First observed
get_jst_buyback_stats - First observed
get_native_balance - First observed
get_network - First observed
get_oracle_status - First observed
get_proof_of_reserve - First observed
get_protocol_metrics - First observed
get_protocol_overview - First observed
get_psm_metrics - First observed
get_psm_status - First observed
get_savings_status - First observed
get_smart_allocator_overview - First observed
get_supported_ilks - First observed
get_supported_networks - First observed
get_token_balance - First observed
get_treasury_summary - First observed
get_user_vaults - First observed
get_vault_summary - First observed
get_wallet_address - First observed
get_wallet_mode - First observed
import_wallet - First observed
list_wallets - First observed
mint_usdd - First observed
open_vault - First observed
prepare_token_transfer - First observed
psm_swap_from_usdd - First observed
psm_swap_to_usdd - First observed
repay_usdd - First observed
set_active_wallet - First observed
set_network - First observed
set_wallet_mode - First observed
withdraw_collateral - First observed
withdraw_savings
TDQS
Most tools have clearly distinct purposes, covering vaults, PSMs, savings, wallets, and protocol metrics. A few like get_chain_metrics and get_protocol_metrics could be confused but their descriptions clarify different sources.
All tools follow a consistent verb_noun pattern in snake_case (e.g., open_vault, get_chain_metrics, prepare_token_transfer), making them predictable for an agent.
44 tools is on the high side, but the server covers a complex domain with multiple networks, vaults, PSMs, savings, and wallet operations. It is borderline heavy but still manageable.
The tool set covers the full lifecycle for USDD management: vault CRUD, PSM swaps, savings, token transfers with safety confirmation, wallet management, and extensive metrics. No obvious gaps.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
TRON Energy marketplace + DEX swap aggregator for AI agents. 27 MCP tools.
Browse, deposit, withdraw & rebalance stablecoins on Aave, Morpho & Euler across major EVM chains.
Query 130+ SQD Portal datasets across blockchains, including native Tron transactions and events.
Cross-network DeFi API data, AMM analytics, and SDK docs for 17+ networks.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with XRP Ledger blockchain for managing wallets, creating and trading tokens, minting and managing NFTs, and executing DEX trades through 15+ comprehensive tools.202MIT
- AlicenseBqualityDmaintenanceEnables users to manage the SpherePay payment platform, including customer onboarding, bank and wallet management, and cross-chain transfers. It provides tools for executing financial workflows, tracking transfers, and configuring virtual accounts for fiat-to-stablecoin conversions.24AGPL 3.0

onchainos MCP Serverofficial
FlicenseNot gradedqualityBmaintenanceEnables on-chain operations including token search, market data, wallet management, swap execution, and DApp interactions across 20+ blockchains.329-- AlicenseAqualityCmaintenanceProvides 14 read-only tools to query USDD stablecoin protocol data across TRON, Ethereum, and BSC, enabling AI agents to fetch supply, APY, collateral, and vault configurations.14141MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/decentralized-usd/mcp-server-usdd'
If you have feedback or need assistance with the MCP directory API, please join our Discord server