MCP server for fetching stock price history and financial data using yfinance
Single tool 'get_stock_info' has a complete JSON Schema with all required parameters typed and described. However, the tool description is in Japanese and lacks clarity on when to use it vs alternatives. Parameter descriptions are present but generic (e.g., '証券コード' without format guidance). No output schema is documented, the tool returns raw JSON from yfinance without specifying field structure, making it hard for LLMs to extract data reliably. Error handling exists but lacks recovery guidance. The tool does one thing (fetch stock data) but composition is minimal with only one tool available.
指定された銘柄コードの株価履歴を取得します。
Tool description is in Japanese ('指定された銘柄コードの株価履歴を取得します。') and lacks English translation. LLM clients may not understand intent. Description should explain WHEN to use this tool and what data structure is returned.
Output schema is not documented. The tool returns raw JSON from yfinance (OHLCV data with Open, High, Low, Close, Volume fields indexed by date), but this structure is not declared in the tool definition. LLMs cannot reliably extract fields without a documented schema.
Parameter descriptions lack actionable constraints. 'period' accepts values like '1d, 5d, 1mo...' but these are listed as examples in the description, not as an enum. LLMs may hallucinate invalid values like '2weeks' or '6months'. Use JSON Schema enum constraint instead.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | <=2025-11-25 | v2 |
Error handling returns generic McpError messages without recovery guidance. E.g., 'Failed to fetch data for AAPL: ...' does not tell the LLM whether to retry, check the ticker symbol, or try a different period. Errors should be actionable.
No pagination or result limiting documented. If yfinance returns thousands of data points, the response could exhaust context. Tool description should state max results and offer pagination parameters.