FinancialFilings
Server Details
Regulatory filings, XBRL financials and company data from securities regulators worldwide
- Status
- Healthy
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- financial-reports/financial-reports-mcp-server
- GitHub Stars
- 2
- Server Listing
- FinancialReports MCP Server
TDQS
Score is being calculated.
Available Tools
16 toolscompanies_financials_retrieveRetrieve Company FinancialsRead-onlyIdempotentInspect
Experimental endpoint — the response schema may change without an API version bump.
Returns standardized financial KPIs for a company as a structured document: a company envelope containing periods, each holding its Income Statement, Balance Sheet and Cash Flow statements, each holding line_items.
When several filings report the same period, the candidates are ranked and one statement is selected. A filing the company reports its own financials in beats one it does not, such as an employee benefit plan's Form 11-K or a filing notice. A statement in the currency the company reports in beats an off-currency one, which is usually a subsidiary's filing that resolved to the parent. A complete statement beats a fragment, such as the single restated line in an amendment. Only then does the most recently published filing win. A selected statement denominated in a currency other than the company's carries currency_mismatch: true.
Currency is as presented, and is never converted. currency is the currency the statement is denominated in as the filer presented it - the presentation currency, not the functional currency, which we do not capture. No figure in this payload is ever translated into another currency at any rate, and value being in absolute units makes values comparable across scales, not across currencies. A company that re-presents in a new currency therefore produces a series whose units change partway through, with no restatement of the earlier years:...
When to use this tool: Use to get standardized financial line items (income statement, balance sheet, cash flow) for a company. Data is deduplicated across filings — the most recently published filing wins. SOURCING: attribute every figure to its fiscal period + period_end_date and reporting currency. GROUNDEDNESS (critical): report ONLY values present in the periods this call returns. If period_count is 0 or periods is empty, FinancialFilings has no structured financials for this company yet (common for US/SEC issuers — structured data is currently ESEF/EU-derived and being expanded). Do NOT stop and do NOT estimate — FALL BACK to the filing: call filings_list for this id filtered with type (or types) to an annual report (e.g. 10-K, 20-F, or the local annual type) with ordering='-release_datetime' and page_size=10, take the NEWEST row (do not gate on processing_status — it can be null, and null means unknown), retrieve it with filings_markdown_retrieve, and read the figures directly from the filing body — citing the filing type, date, and fiscal period. Never estimate, recall a figure from training knowledge, or attach a citation to a number you did not read from a tool result this session. PROVENANCE: treat a figure as as-reported ONLY when raw_value AND scale are BOTH non-null. If either is missing there is no as-reported pair, so you cannot assert the figure was read off the page — do not present it as sourced from the filing. An arithmetic tie between totals does NOT establish provenance: a computed figure is chosen to make the totals tie. To verify a figure, take source_filing.id (or the sources entry with is_selected: true, field filing_id) — it is already in this response, so no filings_list call is needed — and read it with filings_markdown_retrieve (no processing_status check first: the field is not on this response; a not-found error means no Markdown is available for that filing — do not promise it will appear). LINE ITEM CODES: line_items takes exact lower-case snake_case codes, comma-separated (not ;); an unknown code is a 400 naming it. The codes most often guessed wrong: net_income -> net_income_loss, operating_income -> operating_income_loss, total_debt -> total_debt_bs, free_cash_flow -> levered_free_cash_flow_cf, capital_expenditure -> capital_expenditure_cf, operating_cash_flow -> cash_from_operations, eps -> basic_eps / diluted_eps, cash -> cash_and_equivalents. Not sure of a code? Omit line_items to get every line item.
When NOT to use this tool: Don't use for filing documents or markdown content — use filings_list + filings_markdown_retrieve. Don't use without resolving the company ID first via companies_list.
Examples:
Munich Re 2024 income statement -> id=, fiscal_year=2024, statement_type='IS' (Use depth + parent_code to render Capital IQ-style hierarchy)
Compare EBITDA across 3 companies -> id=, statement_type='IS', line_items='ebitda' (Call in parallel for each company. Always show currency.)
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| as_of | No | ||
| line_items | No | Comma-separated KPI codes to include (e.g. `revenue,ebitda,net_income_loss`). Omit to return all extracted line items. Statements with none of the requested codes are dropped. Unknown codes return `400` — see `/line-item-definitions/`. | |
| fiscal_year | No | ||
| fiscal_period | No | Filter by fiscal period. | |
| fiscal_year_to | No | ||
| statement_type | No | ||
| fiscal_year_from | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| notice | No | |
| filters | No | |
| periods | No | |
| currency | No | |
| company_id | No | |
| period_count | No | |
| history_window | No | |
| sources_masked | No |
companies_listList CompaniesRead-onlyIdempotentInspect
Retrieve a paginated list of companies.
When to use this tool: Use as the first step to resolve a company name, ticker, or partial match to a FinancialFilings internal ID. Required before calling any per-company tool (financials, filings, watchlist). CONFIRM the match — state the resolved company's full name and country before reporting data ("Apple" can surface "Apple Hospitality REIT"). PEER / SCREENING LISTS: include ONLY companies whose requested data you actually retrieved this session; if a candidate's data comes back empty, mark it "no data available" or drop it — never invent a figure to complete the list. A short honest list beats a long fabricated one.
When NOT to use this tool: Don't use if you already have a company ID from a previous call. Don't use for ISIN lookups — use isins_retrieve instead.
Examples:
Find Apple -> search="Apple" (Inspect results — 'Apple Inc.' vs 'Apple Hospitality REIT')
German automotive companies -> countries="DE", sector="C" (ISIC Section C = Manufacturing)
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | ||
| lei | No | ||
| isin | No | ||
| page | No | ||
| view | No | summary | |
| search | No | ||
| sector | No | ||
| ticker | No | ||
| industry | No | ||
| ordering | No | ||
| countries | No | ||
| page_size | No | ||
| on_watchlist | No | ||
| sub_industry | No | ||
| industry_group | No | ||
| listing_status | No | ||
| date_public_after | No | ||
| date_public_before | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| next | No | |
| count | No | |
| results | No | |
| previous | No |
companies_next_annual_report_retrievePredict Next Annual ReportRead-onlyIdempotentInspect
Calculates the expected release window for the next annual report based on historical filing patterns.
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
companies_resolve_createResolve Companies by Identifier (Batch)Read-onlyIdempotentInspect
Reconcile a list of your identifiers against our coverage in one request.
Each row may carry any mix of isin, lei, cik, ticker and name, plus an optional opaque ref echoed back so you can join results to your source rows. Results are returned in input order.
Resolution order — ISIN, LEI, CIK, ticker, venue ticker, name. First hit wins, but every identifier you supply is evaluated: if two of them resolve to different companies the row comes back ambiguous with identifier_conflict and both in candidates, rather than us silently picking one.
A name alone never returns matched. No matter how close the match, a name-only row caps at ambiguous and hands you candidates to choose from. Names are not identifiers, and asserting a match on one is how filings end up attached to the wrong issuer.
Venue-ticker matches are qualified, not asserted. A ticker that only resolves through our security-listing data is cross-checked against the name you supplied. If they disagree you get ambiguous + name_disagrees; if you supplied no name we cannot corroborate at all, so you get matched carrying security_listing_unverified — trust that bucket accordingly.
Billing — one request is one call against your quota, whatever the row count. Rows we do not cover are not billed differently from rows we do.
Maximum 500 rows per request. Up to 50 rows per request reach the name lookup; beyond that a row carrying only a name returns not_covered with `name_t...
When to use this tool: Use when the user hands you a list of identifiers — a spreadsheet column, a portfolio, a peer set — and you need FinancialFilings IDs for all of them. One request covers up to 500 rows and costs one call against quota regardless of row count, so it is far cheaper than a companies_list search per name. Pass an opaque ref per row to join the results back to the user's own rows. Act only on rows whose status is matched; for ambiguous, ask the user to choose from candidates rather than picking one yourself.
When NOT to use this tool: Don't use for a single company — companies_list (name/ticker) or isins_retrieve (ISIN) is one hop and returns richer match context. Don't send more than 50 name-only rows in one request: rows past that cap return not_covered with name_tier_skipped, so split name-heavy batches.
Examples:
Here are 40 tickers from my portfolio — pull their latest filings -> rows=[{"ref": "row-1", "ticker": "GOOG", "name": "Alphabet Inc."}, ...] (Resolve every ID in one call, then fan out to filings_list per matched row)
Do you cover these ISINs? -> rows=[{"isin": "US5949181045"}, {"isin": "US0378331005"}] (not_covered means no coverage — say so; never substitute a near match)
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
companies_retrieveRetrieve Company DetailsRead-onlyIdempotentInspect
Retrieve detailed information for a single company by its internal ID.
When to use this tool: Use to get full company metadata (LEI, description, address and city, social links, stock exchanges, indices) after resolving the ID via companies_list.
When NOT to use this tool: Don't use for financial data — use companies_financials_retrieve. Don't use just to confirm a company exists — companies_list already returns enough for identification.
Examples:
What's the LEI for ASML? -> id= (Returns lei field)
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | Unique identifier for the company. |
| lei | No | Legal Entity Identifier (ISO 17442). |
| city | No | The city where the company's headquarters is located. |
| logo | No | URL of the company's logo file. |
| name | No | Company name. |
| isins | No | ISINs associated with the company (capped at 100; use the ISIN endpoint for the full list). |
| sector | No | Company's ISIC Section classification. |
| ticker | No | Primary stock ticker symbol. |
| address | No | The company's primary street address. |
| ir_link | No | Link to the company's Investor Relations page. |
| tagline | No | A short, one-liner describing the company's value proposition. |
| date_ipo | No | Date of the company's Initial Public Offering (IPO). Returns null when the IPO date is unknown. |
| industry | No | Company's ISIC Group classification. |
| listings | No | Equity venue listings for this company (exchange + ticker), deduplicated by (MIC, ticker). Excludes warrants/options/futures/rights. Populated from per-venue identifier data; coverage expands over time. |
| zip_code | No | The postal or ZIP code for the company's address. |
| headcount | No | Approximate number of employees. |
| is_listed | No | Indicates if the company is currently publicly listed. |
| is_merged | No | True when this company record has been retired as a duplicate and replaced by the company in `merged_into`. Retired records are excluded from the company list but remain retrievable by id so an existing integration can discover the replacement rather than receiving a bare 404. See the merges feed at /companies/merges/. |
| isin_count | No | Total number of ISINs associated with this company. |
| legal_city | No | The city of the registered legal address sourced from GLEIF. |
| legal_form | No | The ISO 20275 Entity Legal Form sourced from GLEIF. |
| date_public | No | Date this company record was last updated on the FinancialFilings platform. This is NOT the IPO date — see `date_ipo` instead. |
| description | No | A detailed description or 'About Us' text for the company. |
| merged_into | No | The canonical company that replaced this one, or null when this record is live. Repoint stored references to this id. |
| served_area | No | Geographical area served by the company. |
| social_xing | No | Xing company profile identifier. |
| stock_index | No | A list of stock indices the company is a component of. |
| country_code | No | ISO 3166-1 alpha-2 country code of the company's primary registration or headquarters. |
| jurisdiction | No | The legal jurisdiction of incorporation sourced from GLEIF. |
| legal_status | No | The operational and legal registration status sourced from GLEIF (e.g., ACTIVE, INACTIVE). |
| primary_isin | No | The company's primary ISIN (ISO 6166), or null when no primary is designated. Equivalent to isins[0] when a primary exists. |
| sub_industry | No | Company's ISIC Class classification. |
| year_founded | No | Date the company was founded. |
| contact_email | No | General contact email address. |
| homepage_link | No | Link to the company's main homepage. |
| legal_address | No | The official registered legal address of the company sourced from GLEIF. |
| social_tiktok | No | TikTok profile identifier. |
| delisting_date | No | Date the company was delisted, if known. Null while listed. |
| industry_group | No | Company's ISIC Division classification. |
| legal_zip_code | No | The postal code of the registered legal address sourced from GLEIF. |
| listing_status | No | Canonical exchange-listing state. One of: LISTED, DELISTED, SUSPENDED, UNKNOWN. The boolean `is_listed` is derived from this (False only when DELISTED). |
| social_twitter | No | Twitter handle (without @). |
| social_youtube | No | YouTube channel identifier. |
| social_facebook | No | Facebook profile/page identifier. |
| social_linkedin | No | LinkedIn company page identifier/URL path. |
| delisting_reason | No | Reason for delisting when DELISTED: ACQUISITION, BANKRUPTCY, GOING_PRIVATE, REGULATORY, VOLUNTARY, EXCHANGE_TRANSFER, MATURED, OTHER. Empty string while listed. |
| local_company_id | No | Local registration or jurisdiction-specific ID (e.g., HRB 24902, CIK 123456). |
| social_glassdoor | No | Glassdoor company identifier. |
| social_instagram | No | Instagram profile identifier. |
| social_pinterest | No | Pinterest profile identifier. |
| corporate_video_id | No | Identifier for a corporate video (e.g., YouTube ID). |
| designated_sponsor | No | Financial institutions that act as market makers for the company's stock. |
| shares_outstanding | No | The total number of a corporation's stock shares that have been authorized and issued. |
| main_stock_exchange | No | Primary stock exchange where the company is listed. |
| listed_stock_exchange | No | A list of stock exchanges where the company is listed. |
| description_last_updated | No | Timestamp of the last update to the company's description. |
filing_categories_listList Filing CategoriesRead-onlyIdempotentInspect
Retrieve the 11 standardized disclosure types (categories) defined by the FRCF.
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| page_size | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
filings_listList FilingsRead-onlyIdempotentInspect
Retrieve a paginated list of regulatory filings.
When to use this tool: Use to search and filter regulatory filings across companies. Supports filtering by company, filing type, category, country, date range. Returns metadata — not filing content. VIEW: both views carry processing_status. view='full' adds more metadata fields and is larger, so pass it only when you need those fields. Never gate filing selection on processing_status: a null value means unknown, not "no markdown". LINKS for a human: viewer_url, except when processing_status is PENDING/QUEUED/PROCESSING/FAILED/SKIPPED and file_extension is not PDF/HTML/HTM/XHTML — that page is empty, so give the raw file link (document_url on default rows, document on view=full rows); if it is null, say no file link is available yet. A null status is not a reason to switch.
When NOT to use this tool: Don't use to get filing content — use filings_markdown_retrieve after getting the filing ID. Don't use for financial KPIs — use companies_financials_retrieve.
Examples:
Apple's most recent 10-K -> company=, type='10-K', ordering='-release_datetime', page_size=1 (
typetakes ONE filing-type code and is jurisdiction-specific;typestakes a comma-separated list. For cross-jurisdiction queries filter bycategory/categories(numeric FilingCategory ids) instead.)All insider transactions at Tesla in the last 30 days -> company=, type='DIRS', release_datetime_from='T00:00:00Z' (release_datetime_from is a date-TIME (YYYY-MM-DDTHH:MM:SSZ). Compute the cutoff from the current date given in this tool's description — never hardcode one.)
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
| lei | No | ||
| page | No | ||
| type | No | Filter by a single FinancialFilings Filing Type code (e.g., 10-K). An unrecognised code is rejected with a 400. These are FinancialFilings taxonomy codes, not regulator form names -- see GET /filing-types/. | |
| view | No | summary | |
| types | No | Filter by multiple FinancialFilings Filing Type codes. Comma-separated (e.g., 10-K,IR). An unrecognised code is rejected with a 400. These are FinancialFilings taxonomy codes, not regulator form names -- a regulator's own form name belongs on the source_filing_type filter. See GET /filing-types/. | |
| search | No | ||
| source | No | ||
| company | No | ||
| sources | No | ||
| category | No | ||
| language | No | ||
| ordering | No | ||
| countries | No | ||
| languages | No | ||
| page_size | No | ||
| categories | No | ||
| extensions | No | ||
| fiscal_year | No | ||
| company_isin | No | ||
| on_watchlist | No | ||
| file_size_max | No | ||
| file_size_min | No | ||
| fiscal_period | No | Filter by fiscal period. Possible values: `FY` (Full Year), `Q1`, `Q2`, `Q3`, `Q4`, `H1` (First Half), `H2` (Second Half). Only populated for filing types: 10-K, 10-K-ESEF, IR, ER. | |
| ingestion_mode | No | ||
| listing_status | No | ||
| max_confidence | No | ||
| min_confidence | No | ||
| updated_date_to | No | ||
| processing_status | No | ||
| updated_date_from | No | ||
| period_ending_date | No | ||
| reasoning_contains | No | ||
| source_filing_type | No | Filter by the regulator's own form name, exactly as the source publishes it (e.g., 10-Q, 8-K, 6-K for SEC). Case-sensitive exact match; this is open free text that varies by regulator, not a controlled vocabulary. | |
| processing_statuses | No | ||
| release_datetime_to | No | ||
| added_to_platform_to | No | ||
| period_ending_date_to | No | ||
| release_datetime_from | No | ||
| added_to_platform_from | No | ||
| period_ending_date_from | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| next | No | |
| count | No | |
| results | No | |
| previous | No | |
| history_window | No | Present when the caller's plan applies a rolling history window AND this request reached past its cutoff. Absent for callers with unrestricted history. It means the PLAN bounds how far back this account can see — filings older than the cutoff exist in the FinancialFilings archive. It is never a statement about catalog coverage, and it does not by itself prove that this particular result set lost rows. |
filings_markdown_retrieveRetrieve Filing MarkdownRead-onlyIdempotentInspect
Retrieve the raw processed content of a single filing in Markdown format.
When to use this tool: Use to get the full text of a filing as Markdown. Supports pagination via offset/limit for long documents. Start with offset=0 and repeat with increasing offsets until the truncation marker is gone, you have found what you were asked for, or you have made 10 calls — whichever comes first. Stop at the cap and say the document was truncated rather than paginating a long filing indefinitely against the request budget.
When NOT to use this tool: Don't use to search for filings — use filings_list first. Not every filing has Markdown content. If a filings_list row shows a processing_status other than "COMPLETED", that filing has no Markdown available (it may still be processing, or may never get any) — if the user asked for THAT filing (e.g. the latest), say so rather than silently answering from an older one. If the field is null or absent, that means unknown — call this tool anyway; a not-found error means no Markdown is available for that filing (do not promise it will appear), while any other error is about access or availability.
Examples:
Show me Apple's 10-K risk factors -> filing_id=, offset=0, limit=50000 (Summarize specific sections — don't dump the whole document)
Returns the full processed Markdown content of a filing in pageable chunks. For long filings, call this tool repeatedly with increasing
offsetvalues until the response no longer contains the truncation marker. Use a limit of 50000 chars (default) for most LLM context windows; the per-call cap is 150000 chars for the whole result (Claude.ai's documented tool-result ceiling), so a full-size slice is trimmed by the length of the header.
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| offset | No | ||
| filing_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
filings_markdown_searchSearch Filing DocumentRead-onlyIdempotentInspect
Search a filing's processed Markdown for query and return ONLY the matching
passages with their character offsets — use this INSTEAD of paging a long filing
to find a specific figure, line item, or section (e.g. query='total revenue').
Case-insensitive. Each hit shows ~440 chars of context and an offset you can pass
to filings_markdown_retrieve to read more around it.
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| max_hits | No | ||
| filing_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
filings_retrieveRetrieve Filing DetailsRead-onlyIdempotentInspect
Retrieve detailed information for a single filing by its ID.
When to use this tool: Use to get full metadata for a single filing — source URL, PDF link, viewer URL, classification confidence, fiscal period. Call after filings_list when you need details beyond the list view. SHAREABLE LINKS: when a human needs to open the filing, hand them a PUBLIC link — viewer_url (the interactive web page) or document (the raw PDF/ZIP). NEVER give a user an /api/... URL — including the paginated next/previous links — those require credentials and 403 for an unauthenticated person. Filing CONTENT for you (the model) comes from filings_markdown_retrieve(filing_id), not from a URL.
When NOT to use this tool: Don't use for the actual filing content — use filings_markdown_retrieve. Don't use to search for filings — use filings_list.
Examples:
Show me the source PDF for this filing -> id= (Returns document (raw PDF/ZIP URL) and proxy_url (rendered))
Send me a link to read this filing -> id= (Share viewer_url (public web page) — never the /api/ markdown URL)
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| title | No | Optional title for the filing |
| source | No | |
| company | No | |
| document | No | Direct link to our hosted copy of the original filing document or package (e.g. PDF/ZIP). Not signed and does not expire; anyone holding the link can download the file. Returns 404 if the filing is later removed or its document replaced. |
| language | No | |
| file_size | No | File size in bytes. Stores locally to avoid storage backend hits. |
| proxy_url | No | Browser-renderable main document: for ZIP packages, a link that extracts and serves the main document; for every other format, the same link as the original document. |
| source_url | No | Original public link for this filing at the source authority. Null when unavailable, for anonymised sources, or when the account does not have source identities unlocked. |
| viewer_url | No | URL to view the filing in the interactive web platform. |
| filing_date | No | The official date of the filing (soon to be deprecated). |
| filing_type | No | |
| fiscal_year | No | The accounting fiscal year this filing covers (e.g., 2024). Populated for annual, quarterly, interim reports and earnings releases. Null if not yet determined. |
| updated_date | No | The date and time this filing record was last modified. |
| fiscal_period | No | The specific fiscal period covered by this filing. Possible values: FY (Full Year), Q1, Q2, Q3, Q4, H1 (First Half), H2 (Second Half). Populated for annual, quarterly, interim reports and earnings releases. Null if not yet determined. * `FY` - Full Year * `Q1` - First Quarter * `Q2` - Second Quarter * `Q3` - Third Quarter * `Q4` - Fourth Quarter * `H1` - First Half * `H2` - Second Half * `9M` - Nine Months |
| file_extension | No | File extension (e.g., PDF, HTML). |
| ingestion_mode | No | Whether the filing was added to the platform promptly after publication. `REALTIME`: added within the source's normal publication delay (5 to 48 hours after `release_datetime`, depending on the source). `BACKFILLED`: everything else, including historical imports and new filings that reached the platform late, for example after a source outage. Set once when the filing is added and not recalculated afterwards. * `REALTIME` - Realtime * `BACKFILLED` - Backfilled |
| release_datetime | No | Time the document was published on the authority page |
| source_filing_id | No | The publisher's own identifier for this document, verbatim. Unique per source. On sources that publish one record per event and fan it out into one row per language and per attachment, the leading portion is a shared event stem, so rows of one disclosure sort together -- see the cross-language grouping recipe in the API docs. Null on legacy rows ingested before the identifier was retained. |
| added_to_platform | No | Date and time when the filing was added to our platform |
| processing_status | No | The lifecycle status of the raw document to markdown conversion. * `PENDING` - Pending * `QUEUED` - Queued * `PROCESSING` - Processing * `COMPLETED` - Completed * `FAILED` - Failed * `SKIPPED` - Skipped |
| period_ending_date | No | The exact date the reported financial period ends (e.g., 2024-12-31). Populated for annual, quarterly, interim reports and earnings releases. Null if not yet determined. |
| source_filing_type | No | The source authority's own classification label, verbatim. Null when the source publishes no label, it was not captured, or the source is anonymised. Not gated on source identities. |
| language_confidence | No | Confidence score (0.0–1.0) from detecting the language against the document's own text. Null when detection reached no usable answer, which includes the case where it never ran — use language_verified_at to tell those apart. |
| language_verified_at | No | When the language was checked against the document's own text. Null means it never was: the language is the value asserted when the filing was ingested, which is reliable for a source that files in one language and a guess for one that publishes the same disclosure in several. A non-null value with a null language_confidence means the document was read but no confident answer came out of it. |
| filing_type_reasoning | No | Step-by-step rationale produced by the automated classification system for the assigned filing type. Indicative only — not manually reviewed. |
| dissemination_datetime | No | Time the document was released to the public and sent to the authority |
| filing_type_confidence | No | Confidence score (0.0–1.0) assigned by the automated classification system for the filing type. |
filing_types_listList Filing TypesRead-onlyIdempotentInspect
Retrieve a paginated list of all available filing types.
When to use this tool: Call when the user names a form or report type that is not in the filing-type table in the instructions, to find its FinancialFilings code before filtering filings_list. A regulator's own form name (10-Q, 8-K, 6-K) is not a code: it goes on filings_list source_filing_type.
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| search | No | ||
| category | No | ||
| page_size | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
get_fr_filing_type_taxonomyFinancialFilings filing-type taxonomyRead-onlyIdempotentInspect
The full 30-code filing-type taxonomy (codes + categories). Read before filtering filings by type — especially for ESG, governance, M&A, dividends, transcripts, or any type beyond 10-K / IR / ER / MDA / DIRS.
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
get_fr_industry_classification_isicFinancialFilings industry classification (ISIC)Read-onlyIdempotentInspect
The ISIC industry hierarchy (sections/divisions/groups/classes) and how to screen peers. Read for any sector, industry, or peer-comparison query, then screen with companies_list(sector=...).
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
get_fr_markdown_fetch_strategyFinancialFilings markdown-fetch strategyRead-onlyIdempotentInspect
When and how to fall back to filings_markdown_retrieve for values the normalized financials dataset doesn't carry, including processing_status caveats (a hint, not a gate) and pagination.
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
isins_listList ISINsRead-onlyIdempotentInspect
Search and resolve ISINs (International Securities Identification Numbers) to companies.
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | ||
| page | No | ||
| codes | No | ||
| search | No | ||
| company | No | ||
| page_size | No | ||
| is_primary | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| next | No | |
| count | No | |
| results | No | |
| previous | No |
isins_retrieveRetrieve ISINRead-onlyIdempotentInspect
Retrieve details for a specific ISIN.
When to use this tool: Use to resolve an ISIN (12-character code like US0378331005) to a company. Fastest path when the user provides an ISIN directly.
When NOT to use this tool: Don't use for name or ticker lookups — use companies_list with the search parameter instead.
Examples:
Look up US0378331005 -> code='US0378331005' (Returns the company associated with this ISIN)
[Server current date: 2026-10-09 — treat this as today.]
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
16 tool updates
- First observed
companies_financials_retrieve - First observed
companies_list - First observed
companies_next_annual_report_retrieve - First observed
companies_resolve_create - First observed
companies_retrieve - First observed
filing_categories_list - First observed
filing_types_list - First observed
filings_list - First observed
filings_markdown_retrieve - First observed
filings_markdown_search - First observed
filings_retrieve - First observed
get_fr_filing_type_taxonomy - First observed
get_fr_industry_classification_isic - First observed
get_fr_markdown_fetch_strategy - First observed
isins_list - First observed
isins_retrieve
Publisher details
- Operator
- FinancialFilings
- Operator website
- https://financialfilings.com/
- Vendor relationship
- First-party
- Documentation
- https://financialfilings.com/mcp/
- Trust center
- Not applicable
- Restrictions
- Not applicable
Related MCP Connectors
SEC filings, financial statements, metrics, insider and institutional holdings as structured data
SEC filings and insider trades in real-time. 10-K, 10-Q, 8-K, Form 4, and company lookup.
SEC filings, insider trades, and earnings data
Verified SEC filing data for US equities: fundamentals, point-in-time values, 13F holders, insiders
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables deep analysis of SEC EDGAR filings through universal company search, document content extraction, and advanced filing search capabilities. Provides AI-ready access to business descriptions, risk factors, financial statements, and full-text search across any public company's SEC documents.-
- FlicenseNot gradedqualityDmaintenanceEnables access to Indian regulatory data including SEBI orders, RBI circulars, MCA company details, GST verification, and more, designed for fintech and legaltech applications.-
- AlicenseBqualityDmaintenanceProvides comprehensive access to financial filings from 7,700+ Asian companies through Japan's EDINET and South Korea's DART systems, enabling search, retrieval, and analysis of financial statements, XBRL data, and dimensional breakdowns.13MIT
- AlicenseAqualityCmaintenanceStructured financial data for ~3,800 Japanese listed companies from EDINET regulatory filings — financials, major shareholders, segments, executive compensation, and corporate history. Remote MCP over HTTPS with OAuth 2.0, free tier.131MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.