MCP server for financial data retrieval including stock information, financial metrics, insider trades, institutional ownership, and news articles
FinDataMCP provides 5 financial data tools with consistent naming (all get_* verbs) and reasonable descriptions (100-250 chars). However, input schemas are minimal, only ticker and optional limit/days_back parameters with basic type info. No output schemas are documented, forcing LLMs to infer response structure. Error handling returns success/error flags but lacks actionable recovery guidance. Parameter descriptions are present but sparse (e.g., 'Stock ticker symbol' is generic; no format hints like 'e.g., AAPL'). No enum constraints, no pagination guidance despite tools returning lists. Descriptions mention returned fields but don't formally document the output schema structure.
Get detailed financial metrics snapshot for a company ticker. Returns various financial ratios and metrics including: - Valuation metrics (P/E, P/B, EV/EBITDA) - Profitability metrics (margins, ROE, ROA, ROIC) - Efficiency metrics (asset turnover, inventory turnover) - Liquidity metrics (current ratio, quick ratio) - Growth metrics (revenue, earnings, cash flow growth) - Per share metrics (EPS, book value per share)
Get insider trading information for a company ticker. Returns detailed information about insider trades including: - Insider's name and title - Transaction details (date, shares, price) - Position changes (shares owned before/after) - Filing information
Get institutional ownership information for a company ticker. Returns detailed information about institutional holdings including: - Investor name - Report period - Position details (shares, price, market value)
Get news articles for a company ticker from the last N days. Returns detailed information about news articles including: - Title and author - Source and URL - Publication date - Sentiment analysis
No output schemas documented. Tools describe returned fields in docstrings but provide no formal JSON Schema for response structure. LLMs cannot reliably extract fields or plan downstream operations.
Error responses lack actionable recovery guidance. Returns {'success': False, 'error': '...'} but does not tell LLM what to do next (retry, ask user, check API key, etc.). Violates recovery-guide pattern.
Parameter descriptions are generic and lack format/constraint hints. 'Stock ticker symbol' does not specify format (uppercase, length, examples). 'Number of trades to return' lacks min/max bounds. LLMs may pass invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
Get stock information for the given ticker.
No pagination or result-limiting guidance. Tools accept 'limit' but do not document max values, default behavior, or whether results are paginated. get_news caps at 100 but others do not state limits.
API key exposed as environment variable without validation. If FINANCIAL_API_KEY is missing, tools return error but do not guide user to set it. No secret injection pattern applied.