An MCP to provide information about the stock market
Both tools have minimal descriptions (under 50 chars) and lack parameter descriptions entirely. Input schemas are present but incomplete, parameters have no type information beyond the inferred string type. No output schemas are documented. The server provides no error handling guidance, validation, or recovery paths. Tool names follow verb_noun convention but descriptions fail to explain WHEN to use each tool or what distinguishes them. No pagination, no structured output documentation, no security considerations.
Get the current price of a stock. It may have a delay of up to 15 minutes.
Get information from a stock. It may have a delay of up to 15 minutes.
Parameter descriptions missing entirely. 'symbol' parameter has no description explaining what a stock symbol is, format constraints, or examples (e.g., 'AAPL', 'MSFT'). LLMs cannot infer parameter meaning from names alone.
Tool descriptions are under 50 characters and lack actionable context. Neither description explains WHEN to use get_stock_info vs get_current_stock_price, what data each returns, or why the 15-minute delay matters. Descriptions must answer: What does it do? When should the LLM call it? What does it return?
Output schemas are not documented. The code shows get_stock_info returns yf.Ticker(symbol).info (a dict) and get_current_stock_price returns a tuple, but no schema is declared. LLMs cannot plan downstream calls or extract fields without knowing the response structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 34 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If yfinance fails (invalid symbol, API timeout, rate limit), the server will raise an unhandled exception. LLMs receive no actionable error message, no retry guidance, and no alternative suggestions.
Input schema lacks type constraints. The 'symbol' parameter is declared as a string but has no enum, pattern, length limits, or format specification. LLMs may pass invalid symbols like 'INVALID_SYMBOL_12345' without validation.