Documentation

OpenFilings MCP — agentic analyst + filings

OpenFilings MCP is the global agentic financial analyst in your agent: get_company_analysis for our latest call and annual filing read, plus pre-computed KPIs so the model does not invent revenue — at https://api.openfilings.org/mcp.

This page covers what the server does. Ready to wire it up? Connect an agent →

The problem

An analyst or AI agent working across US, Japan, and Hong Kong faces fragmented portals, incompatible GAAP labels, and unstructured earnings-call narrative. Asking an LLM to read a 10-K PDF wastes tokens and risks invented revenue figures. OpenFilings MCP returns our analyst rollup plus canonical KPIs — revenue, operating income, net income, margins, cash flow — already harmonized and validated.

How it works

Your agent calls OpenFilings tools in plain language. Typical flow:

  1. list_markets — markets enabled on your account
  2. get_company_analysis — our analyst: latest call (Buy / Hold / Sell) plus annual filing red flags
  3. get_company_financials — multi-year series in one call (fiscal_year_from/to, line_items, optional as_of)
  4. Or drill into one filing: list_filings get_company_financials with as_of
  5. list_filing_sections / get_filing_section— MD&A, risk factors, business description

How fast is it?

Under a secondfor Golden KPIs on a filing we've already processed — typical in Claude, Cursor, or ChatGPT via MCP.

First request on a new Japanese or Korean report may take a few seconds while we fetch and normalize the official data. After that, it's cached for everyone.

Markets & sources

market_idRegistryTypical forms
usSEC EDGAR10-K, 10-Q, 8-K, 20-F
jpEDINETYūho, quarterly reports
hkCNINFO · HKEAnnual, interim HK
krOpenDARTAnnual, quarterly KR
cnCNINFO · SZSE/SSEAnnual, interim CN
euESEF · XBRLAnnual XBRL EU

See filings as they land in Filings — same KPI normalization, no account required. Atom (RSS+) at /feed.xml.

MCP tools

Markets

  • list_marketsMarkets available on your account (call first for allowed market_id values). EU/EEA country ids also search eu (ESEF financials).

Discovery

  • search_tickerResolve a name, ticker, ISIN, or LEI to an entity across markets (EU/EEA country market_id also matches eu listings)
  • list_filingsRegulator filings + IR-site documents for a ticker (source=investor_relations on IR rows)
  • get_filingOne filing or IR document by UUID (sections apply to regulator filings only)

Financials

  • get_company_financialsAs-filed period series (fiscal_year_from/to, line_items, as_of) plus Street earnings calendar

Market data

  • get_price_snapshotQuote (price, mcap, PE, 52w) + trailing returns + SMA/golden-death cross + vs SPY; pass event_at for the move around a date

Our analyst

  • get_company_analysisOur analyst rollup — latest call (Buy / Hold / Sell + history) and annual filing red flags
  • list_transcriptsEarnings-call transcript metadata for an issuer
  • get_transcriptFull call body; include_analysis=true for our analyst on that call

Narrative

  • list_filing_sectionsTable of contents for a filing
  • get_filing_sectionSection body text

Account

  • list_notificationsYour inbox — filing, press, and insider alerts with drill_down hints (auth required, no quota)

News

  • list_newsPress metadata per entity (GNW + Satelight; Pro; news_id + action_tier on each row)
  • get_newsFull article plain text (elevated plan required; GNW URL fetch ~2–8s)

Example prompts

  • What is OpenFilings' latest view on NVDA? Use search_ticker then get_company_analysis with ticker=NVDA and market=us.
  • Call list_markets, then get_company_financials for AAPL with fiscal_year_from=2020, fiscal_year_to=2024, line_items=ebitda.
  • When is Palantir's next earnings? Use search_ticker then get_company_financials with ticker=PLTR and market_id=us — read the earnings block.
  • List filings for Tencent (0700) on the Hong Kong market and summarize the latest annual report.
  • Compare revenue and net income for AAPL vs MSFT from their latest 10-K filings.

Free access & limits

OpenFilings MCP is free with daily and monthly usage limits — same quota pool as the REST API. list_markets does not count toward your limit. Monitor credits on Dashboard → Usage.