Annalist Financial Statements MCP
Read-only MCP server providing financial statements, ratios, findings, screens, and peer comparisons from official filings like SEC EDGAR and FCA reports. It allows agents to search companies, retrieve snapshots, and cite figures with source document IDs without requiring an account or API key.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://annalist.io/mcpWhat you can do with it
- Retrieve company financial statements and ratios
- Screen companies based on financial metrics
- Compare multiple companies side-by-side
- Generate credit reviews and peer comparisons
Source and maintenance
Protocol and capabilities
- Server
- annalist 1.3.0
- MCP protocol
- 2025-06-18
- Tools
- 15 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- 3 advertised
{
"tools": {
"listChanged": false
},
"prompts": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
15 advertised
search_companies — Search companies
Find companies covered by Annalist by name, ticker, SEC CIK or id, optionally filtered by country. Returns each company's id (used by the other tools), identifiers, sources and latest snapshot.
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "maximum number of companies (default 20)"
},
"query": {
"type": "string",
"description": "part of a name, ticker, CIK or id; leave empty to list all"
},
"country": {
"type": "string",
"description": "ISO 3166 country code, for example US, GB, ID, HK or JP"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"total",
"companies"
],
"properties": {
"total": {
"type": "integer"
},
"companies": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name"
],
"properties": {
"id": {
"type": "string"
},
"cik": {
"type": [
"string",
"null"
]
},
"name": {
"type": "string"
},
"latest": {
"type": [
"object",
"null"
]
},
"country": {
"type": [
"string",
"null"
]
},
"sources": {
"type": [
"string",
"null"
]
},
"tickers": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}{
"title": "Search companies",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_company_overview — Get a company overview
One answer on a company, the first call for a question about it: identity, sector, latest snapshot, revenue and net income of the latest quarter (or fiscal year) with their change against a year earlier, the latest value of each measure of the directory (margins, returns, growth, debt, liquidity) with its period and unit, the current key findings with their source document ids, 3 peers, data quality and links to the page and the workbook.
{
"type": "object",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"description": "company id from search_companies, for example apple or telkom-indonesia"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"company",
"name",
"snapshot",
"as_of",
"latest",
"measures",
"findings",
"peers",
"citation"
],
"properties": {
"more": {
"type": "string"
},
"name": {
"type": "string"
},
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"links": {
"type": "object",
"required": [],
"properties": {
"api": {
"type": "string"
},
"page": {
"type": "string"
},
"workbook": {
"type": "string"
}
}
},
"peers": {
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": [
"string",
"null"
]
}
}
}
},
"checks": {
"type": "object"
},
"latest": {
"type": "object"
},
"market": {
"type": [
"string",
"null"
]
},
"sector": {
"type": [
"string",
"null"
]
},
"company": {
"type": "string"
},
"country": {
"type": [
"string",
"null"
]
},
"sources": {
"type": [
"string",
"null"
]
},
"tickers": {
"type": "array",
"items": {
"type": "string"
}
},
"citation": {
"type": "object",
"required": [
"snapshot"
],
"properties": {
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"format": {
"type": "string"
},
"snapshot": {
"type": "string"
},
"documents": {
"type": "string"
}
}
},
"exchange": {
"type": [
"string",
"null"
]
},
"findings": {
"type": "array",
"items": {
"type": "object",
"required": [
"rule",
"claim",
"state"
],
"properties": {
"rule": {
"type": "string"
},
"text": {
"type": [
"string",
"null"
]
},
"claim": {
"type": "string"
},
"state": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"module": {
"type": [
"string",
"null"
]
},
"documents": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"industry": {
"type": [
"string",
"null"
]
},
"measures": {
"type": "object"
},
"snapshot": {
"type": "string"
},
"template": {
"type": "string"
},
"documents": {
"type": "integer"
},
"accounting": {
"type": [
"string",
"null"
]
},
"data_quality": {
"type": [
"object",
"null"
]
},
"published_at": {
"type": [
"string",
"null"
]
},
"fiscal_year_end": {
"type": [
"string",
"null"
]
}
}
}{
"title": "Get a company overview",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_statement — Get a financial statement
Figures of one statement for one company from its latest snapshot, filtered by period and item. Every row gives its period with start and end dates, whether each value is reported or derived, and the source document ids of its values; item units are in `items`. Cite the snapshot and the source document id.
{
"type": "object",
"required": [
"company",
"statement"
],
"properties": {
"at": {
"type": "string",
"description": "an ISO date: the snapshot that was the latest on that date, in place of the latest snapshot"
},
"to": {
"type": "string",
"description": "last period, in the same forms"
},
"from": {
"type": "string",
"description": "first period: a fiscal year (2024), a fiscal quarter (FY2024 Q2) or an ISO date"
},
"items": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "item keys to keep, for example [\"revenue\", \"net_income\"]; leave empty for all"
},
"limit": {
"type": "integer",
"maximum": 60,
"minimum": 1,
"description": "maximum rows, latest first kept (default 40, at most 60)"
},
"compact": {
"type": "boolean",
"description": "true for the rows with their units only, without the conventions, item definitions and citation format"
},
"company": {
"type": "string",
"description": "company id from search_companies, for example apple or mizuho"
},
"frequency": {
"enum": [
"annual",
"quarterly"
],
"type": "string",
"description": "for income_statement and cash_flow (default annual); other statements have one frequency"
},
"statement": {
"enum": [
"income_statement",
"cash_flow",
"balance_sheet",
"capital",
"npl",
"shares",
"annual_highlights"
],
"type": "string",
"description": "income_statement, balance_sheet and cash_flow; Mizuho also has capital, npl, shares and annual_highlights"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"company",
"snapshot",
"statement",
"items",
"rows",
"rows_matched",
"truncated",
"citation"
],
"properties": {
"name": {
"type": "string"
},
"rows": {
"type": "array",
"items": {
"type": "object"
}
},
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"items": {
"type": "object"
},
"company": {
"type": "string"
},
"citation": {
"type": "object",
"required": [
"snapshot"
],
"properties": {
"snapshot": {
"type": "string"
}
}
},
"snapshot": {
"type": "string"
},
"frequency": {
"type": "string"
},
"statement": {
"type": "string"
},
"truncated": {
"type": "boolean"
},
"conventions": {
"type": "object"
},
"published_at": {
"type": "string"
},
"rows_matched": {
"type": "integer"
}
}
}{
"title": "Get a financial statement",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_ratios — Get financial ratios
Ratios computed from a company's latest snapshot by formulas with stable ids (bank.roe, corp.roic). Every value gives its unit, period and the snapshot figures it was computed from, each with its value and source document ids. Banks use the bank template (quarterly values annualised; Mizuho under Japanese GAAP, the other banks under US GAAP or IFRS on the measures their statements give); other companies use the corporate template (annual, quarterly and trailing four quarters, ttm), which includes credit metrics, liquidity, earnings quality and forensic scores; scores, credit reconciliations and the liquidity cover also give their parts, named with their coefficients in the catalogue. A value computed with an estimated input, such as the lease cost of the latest fiscal year for quarters that do not report it, names it in estimates; a ratio that a rule leaves out for the company gives the reason in excluded. Call without ratios to list the catalogue of one frequency.
{
"type": "object",
"required": [
"company"
],
"properties": {
"at": {
"type": "string",
"description": "an ISO date: answers when the snapshot that was the latest on that date is the latest one, since ratios are published beside the latest snapshot only"
},
"to": {
"type": "string",
"description": "last period, in the same forms"
},
"from": {
"type": "string",
"description": "first period: a fiscal year (2024), a fiscal quarter (FY2024 Q2) or an ISO date"
},
"limit": {
"type": "integer",
"maximum": 400,
"minimum": 1,
"description": "maximum values, those of the latest periods kept (default 120)"
},
"ratios": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "ratio ids or short names, for example [\"roe\", \"corp.operating_margin\"]; leave empty for all"
},
"compact": {
"type": "boolean",
"description": "true for the values with their units only, without the conventions, the catalogue entries, the inputs and the citation format"
},
"company": {
"type": "string",
"description": "company id from search_companies, for example apple or mizuho"
},
"category": {
"type": "string",
"description": "keep one category, for example Profitability or Credit metrics"
},
"frequency": {
"enum": [
"annual",
"quarterly",
"ttm"
],
"type": "string",
"description": "default annual"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"company",
"snapshot",
"frequency",
"values",
"values_matched",
"truncated",
"citation"
],
"properties": {
"name": {
"type": "string"
},
"engine": {
"type": "string"
},
"ratios": {
"type": "object"
},
"values": {
"type": "array",
"items": {
"type": "object",
"required": [
"ratio",
"period",
"value"
],
"properties": {
"end": {
"type": [
"string",
"null"
]
},
"unit": {
"type": [
"string",
"null"
]
},
"parts": {
"type": "object"
},
"ratio": {
"type": "string"
},
"value": {
"type": [
"number",
"null"
]
},
"inputs": {
"type": "array",
"items": {
"type": "object"
}
},
"period": {
"type": "string"
},
"estimates": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"company": {
"type": "string"
},
"citation": {
"type": "object",
"required": [
"snapshot"
],
"properties": {
"snapshot": {
"type": "string"
}
}
},
"snapshot": {
"type": "string"
},
"template": {
"type": "string"
},
"frequency": {
"type": "string"
},
"truncated": {
"type": "boolean"
},
"conventions": {
"type": "object"
},
"values_matched": {
"type": "integer"
}
}
}{
"title": "Get financial ratios",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_findings — Get key findings
The key findings of a company, written by fixed rules from its figures: each a sentence ready to quote with its rule, claim, state (New, Confirmed, Strengthened, Weakened), the period, the measure and the figures it states with their source document ids. Modules: overview (growth, margins, returns, net debt), credit (debt against the S&P benchmark bands), liquidity, quality (cash backing of earnings) and scores (Altman, Beneish, Piotroski). Pass history for the record of each finding across snapshots, and retired for findings that no longer apply.
{
"type": "object",
"required": [
"company"
],
"properties": {
"module": {
"enum": [
"overview",
"credit",
"liquidity",
"quality",
"scores"
],
"type": "string",
"description": "keep the findings of one module"
},
"company": {
"type": "string",
"description": "company id from search_companies, for example apple or mizuho"
},
"history": {
"type": "boolean",
"description": "true to add the records of each finding: state, change type, period and snapshot"
},
"retired": {
"type": "boolean",
"description": "true to add the findings that no longer apply"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"company",
"snapshot",
"count",
"findings",
"citation"
],
"properties": {
"name": {
"type": "string"
},
"page": {
"type": "string"
},
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"count": {
"type": "integer"
},
"company": {
"type": "string"
},
"modules": {
"type": "array",
"items": {
"type": "string"
}
},
"citation": {
"type": "object",
"required": [
"snapshot"
],
"properties": {
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"format": {
"type": "string"
},
"snapshot": {
"type": "string"
},
"documents": {
"type": "string"
}
}
},
"findings": {
"type": "array",
"items": {
"type": "object",
"required": [
"thread",
"rule",
"claim",
"state",
"figures",
"documents"
],
"properties": {
"rule": {
"type": "string"
},
"text": {
"type": [
"string",
"null"
]
},
"basis": {
"type": [
"string",
"null"
]
},
"claim": {
"type": "string"
},
"since": {
"type": [
"string",
"null"
]
},
"state": {
"type": "string"
},
"title": {
"type": [
"string",
"null"
]
},
"active": {
"type": "boolean"
},
"module": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"string",
"null"
]
},
"thread": {
"type": "string"
},
"figures": {
"type": "array",
"items": {
"type": "object"
}
},
"history": {
"type": "array",
"items": {
"type": "object"
}
},
"measure": {
"type": [
"object",
"null"
]
},
"snapshot": {
"type": [
"string",
"null"
]
},
"documents": {
"type": "array",
"items": {
"type": "string"
}
},
"period_end": {
"type": [
"string",
"null"
]
},
"rule_version": {
"type": "string"
},
"claim_meaning": {
"type": [
"string",
"null"
]
}
}
}
},
"snapshot": {
"type": "string"
},
"conventions": {
"type": "object"
},
"corrections": {
"type": "array",
"items": {
"type": "object"
}
},
"findings_version": {
"type": "string"
}
}
}{
"title": "Get key findings",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}screen_companies — Screen companies
Screen the companies of the coverage as the Screener page of Annalist does, or rank them by one measure. With screen, the conditions of the page joined by commas: roic.gt.12 (latest value above 12; lt below), roic.gt.12.y5 (above 12 in each of the last 5 fiscal years), om.up.3 (higher than the year before in each of the last 3 fiscal years; dn lower), dte.chg.gt.0.5.y1 (change over the last fiscal year above 0.5), roic.top.25 (among the highest 25% of the companies screened; bot the lowest; .s within the sector) and band.in.minimal-modest (credit and quality signals: band, cover, netdebt, fcf, backing, altman, piotroski, beneish). start runs a starting screen such as rising-debt or high-returns. Each company comes with the figures behind each condition and its page, and page links the same screen for a person. Without screen, where and sort filter and rank by the latest value of ratio ids with a frequency, as corp.roic@ttm or corp.current_ratio@quarterly; an amount such as corp.net_debt is ranked within its currency. Call without arguments to list the measures and the starting screens.
{
"type": "object",
"properties": {
"sort": {
"type": "string",
"description": "the measure to rank by, for example corp.operating_margin@ttm"
},
"basis": {
"enum": [
"latest",
"fy"
],
"type": "string",
"description": "with screen: latest (default) for the last 4 quarters where reported, fy for the latest fiscal year of every company"
},
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1,
"description": "maximum companies (default 20)"
},
"order": {
"enum": [
"desc",
"asc"
],
"type": "string",
"description": "desc (default) for the highest first"
},
"start": {
"type": "string",
"description": "a starting screen of the Screener page, for example high-returns, rising-debt or credit-watch"
},
"where": {
"type": "array",
"items": {
"type": "object",
"required": [
"measure"
],
"properties": {
"max": {
"type": "number"
},
"min": {
"type": "number"
},
"measure": {
"type": "string"
}
},
"additionalProperties": false
},
"maxItems": 8,
"description": "conditions that every company meets, for example [{\"measure\": \"corp.roic@ttm\", \"min\": 15}]"
},
"screen": {
"type": "string",
"maxLength": 400,
"description": "the conditions of a screen, for example roic.gt.12.y5,nde.lt.2 or band.in.significant-aggressive"
},
"sector": {
"type": "string",
"description": "part of a sector name, for example Technology or Health care"
},
"country": {
"type": "string",
"description": "ISO 3166 country code, for example US, GB, ID or HK"
},
"markets": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 6,
"description": "with screen: ISO country codes, for example [\"SG\", \"ID\"]"
},
"currency": {
"type": "string",
"description": "keep the companies that report in one currency, for example USD"
},
"industry": {
"type": "string",
"description": "part of an industry name, for example Semiconductors or Banks"
},
"template": {
"enum": [
"corporate",
"bank"
],
"type": "string"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"measures",
"matched",
"companies",
"truncated"
],
"properties": {
"note": {
"type": "string"
},
"page": {
"type": "string"
},
"basis": {
"type": "string"
},
"start": {
"type": "object"
},
"screen": {
"type": "string"
},
"filters": {
"type": "object"
},
"matched": {
"type": "integer"
},
"measures": {
"type": "object"
},
"screened": {
"type": "integer"
},
"companies": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"values"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"page": {
"type": "string"
},
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"sector": {
"type": [
"string",
"null"
]
},
"values": {
"type": "object"
},
"country": {
"type": [
"string",
"null"
]
},
"reports": {
"type": "string"
},
"industry": {
"type": [
"string",
"null"
]
},
"template": {
"type": "string"
},
"latest_period": {
"type": [
"string",
"null"
]
}
}
}
},
"truncated": {
"type": "boolean"
},
"conditions": {
"type": "array",
"items": {
"type": "object"
}
},
"rules_version": {
"type": "string"
},
"without_value": {
"type": "integer"
},
"screens_available": {
"type": "array",
"items": {
"type": "object"
}
},
"measures_available": {
"type": "array",
"items": {
"type": "string"
}
}
}
}{
"title": "Screen companies",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compare_companies — Compare companies on calendar quarters
2 to 4 companies side by side, aligned on calendar quarters as Annalist Compare places their fiscal periods, so that companies whose fiscal years end in different months stand in the same quarter. Measures are ratio ids (corp.operating_margin, corp.roic, corp.revenue_growth, bank.roe; short names such as roic work) or statement items (revenue, net_income, total_assets, cfo). Ratios use the last 4 quarters where the ratio has them, else the quarter; a company that reports fiscal years only gives fiscal years. Each value gives the company's fiscal period, and each statement value its source document ids. Amounts stay in the currency of each company.
{
"type": "object",
"required": [
"companies",
"measures"
],
"properties": {
"to": {
"type": "string",
"description": "last calendar quarter, in the same forms"
},
"from": {
"type": "string",
"description": "first calendar quarter: CY2025 Q1, a year (2025) or an ISO date"
},
"measures": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 6,
"minItems": 1,
"description": "1 to 6 ratio ids or statement item keys, for example [\"corp.operating_margin\", \"revenue\"]"
},
"quarters": {
"type": "integer",
"maximum": 20,
"minimum": 1,
"description": "the latest calendar quarters kept (default 8)"
},
"companies": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 4,
"minItems": 2,
"description": "2 to 4 company ids from search_companies"
},
"frequency": {
"enum": [
"ttm",
"quarterly",
"annual"
],
"type": "string",
"description": "the form of every ratio, in place of the last 4 quarters where a ratio has them; annual compares fiscal years"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"companies",
"measures",
"quarters",
"quarters_matched",
"truncated",
"notes"
],
"properties": {
"notes": {
"type": "array",
"items": {
"type": "string"
}
},
"citation": {
"type": "object"
},
"measures": {
"type": "object"
},
"quarters": {
"type": "array",
"items": {
"type": "object",
"required": [
"quarter",
"quarter_end",
"companies"
],
"properties": {
"quarter": {
"type": "string"
},
"companies": {
"type": "object"
},
"quarter_end": {
"type": "string"
}
}
}
},
"companies": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"name",
"snapshot"
],
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"annual": {
"type": "boolean"
},
"snapshot": {
"type": "string"
}
}
}
},
"truncated": {
"type": "boolean"
},
"conventions": {
"type": "object"
},
"quarters_matched": {
"type": "integer"
},
"latest_common_quarter": {
"type": [
"string",
"null"
]
}
}
}{
"title": "Compare companies on calendar quarters",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_events — Get corporate events
Corporate events of a company found by fixed rules in its filings: acquisitions, disposals, spin-offs, discontinued operations, reorganisations, stock splits, restatements, name changes and changes of fiscal year, each with its date, fiscal period, a sentence, the counterparty and amount where the filing names them, and its source document ids. Events are recorded for companies that file with the SEC.
{
"type": "object",
"required": [
"company"
],
"properties": {
"at": {
"type": "string",
"description": "an ISO date: the snapshot that was the latest on that date, in place of the latest snapshot"
},
"to": {
"type": "string",
"description": "last date, in the same forms"
},
"from": {
"type": "string",
"description": "first date: a year (2024) or an ISO date"
},
"types": {
"type": "array",
"items": {
"enum": [
"spin_off",
"acquisition",
"disposal",
"acquisition_or_disposal",
"reorganisation",
"discontinued_operations",
"cash_acquisitions",
"cash_disposals",
"stock_split",
"reverse_split",
"restatement",
"non_reliance",
"name_change",
"fiscal_year_change"
],
"type": "string"
},
"maxItems": 14,
"description": "keep these event types"
},
"company": {
"type": "string",
"description": "company id from search_companies, for example apple or mizuho"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"company",
"snapshot",
"total",
"matched",
"events",
"citation"
],
"properties": {
"name": {
"type": "string"
},
"note": {
"type": "string"
},
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"total": {
"type": "integer"
},
"types": {
"type": "object"
},
"events": {
"type": "array",
"items": {
"type": "object",
"required": [
"type"
],
"properties": {
"id": {
"type": "string"
},
"date": {
"type": [
"string",
"null"
]
},
"text": {
"type": [
"string",
"null"
]
},
"type": {
"type": "string"
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"company": {
"type": "string"
},
"matched": {
"type": "integer"
},
"citation": {
"type": "object",
"required": [
"snapshot"
],
"properties": {
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"format": {
"type": "string"
},
"snapshot": {
"type": "string"
},
"documents": {
"type": "string"
}
}
},
"snapshot": {
"type": "string"
}
}
}{
"title": "Get corporate events",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_data_quality — Get data quality
How far the figures of a company are proven: the values published, confirmed by a check, confirmed by a second document, derived from reported figures and withheld, with the meaning of each measure; every withheld value with its reason and documents; and every restated figure with the first, latest and published value, each with its document and filing date.
{
"type": "object",
"required": [
"company"
],
"properties": {
"at": {
"type": "string",
"description": "an ISO date: the snapshot that was the latest on that date, in place of the latest snapshot"
},
"limit": {
"type": "integer",
"maximum": 200,
"minimum": 1,
"description": "maximum withheld values and restated figures each (default 50)"
},
"company": {
"type": "string",
"description": "company id from search_companies, for example apple or mizuho"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"company",
"snapshot",
"withheld",
"withheld_total",
"restated",
"restated_total",
"citation"
],
"properties": {
"name": {
"type": "string"
},
"page": {
"type": "string"
},
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"company": {
"type": "string"
},
"citation": {
"type": "object",
"required": [
"snapshot"
],
"properties": {
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"format": {
"type": "string"
},
"snapshot": {
"type": "string"
},
"documents": {
"type": "string"
}
}
},
"measures": {
"type": [
"object",
"null"
]
},
"restated": {
"type": "array",
"items": {
"type": "object"
}
},
"snapshot": {
"type": "string"
},
"withheld": {
"type": "array",
"items": {
"type": "object",
"required": [],
"properties": {
"item": {
"type": [
"string",
"null"
]
},
"table": {
"type": [
"string",
"null"
]
},
"period": {
"type": [
"string",
"null"
]
},
"reason": {
"type": [
"string",
"null"
]
},
"sources": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"truncated": {
"type": "boolean"
},
"conventions": {
"type": "object"
},
"measures_note": {
"type": "string"
},
"restated_total": {
"type": "integer"
},
"withheld_total": {
"type": "integer"
}
}
}{
"title": "Get data quality",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_snapshot_info — Get snapshot information
The latest snapshot of a company: as-of period, release date and time of publication, coverage, conventions (units, signs, fiscal calendar), validation summary, available statements, files with SHA-256 and the citation format. With at, the snapshot that was the latest on that date (point in time).
{
"type": "object",
"required": [
"company"
],
"properties": {
"at": {
"type": "string",
"description": "an ISO date: the snapshot that was the latest on that date, in place of the latest snapshot"
},
"company": {
"type": "string",
"description": "company id from search_companies, for example apple or mizuho"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"snapshot"
],
"properties": {
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"files": {
"type": "array",
"items": {
"type": "object"
}
},
"company": {
"type": "object"
},
"citation": {
"type": "object"
},
"snapshot": {
"type": "string"
},
"statements": {
"type": "array",
"items": {
"type": "object"
}
},
"published_at": {
"type": "string"
}
}
}{
"title": "Get snapshot information",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_snapshots — List published snapshots
Every snapshot that the site has published for a company, oldest first, with its as-of period, dataset hash and time of publication: the point-in-time record of the coverage. Pass a date of it as at to get_statement, get_snapshot_info, get_sources, get_events or get_data_quality for the figures as they stood then.
{
"type": "object",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"description": "company id from search_companies, for example apple or mizuho"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"company",
"latest",
"count",
"snapshots"
],
"properties": {
"name": {
"type": "string"
},
"count": {
"type": "integer"
},
"latest": {
"type": "string"
},
"company": {
"type": "string"
},
"snapshots": {
"type": "array",
"items": {
"type": "object",
"required": [
"snapshot",
"published_at"
],
"properties": {
"info": {
"type": "string"
},
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"snapshot": {
"type": "string"
},
"available": {
"type": "boolean"
},
"published_at": {
"type": "string"
},
"dataset_sha256": {
"type": "string"
}
}
}
},
"conventions": {
"type": "object"
}
}
}{
"title": "List published snapshots",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}get_sources — Get source documents
Source documents of a company's latest snapshot: kind, period, release or filing date (indexed: the date an index added a report that states no date of publication), URL of the official document or of the search page of its store, and SHA-256 of the file used. Pass the document ids found in a statement's sources to resolve them.
{
"type": "object",
"required": [
"company"
],
"properties": {
"at": {
"type": "string",
"description": "an ISO date: the snapshot that was the latest on that date, in place of the latest snapshot"
},
"ids": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "document ids, for example [\"10-K:0000320193-25-000079\"]; leave empty for all"
},
"company": {
"type": "string",
"description": "company id from search_companies, for example apple or mizuho"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"company",
"snapshot",
"documents",
"citation"
],
"properties": {
"company": {
"type": "string"
},
"citation": {
"type": "object",
"required": [
"snapshot"
],
"properties": {
"as_of": {
"type": "object",
"required": [],
"properties": {
"period": {
"type": [
"string",
"null"
]
},
"period_end": {
"type": [
"string",
"null"
]
},
"release_date": {
"type": [
"string",
"null"
]
}
}
},
"format": {
"type": "string"
},
"snapshot": {
"type": "string"
},
"documents": {
"type": "string"
}
}
},
"snapshot": {
"type": "string"
},
"documents": {
"type": "array",
"items": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": [
"string",
"null"
]
}
}
}
}
}
}{
"title": "Get source documents",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}run_buyout — Run a buyout model
Run the buyout model 1.0 of Annalist Deal Lab on a company's published figures, at its starting values or with the caller's assumptions under the keys of the address of the page (entry, exit_mult, years, debt, growth, margin, tax, base and the others that the starting values list). Returns the returns, sources and uses, the debt schedule, the covenants and the checks of the model, optionally the 3 solvers, every input with its source document ids, and the address of the same deal on the site. Shares and rates are fractions (0.2 for 20%) and multiples are times EBITDA. The result is arithmetic on published figures and the caller's assumptions: it values no company, recommends no transaction and forecasts nothing.
{
"type": "object",
"required": [
"company"
],
"properties": {
"company": {
"type": "string",
"description": "company id from search_companies, for example apple"
},
"solvers": {
"type": "boolean",
"description": "also return the highest entry multiple for the target return, the growth it needs and the debt capacity"
},
"assumptions": {
"type": "object",
"description": "assumptions to change, for example {\"entry\": 8, \"debt\": 4}; leave out for the starting values",
"additionalProperties": {
"type": "number"
}
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"company",
"snapshot",
"model",
"assumptions",
"ok",
"address",
"citation"
],
"properties": {
"ok": {
"type": "boolean"
},
"base": {},
"name": {
"type": "string"
},
"model": {
"type": "object"
},
"inputs": {
"type": [
"object",
"null"
]
},
"address": {
"type": "string"
},
"company": {
"type": "string"
},
"returns": {
"type": [
"object",
"null"
]
},
"solvers": {
"type": "object"
},
"citation": {
"type": "string"
},
"computed": {
"type": "string"
},
"currency": {},
"snapshot": {
"type": "string"
},
"projection": {
"type": "object"
},
"assumptions": {
"type": "object"
},
"debt_schedule": {
"type": "object"
},
"failed_checks": {},
"return_bridge": {
"type": [
"object",
"null"
]
},
"sources_and_uses": {
"type": "object"
}
}
}{
"title": "Run a buyout model",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}search — Search documents
Search the documents of Annalist for a question in words, as ChatGPT connectors and deep research do: the overview, key findings, statements and ratios of the companies that the question names, or the overviews of the companies of an industry or sector it names. Returns ids for fetch, titles and the address of each page. For a company id to pass to the other tools, use search_companies.
{
"type": "object",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"description": "the question or keywords, for example Apple revenue growth or semiconductor margins"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"title",
"url"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
}
}
}
}
}
}{
"title": "Search documents",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}fetch — Fetch a document
The full text of one document that search returned (an overview, key findings, a statement or the ratios of one frequency of a company), as JSON with its figures, units, periods and source document ids, with the address of its page for the citation.
{
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "a document id from search, for example company:apple or statement:apple:pl_annual"
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"id",
"title",
"text",
"url"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"text": {
"type": "string"
},
"title": {
"type": "string"
},
"metadata": {
"type": "object"
}
}
}{
"title": "Fetch a document",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
3 advertised
company_brief — Company brief
A brief of one company from its latest figures and key findings, each figure with its source document.
- company
- the company: its name, ticker or Annalist id (required)
credit_review — Credit review
The credit metrics, liquidity, earnings quality and scores of one company, with the benchmark bands that its findings state.
- company
- the company: its name, ticker or Annalist id (required)
peer_comparison — Peer comparison
2 to 4 companies side by side on calendar quarters, or one company with the 3 peers that Annalist names for it.
- companies
- 1 to 4 companies, by name, ticker or Annalist id, separated by commas (required)
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 446 ms
- 95th percentile latency
- 446 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 446 ms · metadata changed · 15 tool(s), 3 prompt(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http annalist-financial-statements-mcp https://annalist.io/mcpCodex
codex mcp add annalist-financial-statements-mcp --url https://annalist.io/mcpCursor
{
"mcpServers": {
"annalist-financial-statements-mcp": {
"url": "https://annalist.io/mcp"
}
}
}Cline
{
"mcpServers": {
"annalist-financial-statements-mcp": {
"type": "streamableHttp",
"url": "https://annalist.io/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"annalist-financial-statements-mcp": {
"type": "http",
"url": "https://annalist.io/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http annalist-financial-statements-mcp https://annalist.io/mcpClaude Desktop
{
"mcpServers": {
"annalist-financial-statements-mcp": {
"url": "https://annalist.io/mcp"
}
}
}Windsurf
{
"mcpServers": {
"annalist-financial-statements-mcp": {
"serverUrl": "https://annalist.io/mcp"
}
}
}Let your agent find its tools
Find servers like Annalist Financial Statements MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.