Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Annalist Financial Statements

REMOTE · ANNALIST.IO

Financial statements, ratios, findings, screens and peer comparisons from official filings. Keyless.

Available components

74 Trust /100

Last scanned (1 hour ago)

Scores higher than 62% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Finance and Payments

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security74
Transport & Reachability100
Schema Quality & AI Usability75
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 4088 tokens (~227/item across 18 items; 18 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management20
  • Stability observed for 6 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 99% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 18 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 19 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • Schema quality: 3423 → 4088 ▼ functional
    • Server version: 1.3.0 → 1.4.0 functional
    • New tool “find_connections” functional
    • New tool “get_relationships” functional
    • New tool “search_entities” functional
  • 2 Nov 26 +1
    • Tool “list_snapshots” rewrote its description, which is the text the model reads security
    • Tool “get_statement” rewrote its description, which is the text the model reads security
    • Tool “search” rewrote its description, which is the text the model reads security
  • 1 Nov 26 0
    • Tool “get_ratios” rewrote its description, which is the text the model reads security
  • 31 Oct 26 +1
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “screen_companies” rewrote its description, which is the text the model reads security
    • Stability: unverified → 0.03 ▲ functional
    • Server version: 1.2.1 → 1.3.0 functional
    • “screen_companies” added an optional parameter “basis” cosmetic
    • “screen_companies” added an optional parameter “markets” cosmetic
    • “screen_companies” added an optional parameter “screen” cosmetic
    • “screen_companies” added an optional parameter “start” cosmetic
  • 30 Oct 26 71

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://annalist.io/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=annalist.io CN=WE1,O=Google Trust Services,C=US 30 Oct 2026 28 Jan 2027 ECDSA 256 ECDSA-SHA256 7b799520b83cb8f813c34a84ac3a0a80
SANs: annalist.io
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of annalist.io. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
io. present 38690 8 Verified
annalist.io. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
x-content-type-options nosniff

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://annalist.io/mcp Verified 200
http (plaintext) http://annalist.io/mcp HTTPS enforced 301 https://annalist.io/mcp
MCP tools · 18 exposed · ~3,736 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
compare_companies ~288

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.

NameTypeReqDescription
companiesarrayyes2 to 4 company ids from search_companies
frequencystring–the form of every ratio, in place of the last 4 quarters where a ratio has them; annual compares fiscal years
fromstring–first calendar quarter: CY2025 Q1, a year (2025) or an ISO date
measuresarrayyes1 to 6 ratio ids or statement item keys, for example ["corp.operating_margin", "revenue"]
quartersinteger–the latest calendar quarters kept (default 8)
tostring–last calendar quarter, in the same forms
NameTypeReqDescription
citationobject––
companiesarrayyes–
conventionsobject––
latest_common_quarterstring|null––
measuresobjectyes–
notesarrayyes–
quartersarrayyes–
quarters_matchedintegeryes–
truncatedbooleanyes–

No examples provided.

fetch ~85

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.

NameTypeReqDescription
idstringyesa document id from search, for example company:apple or statement:apple:pl_annual
NameTypeReqDescription
idstringyes–
metadataobject––
textstringyes–
titlestringyes–
urlstringyes–

No examples provided.

find_connections ~172

The shortest chain of links between 2 entities of Atlas, in either direction, and the counterparties that they share (the banks that lend to both, the customers of both, a common owner), each link with its summary, evidence and document ids. By default an entity of a covered group stands as its group, so that 2 banks of one group count as one lender.

NameTypeReqDescription
fromstringyesentity id from search_entities, for example boeing
groupboolean–draw an entity of a covered group as its group (default true)
kindsarray–kinds of link to follow (default every kind)
max_linksinteger–longest chain to look for (default 4)
tostringyesentity id from search_entities, for example caterpillar
NameTypeReqDescription
citationobject––
fromobject|nullyes–
groupboolean––
kindsarray––
links_in_pathinteger|null––
notestring––
pagestring––
patharray|nullyes–
sharedarrayyes–
shared_totalintegeryes–
toobject|nullyes–

No examples provided.

get_company_overview ~128

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.

NameTypeReqDescription
companystringyescompany id from search_companies, for example apple or telkom-indonesia
NameTypeReqDescription
accountingstring|null––
as_ofobjectyes–
checksobject––
citationobjectyes–
companystringyes–
countrystring|null––
data_qualityobject|null––
documentsinteger––
exchangestring|null––
findingsarrayyes–
fiscal_year_endstring|null––
industrystring|null––
latestobjectyes–
linksobject––
marketstring|null––
measuresobjectyes–
morestring––
namestringyes–
peersarrayyes–
published_atstring|null––
sectorstring|null––
snapshotstringyes–
sourcesstring|null––
templatestring––
tickersarray––

No examples provided.

get_data_quality ~146

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.

NameTypeReqDescription
atstring–an ISO date: the snapshot that was the latest on that date, in place of the latest snapshot
companystringyescompany id from search_companies, for example apple or mizuho
limitinteger–maximum withheld values and restated figures each (default 50)
NameTypeReqDescription
as_ofobject––
citationobjectyes–
companystringyes–
conventionsobject––
measuresobject|null––
measures_notestring––
namestring––
pagestring––
restatedarrayyes–
restated_totalintegeryes–
snapshotstringyes–
truncatedboolean––
withheldarrayyes–
withheld_totalintegeryes–

No examples provided.

get_events ~182

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.

NameTypeReqDescription
atstring–an ISO date: the snapshot that was the latest on that date, in place of the latest snapshot
companystringyescompany id from search_companies, for example apple or mizuho
fromstring–first date: a year (2024) or an ISO date
tostring–last date, in the same forms
typesarray–keep these event types
NameTypeReqDescription
as_ofobject––
citationobjectyes–
companystringyes–
eventsarrayyes–
matchedintegeryes–
namestring––
notestring––
snapshotstringyes–
totalintegeryes–
typesobject––

No examples provided.

get_findings ~206

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.

NameTypeReqDescription
companystringyescompany id from search_companies, for example apple or mizuho
historyboolean–true to add the records of each finding: state, change type, period and snapshot
modulestring–keep the findings of one module
retiredboolean–true to add the findings that no longer apply
NameTypeReqDescription
as_ofobject––
citationobjectyes–
companystringyes–
conventionsobject––
correctionsarray––
countintegeryes–
findingsarrayyes–
findings_versionstring––
modulesarray––
namestring––
pagestring––
snapshotstringyes–

No examples provided.

get_ratios ~412

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.

NameTypeReqDescription
atstring–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
categorystring–keep one category, for example Profitability or Credit metrics
compactboolean–true for the values with their units only, without the conventions, the catalogue entries, the inputs and the citation format
companystringyescompany id from search_companies, for example apple or mizuho
frequencystring–default annual
fromstring–first period: a fiscal year (2024), a fiscal quarter (FY2024 Q2) or an ISO date
limitinteger–maximum values, those of the latest periods kept (default 120)
ratiosarray–ratio ids or short names, for example ["roe", "corp.operating_margin"]; leave empty for all
tostring–last period, in the same forms
NameTypeReqDescription
citationobjectyes–
companystringyes–
conventionsobject––
enginestring––
frequencystringyes–
namestring––
ratiosobject––
snapshotstringyes–
templatestring––
truncatedbooleanyes–
valuesarrayyes–
values_matchedintegeryes–

No examples provided.

get_relationships ~265

The links of one entity in Atlas, in both directions: the lenders of a company and the borrowers of a bank (with the commitment of each lender under each credit agreement where its schedule proves it), the major customers and suppliers with their share of revenue, owners and holdings with the interest, collaboration partners and named related parties. Every link gives its summary, the class of its evidence (stated by one party, confirmed by both, or stated by the register of legal entities), each claim with the part of the document that states it, and the documents with their addresses. A covered company also gets the links of the entities of its group (group: true, the default). Probable links are listed apart.

NameTypeReqDescription
directionstring–from: links where the entity lends, sells or owns; to: where it borrows, buys or is owned (default both)
entitystringyesentity id from search_entities, for example boeing, citigroup or dbs-bank-ltd
groupboolean–include the links of the entities of the group of a covered company (default true)
kindsarray–kinds of link to return (default every kind)
limitinteger–maximum number of links (default 100)
NameTypeReqDescription
as_ofstring|null––
citationobjectyes–
conventionsobject––
entityobjectyes–
group_entitiesarray––
kindsobject––
linksarrayyes–
matchedintegeryes–
pagestring––
probablearrayyes–
truncatedboolean––

No examples provided.

get_snapshot_info ~119

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).

