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:
list_markets— markets enabled on your accountget_company_analysis— our analyst: latest call (Buy / Hold / Sell) plus annual filing red flagsget_company_financials— multi-year series in one call (fiscal_year_from/to,line_items, optionalas_of)- Or drill into one filing:
list_filings→get_company_financialswithas_of 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_id | Registry | Typical forms |
|---|---|---|
| us | SEC EDGAR | 10-K, 10-Q, 8-K, 20-F |
| jp | EDINET | Yūho, quarterly reports |
| hk | CNINFO · HKE | Annual, interim HK |
| kr | OpenDART | Annual, quarterly KR |
| cn | CNINFO · SZSE/SSE | Annual, interim CN |
| eu | ESEF · XBRL | Annual XBRL EU |
See filings as they land in Filings — same KPI normalization, no account required. Atom (RSS+) at /feed.xml.
MCP tools
Markets
list_markets— Markets available on your account (call first for allowed market_id values). EU/EEA country ids also search eu (ESEF financials).
Discovery
search_ticker— Resolve a name, ticker, ISIN, or LEI to an entity across markets (EU/EEA country market_id also matches eu listings)list_filings— Regulator filings + IR-site documents for a ticker (source=investor_relations on IR rows)get_filing— One filing or IR document by UUID (sections apply to regulator filings only)
Financials
get_company_financials— As-filed period series (fiscal_year_from/to, line_items, as_of) plus Street earnings calendar
Market data
get_price_snapshot— Quote (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_analysis— Our analyst rollup — latest call (Buy / Hold / Sell + history) and annual filing red flagslist_transcripts— Earnings-call transcript metadata for an issuerget_transcript— Full call body; include_analysis=true for our analyst on that call
Narrative
list_filing_sections— Table of contents for a filingget_filing_section— Section body text
Account
list_notifications— Your inbox — filing, press, and insider alerts with drill_down hints (auth required, no quota)
News
list_news— Press metadata per entity (GNW + Satelight; Pro; news_id + action_tier on each row)get_news— Full 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.