Stock Atlas is a remote MCP server for US public-company and ETF data built from SEC filings. Connect it to Claude and ask questions in plain English; Claude retrieves the figures with the tools below.
About 4,400 US-listed companies and 2,700 ETFs:
eps_diluted, eps_basic) for about 4,300 companies, and regular dividends per share (dps) for about 1,900, both split-adjusted to today's share count and keyed by calendar quarter.fcf_calc: cash from operations minus capital expenditure), and dividend totals by calendar and fiscal year.etf_distribution) for about 2,700 ETFs, by calendar quarter.Stock Atlas holds no analyst estimates. Every value is a reported actual unless it is labelled as company guidance.
Using the data needs a Stock Atlas account with a paid plan or the free trial. Each account can start one 14-day trial with 10,000 requests, from the dashboard or from Claude's approval page when you first connect. No card is needed for the trial. Create an account.
Server URL: https://stockatlas.com/mcp
The connection uses OAuth 2.0. You can disconnect Claude at any time from your dashboard.
Clients that can send a header use an API key from your dashboard:
claude mcp add --transport http stock-atlas https://stockatlas.com/mcp \
--header "Authorization: Bearer YOUR_API_KEY"
Any other client that supports Streamable HTTP: the same URL with the key in an Authorization: Bearer header. Keys are never accepted in the URL.
“Show Apple's annual revenue for the last five fiscal years, with the 10-K for each.”
Claude calls get_financials with ticker AAPL, metric revenue and period type FY. Each row has the fiscal and calendar period, the period end date, the value in USD (fiscal 2025: 416,161,000,000) and the EDGAR link to that year's 10-K.
“Compare comparable store sales growth for O'Reilly and Advance Auto Parts since 2024.”
Claude finds the KPI with search_metrics (kpi.comparable_store_sales_growth_pct), then calls compare_companies for ORLY and AAP. Rows line up on the calendar quarter containing each period's end date, because the two companies' fiscal quarters end on different dates. Values are percentage points as each company reported them.
“What revenue guidance did HubSpot give for 2025, how did it change, and how did they do?”
Claude calls get_guidance for HUBS with metric “revenue”, target FY2025 and every revision. Each row names the earnings release it came in, the guided low and high, and the result: HubSpot's last FY2025 guide was $3.113–3.115 billion, against reported revenue of $3.131 billion, labelled “above”. A link lists the company's 8-K filings on EDGAR around that release.
All tools are read-only. None changes data or acts on your behalf.
search_metrics — Search metric catalogueFind metric ids by name, alias or definition, ranked by how many companies report each.
Metric ids such as 'revenue', 'cfo' or 'kpi.same_store_sales_growth_pct' are the keys used by get_financials, compare_companies and the obs table in run_sql. There are about 82,000, so ids are found here rather than guessed. The most widely reported match is usually the standard one.
query: words to match, e.g. "free cash flow" or "same store sales".limit: how many metrics to return, 1 to 100.get_financials — Get reported financialsReported values of one metric for one company, newest first, with the SEC filing for each period.
Each row is a reported actual: its fiscal and calendar period, period end date, value, unit and currency, what kind of figure it is (income statement, balance sheet, cash flow, per-share, company KPI, or calculated by Stock Atlas), and the 10-K or 10-Q that covers that period with its EDGAR link. Stock Atlas holds no analyst estimates.
ticker: exchange ticker, e.g. "AAPL".metric_id: an id from search_metrics, e.g. "revenue" or "kpi.total_customers_count".period_type: "Q" quarterly, "FY" annual, or "QE" for balance-sheet values at quarter end.fy_from: earliest fiscal year to include, optional.fy_to: latest fiscal year to include, optional.limit: maximum rows, 1 to 500.compare_companies — Compare companies on one metricOne metric side by side for several companies, period by period.
Rows carry both the fiscal period and the calendar quarter that contains the period's end date; calendar_year and calendar_quarter line up companies whose fiscal years end in different months, and are empty for some rows. Values are reported actuals with their unit.
tickers: two to 25 exchange tickers, e.g. ["ORLY", "AAP"].metric_id: an id from search_metrics, e.g. "kpi.same_store_sales_growth_pct".period_type: "FY" annual, "Q" quarterly, or "QE" balance sheet at quarter end.fy_from: earliest fiscal year, optional.fy_to: latest fiscal year, optional.get_guidance — Get company guidanceCompany guidance from 8-K earnings releases, with the reported actual where one exists.
Each row is a forecast the company itself issued: the metric, the target period (e.g. "FY2026" or "2026-Q3"), the earnings release it came in, the guided low, high and value (the midpoint where a range was given), and, once the period has been reported, the actual result and whether it came in above, within or below guidance. By default only the latest guide for each metric and target is returned. sec_8k_filings_url opens the company's 20 most recent 8-K filings on EDGAR as of 100 days after the reported quarter ended, which normally includes the earnings release.
ticker: exchange ticker, e.g. "HUBS".metric: optional words to match the guided metric, e.g. "revenue" or "eps".target_period: optional "FY2026", "2026-Q3" or "2026".include_revisions: true returns every vintage, showing how guidance changed.limit: maximum rows, 1 to 200.get_provenance — Show where a figure came fromWhere a reported figure came from: source, filing reference, confidence tier and any recorded conflicts.
For checking or citing a specific number. tier describes how the value was confirmed: 'tier_a…' values are witness- or filing-confirmed, 'G_…' are anchored to EDGAR, 'C…' are arithmetic derivations, and a null tier means no provenance tier has been assigned.
ticker: exchange ticker.metric_id: an id from search_metrics.period_end: optional ISO date to narrow to one period, e.g. "2024-09-28".run_sql — Run read-only DuckDB SQLRun one read-only query in DuckDB SQL against the Stock Atlas warehouse.
The database is DuckDB; the dialect is documented at https://duckdb.org/docs/stable/sql/introduction and the Stock Atlas tables and columns at https://stockatlas.com/docs/#tables (describe_table lists them too). Suited to screens, rankings and comparisons across many companies. Accepts a single SELECT, WITH, DESCRIBE, SUMMARIZE, SHOW or EXPLAIN statement; each query is limited to 20 seconds and 500 returned rows. Tables: obs, metric, metric_canonical, prices, bridge, filings, guidance, guidance_outcome, conflicts, kpi_coverage, build_meta.
sql: one DuckDB SQL statement.describe_table — Describe a tableThe columns and types of one Stock Atlas table, for writing run_sql queries.
table: one of obs, metric, metric_canonical, prices, bridge, filings, guidance, guidance_outcome, conflicts, kpi_coverage, build_meta.fiscal_year, fiscal_quarter) follow each company's own fiscal calendar. Apple's fiscal 2025 ended on 27 September 2025.calendar_year, calendar_quarter) are the calendar quarter that contains the period's end date, so a quarter ending 31 January is calendar Q1. Use them to compare companies. A minority of quarterly rows have no calendar period assigned; the fiscal period is always present.% values are percentage points: 2.1 means 2.1%.value_kind: income statement, balance sheet, cash flow statement, per-share data, company KPI, or calculated by Stock Atlas.guidance is the midpoint where a range was given, with guidance_low and guidance_high alongside.
run_sql accepts DuckDB SQL (reference). describe_table lists any table's columns.
obs — every reported value: ticker, metric_id, ptype (Q, FY or QE), fy, fq, cy, cq, period_end, value, unit, currencymetric — the metric catalogue: id, name, family, unit, definition, how many companies report itmetric_canonical — groups company-specific metric ids under a common conceptprices — daily open, high, low, close and volume for stocks and ETFs (IEX); columns ticker, d, open, high, low, close, volumebridge — each company's fiscal quarters mapped to period end dates and calendar quartersfilings — 10-K, 10-Q and 8-K filings with EDGAR linksguidance — guidance as issued, one row per metric, target period and releaseguidance_outcome — guidance scored against the reported actual, one row per company, metric and target periodconflicts — values where sources disagreed, and howkpi_coverage — how current each company's KPIs are relative to its statementsbuild_meta — the version and date of the data buildStock Atlas is not an investment adviser, and nothing it returns is investment advice.