stockonomy-mcp
<!-- mcp-name: io.github.InvestmentLLM/stockonomy-mcp -->
# stockonomy-mcp
An MCP server (stdio, Python 3.9+, standard library only) that checks a stated company figure against the SEC filing it came from. Each verdict (`matches_filing`, `first_filed_differently`, `contradicted`, `not_on_file`, `refused`, `absent_in_read`) names the filing accession it was read from. A verdict compares a number with a filing; it says nothing about whether the number or the company is sound.
Tools: `point_in_time` (what a filer's 10-K and 10-Q filings showed on a date; works with no key for AAPL, MSFT, AMZN, TSLA, GOOGL and NVDA), `pit_changes` (every row filed since a date, flagged restated or new; needs a key), `pit_fields` (the data dictionary, 50+ line items), `recasts_free`, `check_figure_free` (one figure, no account, limited per address) and `check_claims` (up to 20 claims about one ticker, writes a receipt on a hash chain you can verify offline; needs an API key).
```json
{"mcpServers": {"stockonomy": {"command": "uvx", "args": ["stockonomy-mcp"],
"env": {"STOCKONOMY_API_KEY": "<optional>"}}}}
```
Docs: https://stockonomy.net/developers · OpenAPI: https://stockonomy.net/openapi.json · Error record: https://stockonomy.net/record/series
Install: `pip install stockonomy-mcp`, then run `stockonomy-mcp`.
mcp-name: io.github.InvestmentLLM/stockonomy-mcp
TDQS
Scored across 6 tools
check_claims and check_figure_free both verify a stated figure against SEC filings, differing mainly in bulk (20 vs 1), auth, and receipt-writing, so an agent could easily pick the wrong one. Similarly, point_in_time (recast=true), pit_changes (restated), and recasts_free all surface restated/changed values, creating conceptual overlap that takes careful reading to separate.
There are partial families (check_claims/check_figure_free, pit_changes/pit_fields) and a recurring _free suffix, which helps. But point_in_time breaks the pit_ prefix convention, and the set mixes verb_noun (check_claims) with noun/noun_phrase styles (point_in_time, recasts_free), so no single predictable pattern holds throughout.
Six tools is well-scoped for the SEC-filings domain, with each tool mapping to a distinct capability (verification, point-in-time query, changefeed, dictionary, recast detection). No obvious redundancy in count or missing slots that warrant more tools.
The surface covers claim verification, point-in-time figures, a daily change feed, a data dictionary, and recast detection, which is strong lifecycle coverage for this domain. Minor gaps remain: no tool to discover supported filers/tickers or to fetch the underlying filing text/document referenced by the verdicts.