Analyzes Solana wallet DeFi activity, creates wallet profiles, identifies transaction patterns, recommends strategies, and provides detailed transaction information
Portfolio Tracker has three tools with basic schemas and descriptions present, but they suffer from significant gaps in parameter documentation, output schema specification, and error handling guidance. Tool names follow verb-noun convention (fetch, analyze, get), which is correct. However, parameter descriptions are minimal, output structures are not formally documented, and there is no guidance on error recovery or tool chaining. The server implements caching and DeFi analysis logic but exposes none of this to the LLM as structured output. Descriptions are adequate but generic, averaging ~80 chars, above the 34-char floor but well below the 194-char baseline for production tools. None of the tools include enum constraints, format specifications, or pagination hints despite dealing with transaction lists. This is representative of a community-grade server: functional but not production-ready.
Analyzes a Solana wallet's DeFi activity and creates a profile with recommendations
Fetches the transaction activity history for a Solana wallet address
Gets detailed information about a specific Solana transaction by signature
Output schemas not documented. Tools return text content in an array but LLMs cannot see the structure of individual transaction or analysis objects, forcing them to parse unstructured text.
analyzeWallet tool produces complex DeFi analysis (staking, lending, liquidity positions, trading patterns) but returns it as plain text with no schema. LLM cannot extract structured recommendations, APY ranges, or position details programmatically.
fetchWalletActivity accepts a 'limit' parameter (default 20) but no pagination mechanism (page/offset/cursor) is documented. If an agent needs historical data beyond 20 transactions, it cannot retrieve it without making multiple calls with no way to track position.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 40 | - | v1 |
Parameter descriptions are minimal. 'address' is described as 'Solana wallet address' (33 chars), no format specification, no hint about validation, no example format. 'signature' is just 'Solana transaction signature' (28 chars), vague about what constitutes a valid signature.
No error handling guidance. If a wallet address is invalid, not found, or the Solana RPC endpoint is down, the agent receives no recovery path. Error messages are not visible in the tool definition.
No enum constraints on any parameter. 'address' accepts a free-form string with no format validation declared. 'limit' has a numeric type but no min/max bounds documented (rubric baseline: specify 1 - 100 for pagination limits).
Tool descriptions do not answer: 'When should I call this instead of another tool?' or 'What does it return?' All three tools operate on Solana wallets, no guidance on when to use analyzeWallet vs fetchWalletActivity vs getTransactionDetails.