MCP server for JustLend V1 DAO on TRON blockchain. Supports supply, borrow, repay, withdraw, market data, mining rewards (USDD/WBTC), API integration, general TRON chain utilities, and AI-guided DeFi prompts.
This is a large toolset (41 tools) with consistent naming patterns and schemas. However, quality is uneven. STRENGTHS: All tools have verb_noun naming (get_*, supply, borrow, etc.), proper tool registration with zod schemas visible in src/core/tools.ts, and comprehensive parameter descriptions. Tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present on all visible tools. WEAKNESSES: (1) Parameter descriptions in schemas are often minimal, many are one-liners like 'Account address. Default: configured wallet' without explaining the broader context of when to use the tool or what it enables. (2) Return schema documentation is ABSENT, tools return JSON.stringify output without documenting the structure agents should expect, forcing agents to guess at response fields. (3) Error handling lacks recovery guidance, errors are returned as generic text without actionable next steps (e.g., no suggestion to call search_users or check_allowance first). (4) Several tools have parameter interdependencies that are undocumented (e.g., approve_underlying requires market symbol, but responses don't clarify if market name or address works). (5) Output structure is JSON text blocks without schema annotations, making it opaque to agents. The 41-tool count itself is high; tools could be better grouped or decomposed (e.g., get_account_summary + get_account_data_from_api do overlapping work). Average tool score: ~62 across naming (75), description (65), schema (55), and error handling (40).
Approve a jToken market to spend underlying tokens. Required before supplying TRC20 tokens. Requires TRON_PRIVATE_KEY or TRON_MNEMONIC.
Borrow assets from a JustLend market against your collateral. Requires TRON_PRIVATE_KEY or TRON_MNEMONIC.
Call a contract's view/pure function (read-only).
Vote on a governance proposal. Requires JST balance and TRON_PRIVATE_KEY or TRON_MNEMONIC.
Check if the configured wallet has approved a jToken market to spend underlying tokens.
Claim all unclaimed JST rewards. Requires TRON_PRIVATE_KEY or TRON_MNEMONIC.
Return schema documentation is missing. Tools return JSON.stringify(data) without documenting the structure, field types, or which fields are needed for downstream tool composition. Agents cannot safely chain calls without guessing at response shape.
Error handling lacks recovery guidance. Errors are returned as plain text (e.g., 'Error: <error.message>') without actionable next steps or categorization (retryable vs user-fixable vs fatal). LLMs receive no context on what to do when a tool fails.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 56 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 35 | - | v1 |
Convert between Base58 and Hex TRON address formats.
Enable a market as collateral. Required before borrowing. Requires TRON_PRIVATE_KEY or TRON_MNEMONIC.
Disable a market as collateral. You must have no borrow in this market and sufficient collateral in other markets. Requires TRON_PRIVATE_KEY or TRON_MNEMONIC.
Freeze TRX to obtain Tron Power (TP) for voting and receiving rewards. Requires TRON_PRIVATE_KEY or TRON_MNEMONIC.
Get user account data from JustLend API. Returns lending positions, balances, mining rewards, etc. More stable and comprehensive than contract queries.
Get your account summary on JustLend: all positions (supply/borrow), total collateral, total debt, health factor, and liquidation risk.
Get comprehensive account info: balance, staking, resources, transactions, etc.
Get overview data for ALL JustLend markets including supply APY, borrow APY, mining rewards APY, underlying staking yield, total supply APY, and TVL. Mining APY is calculated from on-chain supply mining programs (USDD/TRX dual mining, WBTC mining, etc.). totalSupplyAPY = base supply APY + underlying staking APY + mining APY.
Get block details by block number.
Get contract details (ABI, bytecode metadata) for a contract address.
Get the current block height and details.
Get JustLend protocol dashboard from API. Returns protocol-level statistics: total supply, total borrow, TVL, number of suppliers/borrowers, etc.
Get JST token balance for an address (governance token).
Get detailed jToken information from API. Returns comprehensive market details including interest rate model, reserve info, etc.
Get detailed market data for a specific JustLend market: supply/borrow APY, TVL, utilization, collateral factor, price, and status. Use jToken symbol like 'jUSDT' or 'jTRX'.
Get all market data from JustLend API. More stable than contract queries. Returns comprehensive market data including APY, TVL, utilization, prices, mining rewards, etc.
Get details of a specific governance proposal.
List all governance proposals.
Get JustLend protocol-level info: Comptroller config, close factor, liquidation incentive, total markets.
Get TRON staking info for an address: frozen balance, delegations, unfrozen amounts.
List all available JustLend lending markets (jTokens) with their addresses and underlying assets.
List all supported TRON networks for JustLend.
Get TRC20 token balance for an address.
Get transaction details by transaction hash.
Get transaction info including fees and status.
Get TRX balance for an address.
Get unclaimed mining rewards (JST, USDD, WBTC, etc.) for an account.
Get voting power in JST governance tokens.
Get the configured wallet address. This wallet is used for all lending operations.
Repay borrowed assets to a JustLend market. Supports both TRX and TRC20 repayments. Requires TRON_PRIVATE_KEY or TRON_MNEMONIC.
Send a generic TRON transaction. For advanced usage. Requires TRON_PRIVATE_KEY or TRON_MNEMONIC.
Supply underlying assets to a JustLend market to earn interest. Supports both TRX (native) and TRC20 tokens. Requires TRON_PRIVATE_KEY or TRON_MNEMONIC.
Unfreeze TRX after 3 days. Requires TRON_PRIVATE_KEY or TRON_MNEMONIC.
Validate a TRON address format and type (Base58 or Hex).
Withdraw supplied assets from a JustLend market. Requires TRON_PRIVATE_KEY or TRON_MNEMONIC.
Parameter descriptions are minimal and lack context. Most describe the parameter value only (e.g., 'jToken symbol (e.g. \'jUSDT\', \'jTRX\')') without explaining when to use the tool, prerequisites, or dependencies on other parameters.
Overlapping tools with unclear distinctions. get_account_summary, get_account_data_from_api, and get_address_info all retrieve account data via different backends. Descriptions do not explain when to use each (contract queries vs API vs RPC). Per naming patterns, when multiple tools operate on the same resource, their names must make the distinction obvious.
Parameter interdependencies are undocumented. For example, approve_underlying requires 'market' (jToken symbol), but it is unclear if symbol or address is accepted, and what happens if the market is not supported. Similarly, call_contract accepts 'params' as a JSON string, agents have no format specification.
No output result limits documented. Tools like get_all_markets, get_proposals, and get_markets_from_api may return large result sets without pagination hints or result caps. No mention of next_cursor or limit parameters in responses.
Tool descriptions do not distinguish between read-only and write operations clearly enough. While annotations exist, descriptions for write tools (approve_underlying, supply, borrow, repay) should explicitly state 'This modifies your JustLend position' or similar to guide LLM selection.
Confirmation/dry-run patterns missing for irreversible operations. Tools like send_transaction, supply, borrow, and claim_rewards can cause real financial loss but lack a dry-run or confirmation step. No mention of MRTR (Multi Round-Trip Request) with input_required for user confirmation.