MCP server providing tools for querying S&P 500 company data including financials, news, filings, officers, price data, and company information
The server provides 6 well-named tools with consistent verb_noun naming (get_*) and structured JSON schemas. Descriptions are present for all tools and most parameters. However, there are notable gaps: output schemas are not documented, error handling guidance is missing, and some parameter descriptions lack format/constraint details. The tools are read-only and well-scoped, but the server would benefit from explicit output documentation and recovery guidance for common failure modes.
Get SEC filings history for a company, supports filtering by symbol, date range, and filing type
Get financial metrics for a company, supports filtering by items, date range, with calculated margins and derived metrics
Get complete company basic info, supports symbol and company name queries.
Get recent company news with sentiment analysis, supports filtering by symbol, sentiment, and time range.
Get company executive officers and their compensation info, supports filtering by symbol
Get historical daily OHLCV price data for a company by symbol or company name.
Output schemas are not documented in tool definitions. LLMs cannot infer what fields will be returned, making downstream tool chaining and field extraction error-prone.
No error handling guidance or recovery suggestions. If a company symbol is not found or API fails, the LLM receives no instruction on what to do next (e.g., 'try searching by company name instead').
Date parameters (start_date, end_date) are constrained with regex patterns but lack explicit format documentation in descriptions. LLMs may not read JSON Schema pattern fields; descriptions should spell out 'YYYY-MM-DD format'.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 65 | 2025-06-18+ | v2 |
The 'query' parameter in all tools accepts both 'symbol or name' but does not provide guidance on which to prefer or fallback semantics. LLMs may not know whether to try 'AAPL' first or 'Apple Inc.' first.
get_company_financials 'items' parameter is an array but does not specify what valid items are (e.g., allowed values). LLMs must guess at financial metrics (revenue, net_income, etc.).