SEC financials for AI agents: statements for 8,000+ public companies. 5 tools, free, no key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Returns one company's EDGAR profile by ticker or CIK — name, exchange, industry (SIC), fiscal year end, entity type, and state of incorporation — plus whether standardized financials are loaded for it and, if so, how many facts and the latest reported period. Use after search_companies to confirm a company's identity and financials availability; use get_financials instead for the statements themselves. Read-only; no API key. Provide `ticker` or `cik`; if both are given, `cik` takes precedence. Any listed ticker for a company resolves to that company, not just its primary ticker.
SEC CIK number, e.g. 1045810 (takes precedence over ticker)
Ticker symbol, e.g. 'NVDA' (any ticker the company lists)
Returns one company's EDGAR profile by ticker or CIK — name, exchange, industry (SIC), fiscal year end, entity type, and state of incorporation — plus whether standardized financials are loaded for it and, if so, how many facts and the latest reported period. Use after search_companies to confirm a company's identity and financials availability; use get_financials instead for the statements themselves. Read-only; no API key. Provide `ticker` or `cik`; if both are given, `cik` takes precedence. Any listed ticker for a company resolves to that company, not just its primary ticker.
| Argument | Type | Description |
|---|---|---|
| cik | number | SEC CIK number, e.g. 1045810 (takes precedence over ticker) |
| ticker | string | Ticker symbol, e.g. 'NVDA' (any ticker the company lists) |
{
"type": "object",
"properties": {
"cik": {
"type": "number",
"description": "SEC CIK number, e.g. 1045810 (takes precedence over ticker)"
},
"ticker": {
"type": "string",
"description": "Ticker symbol, e.g. 'NVDA' (any ticker the company lists)"
}
}
}Standardized financial statements for one company from its SEC EDGAR XBRL filings — revenue, net income, EPS, cash flow, and balance-sheet concepts per fiscal period, latest periods first. Use for period-by-period statements; use get_metric_history instead for one concept's long time series, and list_financial_concepts to see which concepts exist. Read-only; no API key. Values are cleaned: when a period was reported more than once the latest filing wins, fiscal periods are verified, and values computed from reported components carry derived:true plus a 'derived:' source tag — this includes Q4 figures, derived as fiscal year minus Q1–Q3 because quarterly filings never contain a filed Q4 (a restated FY or quarter changes the derived value, so derived Q4 can differ from a Q4 filed later). Responses also carry a staleness flag when SEC submissions show a newer filing than the stored facts, and predecessor companies when a ticker moved between filers (e.g. a reorg), whose history is included in the periods. Every value carries per-value provenance (form, filed date, accession number). Identify the company by ticker or CIK (CIK wins if both are given). Coverage loads progressively — roughly 25 more companies refreshed per day, priority tiers first — so a valid company can legitimately return 'no financials stored yet'.
| Argument | Type | Description |
|---|---|---|
| cik | number | SEC CIK number (takes precedence over ticker) |
| limit | number | Number of periods (default 5, max 20) |
| period | string | Annual (10-K) periods, quarterly (10-Q) periods, or all. Default: annual |
| ticker | string | Ticker symbol, e.g. 'NVDA' |
{
"type": "object",
"properties": {
"cik": {
"type": "number",
"description": "SEC CIK number (takes precedence over ticker)"
},
"limit": {
"type": "number",
"default": 5,
"description": "Number of periods (default 5, max 20)"
},
"period": {
"enum": [
"annual",
"quarterly",
"all"
],
"type": "string",
"default": "annual",
"description": "Annual (10-K) periods, quarterly (10-Q) periods, or all. Default: annual"
},
"ticker": {
"type": "string",
"description": "Ticker symbol, e.g. 'NVDA'"
}
}
}Time series for one standardized financial concept for one company (e.g. 'revenue', 'net_income', 'eps_diluted', 'total_assets'), from SEC EDGAR XBRL filings with history back to 2015. Use for a single metric's trend; use get_financials instead for full statements per period, and list_financial_concepts for the valid concept slugs. Read-only; no API key. Each point carries the period start/end, fiscal year and period labels, the value and unit, and per-value provenance (form, filed date, accession number); duplicates and restatements are resolved latest-filed-wins, and values computed from reported components carry derived:true plus a 'derived:' tag — including Q4 points derived as fiscal year minus Q1–Q3. The series spans a company's predecessor chain when a ticker moved between filers, and the response carries a staleness flag when SEC submissions show a newer filing than the stored facts. `period` defaults to all (annual plus quarterly points); `limit` defaults to 40 points, max 200.
| Argument | Type | Description |
|---|---|---|
| cik | number | SEC CIK number (takes precedence over ticker) |
| limit | number | Max data points (default 40, max 200) |
| period | string | Annual points, quarterly points, or all. Default: all |
| ticker | string | Ticker symbol, e.g. 'NVDA' |
| concept* | string | Canonical concept slug (see list_financial_concepts) |
Lists the 22 standardized financial concepts this API builds from SEC XBRL (revenue, cost of revenue, gross profit, operating and net income, EPS, assets, liabilities, equity, cash flow, capex, dividends, shares, and more), each with its label, unit, kind (duration flow vs instant balance-sheet snapshot), and the ordered source XBRL tags it is built from. Use to discover valid `concept` values before calling get_metric_history. Read-only reference data; no API key. A concept missing for a given company means the company reports none of its source tags — absence is honest, never approximated.
No arguments.
{
"type": "object",
"properties": {}
}Searches the SEC EDGAR company directory by ticker or company name fragment and/or industry (SIC) and returns each match's CIK (the SEC's permanent company ID), primary ticker, name, exchange, industry (SIC code and description), and facts_rows (number of standardized financial fact rows loaded — >0 means financials are available). Use to find a company's identifiers before calling get_company or the financial tools; use get_company instead when you already hold a ticker or CIK and want one company's full profile. Read-only lookup of the stored directory; no API key. The directory covers all EDGAR filers and is refreshed from the SEC's ticker files; an exact ticker match ranks first, name matching is case-insensitive, a query over 40 characters is rejected, and industry-filtered lists sort covered companies first. Provide `query`, `sic`, and/or `sic_prefix` — at least one is required; `sic` is an exact industry match of 1-4 digits (e.g. '3674' semiconductors) and `sic_prefix` a 2-digit division match (e.g. '36' electronics).
| Argument | Type | Description |
|---|---|---|
| sic | string | Exact SIC industry code, 1-4 digits, e.g. '3674' (semiconductors) |
| limit | number | Max results (default 20, max 1000) |
| query | string | Ticker symbol or company name fragment, e.g. 'NVDA' or 'nvidia' (max 40 characters) |
| sic_prefix | string | SIC division prefix, 1-2 digits, e.g. '36' (electronics) |
{
"type": "object",
"properties": {
"sic": {
"type": "string",
"description": "Exact SIC industry code, 1-4 digits, e.g. '3674' (semiconductors)"
},
"limit": {
"type": "number",
"default": 20,
"description": "Max results (default 20, max 1000)"
},
"query": {
"type": "string",
"description": "Ticker symbol or company name fragment, e.g. 'NVDA' or 'nvidia' (max 40 characters)"
},
"sic_prefix": {
"type": "string",
"description": "SIC division prefix, 1-2 digits, e.g. '36' (electronics)"
}
}
}{
"type": "object",
"required": [
"concept"
],
"properties": {
"cik": {
"type": "number",
"description": "SEC CIK number (takes precedence over ticker)"
},
"limit": {
"type": "number",
"default": 40,
"description": "Max data points (default 40, max 200)"
},
"period": {
"enum": [
"annual",
"quarterly",
"all"
],
"type": "string",
"default": "all",
"description": "Annual points, quarterly points, or all. Default: all"
},
"ticker": {
"type": "string",
"description": "Ticker symbol, e.g. 'NVDA'"
},
"concept": {
"enum": [
"revenue",
"cost_of_revenue",
"gross_profit",
"research_and_development",
"selling_general_admin",
"operating_income",
"net_income",
"eps_basic",
"eps_diluted",
"operating_cash_flow",
"capital_expenditures",
"net_interest_income",
"noninterest_income",
"insurance_premiums",
"dividends_paid",
"total_assets",
"total_liabilities",
"stockholders_equity",
"cash_and_equivalents",
"long_term_debt",
"short_term_debt",
"shares_outstanding"
],
"type": "string",
"description": "Canonical concept slug (see list_financial_concepts)"
}
}
}