An MCP server providing tools for portfolio valuation and securities information queries
Server has 5 tools with basic descriptions and input schemas present. However, descriptions are minimal (10-60 chars, well below the 194-char baseline), parameter descriptions lack detail on constraints/formats, and output schemas are not documented. All tools are READ_ONLY and return unstructured strings (JSON serialized), not structured objects. Error handling is present but generic ('Error: ...'). No tool annotations (readOnlyHint, etc.) despite all being read-only. Tool names follow verb_noun pattern (positive), but descriptions do not explain WHEN to use each tool or distinguish overlapping tools (e.g., GetCurrentSecurityInfo vs GetSecuritiesBySector both fetch security data). Parameter 'tickerSymbol' and 'sectorName' lack format constraints. DateTime parameters in GetHistoricalData lack range guidance. No pagination support despite tools returning potentially large result sets.
Get the current portfolio valuation.
Get the current information for a securities ticker symbol.
Get the historical data for a securities ticker symbol.
Get the performance of a sector.
Get the current information for a securities sector.
Descriptions are too short (10-60 chars vs 194-char baseline). LLMs cannot distinguish when to use GetCurrentSecurityInfo vs GetSecuritiesBySector, both fetch security data but descriptions do not explain the difference or use case.
Output schemas not documented. Tools return unstructured JSON strings, not typed objects. LLMs cannot plan downstream calls or extract specific fields reliably.
Parameter descriptions lack format constraints. 'tickerSymbol' and 'sectorName' do not specify valid formats, length limits, or examples. DateTime parameters lack range guidance (e.g., 'startDate must be before endDate').
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | <=2025-11-25 | v2 |
No tool annotations despite all tools being read-only. readOnlyHint should be set on all 5 tools to signal to agents that these are safe to call without side effects.
No pagination support. Tools returning lists (GetSecuritiesBySector, GetHistoricalData) do not accept limit/offset or return total counts. Large result sets will blow context windows.