NameTypeReqDescription
atstring–an ISO date: the snapshot that was the latest on that date, in place of the latest snapshot
companystringyescompany id from search_companies, for example apple or mizuho
NameTypeReqDescription
as_ofobject––
citationobject––
companyobject––
filesarray––
published_atstring––
snapshotstringyes–
statementsarray––

No examples provided.

get_sources ~156

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.

NameTypeReqDescription
atstring–an ISO date: the snapshot that was the latest on that date, in place of the latest snapshot
companystringyescompany id from search_companies, for example apple or mizuho
idsarray–document ids, for example ["10-K:0000320193-25-000079"]; leave empty for all
NameTypeReqDescription
citationobjectyes–
companystringyes–
documentsarrayyes–
snapshotstringyes–

No examples provided.

get_statement ~290

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`, and the answer names its snapshot for the citation.

NameTypeReqDescription
atstring–an ISO date: the snapshot that was the latest on that date, in place of the latest snapshot
compactboolean–true for the rows with their units only, without the conventions, item definitions and citation format
companystringyescompany id from search_companies, for example apple or mizuho
frequencystring–for income_statement and cash_flow (default annual); other statements have one frequency
fromstring–first period: a fiscal year (2024), a fiscal quarter (FY2024 Q2) or an ISO date
itemsarray–item keys to keep, for example ["revenue", "net_income"]; leave empty for all
limitinteger–maximum rows, latest first kept (default 40, at most 60)
statementstringyesincome_statement, balance_sheet and cash_flow; Mizuho also has capital, npl, shares and annual_highlights
tostring–last period, in the same forms
NameTypeReqDescription
as_ofobject––
citationobjectyes–
companystringyes–
conventionsobject––
frequencystring––
itemsobjectyes–
namestring––
published_atstring––
rowsarrayyes–
rows_matchedintegeryes–
snapshotstringyes–
statementstringyes–
truncatedbooleanyes–

No examples provided.

list_snapshots ~91

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. Its dates are values of the at parameter of the other tools, which then return the figures as they stood on that date.

NameTypeReqDescription
companystringyescompany id from search_companies, for example apple or mizuho
NameTypeReqDescription
companystringyes–
conventionsobject––
countintegeryes–
lateststringyes–
namestring––
snapshotsarrayyes–

No examples provided.

run_buyout ~242

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.

NameTypeReqDescription
assumptionsobject–assumptions to change, for example {"entry": 8, "debt": 4}; leave out for the starting values
companystringyescompany id from search_companies, for example apple
solversboolean–also return the highest entry multiple for the target return, the growth it needs and the debt capacity
NameTypeReqDescription
addressstringyes–
assumptionsobjectyes–
base–––
citationstringyes–
companystringyes–
computedstring––
currency–––
debt_scheduleobject––
failed_checks–––
inputsobject|null––
modelobjectyes–
namestring––
okbooleanyes–
projectionobject––
return_bridgeobject|null––
returnsobject|null––
snapshotstringyes–
solversobject––
sources_and_usesobject––

No examples provided.

screen_companies ~573

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.

NameTypeReqDescription
basisstring–with screen: latest (default) for the last 4 quarters where reported, fy for the latest fiscal year of every company
countrystring–ISO 3166 country code, for example US, GB, ID or HK
currencystring–keep the companies that report in one currency, for example USD
industrystring–part of an industry name, for example Semiconductors or Banks
limitinteger–maximum companies (default 20)
marketsarray–with screen: ISO country codes, for example ["SG", "ID"]
orderstring–desc (default) for the highest first
screenstring–the conditions of a screen, for example roic.gt.12.y5,nde.lt.2 or band.in.significant-aggressive
sectorstring–part of a sector name, for example Technology or Health care
sortstring–the measure to rank by, for example corp.operating_margin@ttm
startstring–a starting screen of the Screener page, for example high-returns, rising-debt or credit-watch
templatestring––
wherearray–conditions that every company meets, for example [{"measure": "corp.roic@ttm", "min": 15}]
NameTypeReqDescription
basisstring––
companiesarrayyes–
conditionsarray––
filtersobject––
matchedintegeryes–
measuresobjectyes–
measures_availablearray––
notestring––
pagestring––
rules_versionstring––
screenstring––
screenedinteger––
screens_availablearray––
startobject––
truncatedbooleanyes–
without_valueinteger––

No examples provided.

search ~106

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. The company ids of the other tools come from search_companies.

NameTypeReqDescription
querystringyesthe question or keywords, for example Apple revenue growth or semiconductor margins
NameTypeReqDescription
resultsarrayyes–

No examples provided.

search_companies ~113

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.

NameTypeReqDescription
countrystring–ISO 3166 country code, for example US, GB, ID, HK or JP
limitinteger–maximum number of companies (default 20)
querystring–part of a name, ticker, CIK or id; leave empty to list all
NameTypeReqDescription
companiesarrayyes–
totalintegeryes–

No examples provided.

search_entities ~162

Find a company, a bank or another legal entity in Atlas, the map of the relationships between companies, by part of its name, its LEI or the id of a covered company. Returns each entity's id (used by get_relationships and find_connections), its country, LEI, the covered company that it is or whose group it belongs to (Citibank, N.A. to citigroup), and its number of links.

NameTypeReqDescription
countrystring–ISO 3166 country code, for example US, SG or JP
limitinteger–maximum number of entities (default 20)
querystring–part of a name, an LEI or a company id, for example JPMorgan Chase Bank or boeing
NameTypeReqDescription
entitiesarrayyes–
measureobject––
notestring––
totalintegeryes–

No examples provided.

Install

How do I install the Annalist Financial Statements MCP server?

Annalist Financial Statements is a hosted endpoint at https://annalist.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · annalist.io

# add to Claude Code
claude mcp add --transport http rawsd10-annalist 'https://annalist.io/mcp'
Common questions

What is the Annalist Financial Statements MCP server?

Annalist Financial Statements is an MCP server listed in the public MCP registry as io.github.rawsd10/annalist. Financial statements, ratios, findings, screens and peer comparisons from official filings. Keyless. This page covers its hosted endpoint (https://annalist.io/mcp).

Is the Annalist Financial Statements MCP server safe to use?

Annalist Financial Statements scores 74 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Annalist Financial Statements MCP server expose?

Annalist Financial Statements exposes 18 tools: search_companies, get_company_overview, get_statement, get_ratios, get_findings, and 13 more. Their descriptions and schemas cost roughly 3,736 tokens of context every time the server is loaded.

Does the Annalist Financial Statements MCP server require authentication?

No. We connected to Annalist Financial Statements without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Annalist Financial Statements MCP server still maintained?

Annalist Financial Statements is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.