MCP server for controlling TronLink browser extension via AI agents. Provides wallet management, on-chain transactions, multisig operations, and gasfree transfers on the TRON blockchain.
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool names follow verb_noun convention (list, create, set_active). Descriptions are present (100-200 chars) but lack actionable context for LLM selection. Input schemas exist but parameters lack descriptions, wallet_id in tl_wallet_set_active has a description, but tl_wallet_list and tl_wallet_create have empty properties with no guidance. Output schemas are not documented; responses are wrapped in a generic ToolResponse envelope with 'result' field, but the structure of 'result' is never formally specified. Error handling returns error codes and messages but lacks recovery guidance or classification (retryable vs fatal). No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels (READ_ONLY, WRITE). Security concern: tl_wallet_create and tl_wallet_set_active modify state but descriptions do not explicitly warn about prerequisites (funding requirement for create is mentioned, but not for set_active). Composition is sound, three focused tools with clear responsibilities.
Auto-generate an encrypted wallet (local_secure). Use this when no wallet exists and the user wants automatic setup. After creation, the wallet is immediately available for on-chain, gasfree, and multisig operations. Fund the generated address with TRX before performing write operations.
List all agent-wallet wallets with their IDs, types, active status, and TRON addresses.
Switch the active wallet by wallet ID. The new wallet will be used for all subsequent on-chain, gasfree, and multisig operations.
Output schemas not documented. ToolResponse envelope wraps results in an opaque 'result' field; LLMs cannot infer what fields to expect (wallets array structure, address format, etc.). Forces LLMs to guess downstream field names.
tl_wallet_list and tl_wallet_create have empty inputSchema.properties with no parameter descriptions. Even though they accept no parameters, the schema should document this explicitly (e.g., 'This tool requires no parameters').
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). tl_wallet_list is READ_ONLY; tl_wallet_create and tl_wallet_set_active are WRITE operations. Annotations would help LLMs reason about safety and retry logic.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | <=2025-11-25 | v2 |
Error responses lack recovery guidance. Error code 'TL_WALLET_ERROR' is generic; messages do not classify errors as retryable, user-fixable, or fatal. LLMs cannot determine next action.
tl_wallet_create description mentions funding requirement but does not state this is a prerequisite for write operations. tl_wallet_set_active description lacks any mention of wallet state or prerequisites.