A multi-server MCP deployment with custom helper tools and finance analysis capabilities
Five tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. All tools have descriptions (10-50 chars, below the 50-200 char baseline for LLM optimization). Input schemas present but sparse: calculate and reverse_string lack parameter descriptions; finance tools have better coverage but missing output schema documentation. No error handling guidance, no tool annotations, no idempotency hints. Tools are read-only and simple, but descriptions are too terse to guide LLM selection effectively.
Perform basic math operations.
Calculate key technical indicators (SMA_50, SMA_200, RSI, Volatility).
Calculate price trend, drawdown, and realized volatility for a ticker.
Fetch exact historical stock price data.
Reverse a given string.
Descriptions too short (10-50 chars vs. 50-200 char baseline). 'Perform basic math operations' and 'Reverse a given string' lack context for LLM selection. Should explain WHEN to use, WHAT it returns, and any prerequisites.
Parameter descriptions missing for calculate (a, b, operation) and reverse_string (text). LLMs cannot infer meaning from names alone. 'operation' could mean HTTP operation, database operation, or math operation.
Output schemas not documented. Tools return JSON strings but LLMs don't know field names, types, or structure. fetch_stock_history returns 'history' array but schema is invisible. calculate_trend returns trend metrics but structure is undocumented.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
No error handling guidance. calculate returns 'Error: Cannot divide by zero' and 'Error: Unknown operation' as strings, not structured errors. LLMs cannot distinguish success from failure or know what to do next.
No tool annotations (readOnlyHint, idempotentHint). All tools are read-only but this is not declared. Agents cannot distinguish safe-to-retry tools from destructive ones.