Ticker Scout MCP server

MCP serverAI & models

Your AI can pull a company's income statement, balance sheet, and cash flow statement, already assembled from SEC filings. That means you can ask financial questions and get structured numbers instead of digging through filings yourself. No API key is required.

Use Ticker Scout MCP server in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add Ticker Scout MCP server and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use Ticker Scout MCP server to list companies

Details

Available today. Use it from your connected AI after setup.

Add ticker-scout, then ask your AI for a company's income statement, balance sheet, or cash flow. No API key is needed.

Ticker Scout MCP serverStart free

What your AI can do with it

  • Pull a company's income statement, balance sheet, and cash flow statement
  • Answer financial questions using figures from SEC filings
  • Get statements that are already assembled, with no filing-parsing step
  • Start pulling financials without an API key

Install Ticker Scout MCP server

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user ticker-scout-mcp-server 'https://mcp.tickerscout.ai/mcp'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://mcp.tickerscout.ai/mcp

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=ticker-scout-mcp-server&config=eyJ1cmwiOiJodHRwczovL21jcC50aWNrZXJzY291dC5haS9tY3AifQ==

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://mcp.tickerscout.ai/mcp

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add ticker-scout-mcp-server --url 'https://mcp.tickerscout.ai/mcp'

    Run it once, then sign in with codex mcp login ticker-scout-mcp-server if the server asks for an account.

From the project's README

As published by tickerscout/tickerscout-mcp in README.md.

An agent-native data layer for SEC filings, over the Model Context Protocol. Finished financial statements for public companies, and the filings themselves read and synthesized. The SEC publishes the numbers as data, but it does not publish them as statements. This serves them already assembled, through 97 tools: every statement, every standard line item, every company-specific figure under the name its record uses, every fiscal year and quarter held, every accession number cited, and the 10-K, 10-Q and 8-K narrative by section or by keyword. No API key, no signup, no paywall.

https://mcp.tickerscout.ai/mcp

It exposes the data published at tickerscout.ai (https://tickerscout.ai): financial statements, the annual and quarterly reports read and synthesized, and material event histories for S&P 500 companies and major foreign issuers that file with the SEC, all derived from their own filings.

What is already done for you

The difference between this and the EDGAR APIs is assembly, not availability. The SEC gives you facts. This gives you statements.

  • The three statements arrive as statements. Income statement, balance sheet and cash flow, line items in reported order, not a flat bag of tagged facts you have to select concepts for and group yourself.
  • Assembled across filings, because no single filing holds the whole record. Annual figures come from the annual report, quarterly and year-to-date figures from the quarterly report, and where a quarterly report presents cash flow only on a year-to-date basis, the discrete quarter comes from the earnings release filed as a current-report exhibit. For a US filer that means the 10-K, the 10-Q and the 8-K; for a foreign issuer, the 20-F or 40-F and the 6-K.
  • On the company's own fiscal calendar. 52- and 53-week years, quarters that are 13-week periods rather than calendar quarters, and fiscal years that do not end in December. Period dates come from the column headings the filings themselves print.
  • In actual dollars and actual shares. Never thousands, never millions, no scale factor to infer. Share counts are adjusted for splits. A foreign issuer's figures are converted to US dollars at the rate recorded on each period, and per-share figures are per ADS where the company has an ADR program.
  • Shaped to the business. A bank, an insurer, an asset manager and a retailer do not have the same statements, so they do not get the same sections. Ask what a company has rather than assuming a fixed shape.
  • With the gaps named. Where a filing does not disclose a figure it is omitted and the omission is explained, never silently zeroed. Every figure cites the SEC accession number it came from.
  • Figures link to the line of the filing that prints them. Wherever the filing tags a figure, the response carries a sec.gov link that opens the filing at that number.

Connect

Claude Code

claude mcp add --transport http ticker-scout https://mcp.tickerscout.ai/mcp

Claude on the web or desktop

Settings, then Connectors, then Add custom connector, and paste the URL.

Cursor, and any client with an mcpServers config

{
  "mcpServers": {
    "ticker-scout": {
      "url": "https://mcp.tickerscout.ai/mcp"
    }
  }
}

Clients that only speak stdio

{
  "mcpServers": {
    "ticker-scout": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.tickerscout.ai/mcp"]
    }
  }
}

Start here

The main six tools answer most questions in one call. The other 91 go straight to one thing.

QuestionCall
Is a company covered? What is its ticker?list_companies(query)
How much did it earn last quarter?get_key_figures(ticker)
Revenue (or any line item) across every period heldget_revenue(ticker), get_net_income(ticker), ...
One specific year or quarterget_period(ticker, "FY2025"), or any figure tool with period
How far back does the data go?list_periods(ticker)
Every figure this company reports, by its own nameslist_company_figures(ticker)
A company-specific metricfind_figures(ticker, "data center"), then get_figure
Compare companiescompare_companies(["NVDA","AMD","AVGO"], "revenue")
Segments, products, geographyget_segments, get_revenue_breakdown, get_geographic_revenue
Risks, strategy, management's discussionget_risk_factors, get_business_overview, get_annual_mdna, get_current_quarter
What did the company announce?list_events, get_earnings_releases, get_management_changes, ...
Find a topic anywhere in the filingssearch_sections(ticker, query), search_text(ticker, query)
Which filing did a number come from?get_figure_source, get_accession_numbers, get_filing
Currency, ADR ratio, fiscal calendar, splitsget_currency_conversion, get_adr_details, get_fiscal_calendar, get_stock_splits
Not sure?guide()

Tickers are case-insensitive, and BRK.B and BRK-B both resolve.

How the data is organized

Records and periods

A record is the complete snapshot built when a company filed one 10-Q or 10-K, tagged by fiscal period: FY27Q2 is the record built from NVIDIA's second-quarter fiscal 2027 10-Q, FY26 one built from a 10-K. Each record holds several periods: up to three fiscal years, the latest quarter and its prior-year comparative, year to date and trailing twelve months. Older records hold older quarters, so a company's history is the union of its records, and every record stays published at a permanent dated URL.

Tools that take period search every record automatically. Tools that take record read one snapshot, the latest by default.

The period argument

You passYou get
nothingevery period in the latest record
FY2025, FY25, fiscal 2025, 2025that fiscal year (the company's own fiscal year, not the calendar year)
Q2 FY2027, Q2 2027, FY27Q2, 2027Q2, 2Q27, second quarter 2027that quarter
Q2the latest second quarter held
latest, latest quarter, latest annualthe most recent period of that kind
ttm, ytd, prior ytdtrailing twelve months, year to date, the prior year's year to date
annual, quarterly, allevery fiscal year, every quarter, or every period in every record
2026-07-26the period ending on that date

A period earlier than anything held is not an error. The answer says the data does not go back that far and lists exactly what is held. A period not yet reported says so and gives the next expected filing.

Names in the record

Records are shaped to each business, so the same line item has different names: Apple's revenue is total_net_sales, JPMorgan's is total_net_revenue, Walmart's net income is net_income_attributable_to_walmart. Nothing is relabeled to hide that.

  • Every value a figure tool returns leads with name_in_record (the record's own name), field (its path inside the period) and json_path (its exact address in financials.json, e.g. annual[0].income_statement.total_net_sales).
  • Any of those names can be passed back to get_figure or get_figure_history exactly as written, and returns exactly that field. Case, spaces and underscores do not matter: Data Center and revenue_by_market_platform.Data Center both work.
  • list_company_figures maps each standard figure to the name this company uses, then lists every remaining figure under its own name.

Standard figures

Each line-item tool knows the names a figure goes by across companies and resolves deterministically: first the field the company's own headline uses for it, then a list of known names in order, then a name pattern only when exactly one field matches. Nothing is estimated, derived or summed to fill a gap. Look-alike fields in the same statement come back under related, and a company that reports none of the names gets a plain "not reported" with the closest fields it does have.

FigureToolRead from, for example
Revenueget_revenuerevenue, revenues, total_revenues, total_revenue, +19 more
Cost of revenueget_cost_of_revenuecost_of_revenue, cost_of_sales, total_cost_of_revenue, cost_of_goods_sold, +10 more
Gross profit, gross margin %get_gross_profitgross_profit, gross_margin, gross_margin_pct, +3 more
Research and developmentget_research_and_developmentresearch_and_development, research_and_development_expenses, +7 more
Selling, general and administrativeget_sga_expenseselling_general_and_administrative, sales_general_and_administrative, +7 more
Total operating expensesget_operating_expensestotal_operating_expenses, total_costs_and_expenses, total_noninterest_expense, +11 more
Operating incomeget_operating_incomeoperating_income, income_from_operations, operating_profit, +4 more
Interest expenseget_interest_expenseinterest_expense, total_interest_expense, interest_expense_net, interest_and_debt_expense
Income before income taxesget_pretax_incomeincome_before_income_taxes, earnings_before_income_taxes, +23 more
Income tax, effective tax rateget_income_taxprovision_for_income_taxes, income_tax_expense, effective_tax_rate_pct, +17 more
Net incomeget_net_incomenet_income, net_earnings, net_income_attributable_to_<company>, +8 more
Diluted and basic EPSget_epsdiluted_eps, eps_diluted, basic_eps, +11 more
Diluted, basic and outstanding sharesget_share_countdiluted_shares, basic_shares, shares_outstanding, +27 more
Depreciation and amortizationget_depreciation_and_amortizationdepreciation_and_amortization, depreciation_depletion_and_amortization, +7 more
Stock-based compensationget_stock_based_compensationstock_based_compensation, share_based_compensation, +4 more
Net interest income, noninterest income (banks)get_net_interest_incomenet_interest_income, total_noninterest_income, +7 more
Provision for credit losses (banks)get_credit_loss_provisionprovision_for_credit_losses, provision_for_loan_losses, +4 more
Cash and cash equivalentsget_cashcash_and_cash_equivalents, cash_and_equivalents, cash_and_due_from_banks, +5 more
Total assetsget_total_assetstotal_assets, assets.total_assets
Total liabilitiesget_total_liabilitiestotal_liabilities, liabilities.total_liabilities
Total, long-term and short-term debtget_debttotal_debt, long_term_debt, short_term_debt, current_portion_of_long_term_debt, +32 more
Shareholders' equityget_shareholders_equitytotal_stockholders_equity, total_shareholders_equity, total_<company>_shareholders_equity, total_equity, +7 more
Current assets and liabilities, working capitalget_working_capitaltotal_current_assets, total_current_liabilities
Goodwill and intangiblesget_goodwill_and_intangiblesgoodwill, intangible_assets_net, other_intangible_assets_net, +11 more
Inventoriesget_inventoriesinventories, inventory, merchandise_inventories, +4 more
Accounts receivableget_accounts_receivableaccounts_receivable_net, receivables_net, trade_receivables_net, +7 more
Accounts payableget_accounts_payableaccounts_payable, trade_accounts_payable, trade_payables, +3 more
Property, plant and equipmentget_property_and_equipmentproperty_plant_and_equipment_net, property_and_equipment_net, +7 more
Retained earningsget_retained_earningsretained_earnings, accumulated_deficit, +3 more
Operating cash flowget_operating_cash_flowoperating_cash_flow, net_cash_provided_by_operating_activities, +10 more
Capital expendituresget_capital_expenditurescapex, capital_expenditures, purchases_of_property_and_equipment, +10 more
Free cash flowget_free_cash_flowfree_cash_flow, free_cash_flow_for_the_quarter, +2 more
Investing and financing cash flowget_investing_and_financing_cash_flowinvesting_cash_flow, financing_cash_flow, net_cash_used_in_investing_activities, +21 more
Dividends paid, dividends per shareget_dividendsdividends_paid, cash_dividends_paid, dividends_per_share, dividends_declared_per_share, +14 more
Share repurchasesget_share_repurchasesshare_repurchases, repurchases_of_common_stock, purchases_of_treasury_stock, +11 more
Acquisitions, net of cash acquiredget_acquisitionsacquisitions_net_of_cash_acquired, +7 more

list_standard_figures returns the full catalog with every name each figure is read from.

Units and sources

All money is in actual dollars (not thousands, not millions), per-share figures in dollars per share, share counts in actual shares, split-adjusted. Every figure response carries the record's own units statement, so a value is never separated from its scale.

Every value carries the SEC accession number of the filing it came from and, where the filing tags the number, a sec_link that opens the filing at the line printing it. A value with no link was calculated in the record (margins, free cash flow, trailing twelve months, a quarter derived by subtraction) or comes from an earnings release, which the SEC does not tag. Margins this server calculates (get_margins, get_working_capital) are labeled calculated and show their formula and the exact fields used.

All 97 tools

The main six

ToolArgumentsReturns
list_companiesquery?Every covered company with its latest fiscal period, every record held, and its next expected filing. Resolves a company name to a ticker.
get_companyticker, record?Identity and coverage manifest: name, CIK, exchange, state of incorporation, SIC industry, the filings the record is built from with accessions and EDGAR links, every published record, the next filing, and a map of every tool.
get_key_figuresticker, record?Headline figures for the latest period, each with its year-over-year change, exact amount and source accession.
get_financialsticker, sections?, record?The whole financial record, sliceable by top-level section. figure_sources (the sec.gov link for every tagged figure) only on request.
get_narrativeticker, section?, record?The 10-K and 10-Q synthesis. A section index by default; any section by name, or all.
get_eventsticker, section?, record?The 8-K digest over roughly the trailing five quarters, in full or one section.

Periods and history

ToolArgumentsReturns
list_periodstickerEvery fiscal year and quarter held across every record, with dates, length, source form and accession, which records carry each, and the list of records with their permanent URLs.
get_periodticker, period, include_sources?Every statement and table held for one fiscal year or quarter, searching older records; plain "not that far back" or "not reported yet" answers outside the range.
get_trailing_twelve_monthsticker, record?The TTM income statement and cash flow with the derivation note saying how it was built.
get_year_to_dateticker, record?The year-to-date block and the prior year's year-to-date comparative.
get_figure_historyticker, figureOne figure across every period held, oldest first, annual and quarterly series, with the record each value came from.

Statements and tables

ToolArgumentsReturns
get_income_statementticker, period?The income statement in reported order, with per-share blocks.
get_balance_sheetticker, period?The balance sheet at each period end.
get_cash_flow_statementticker, period?The cash flow statement, with free cash flow.
get_segmentsticker, period?Results by reportable segment as the company reports them.
get_revenue_breakdownticker, period?Revenue by product, service, end market, platform, channel or category.
get_geographic_revenueticker, period?Revenue (and assets or income where reported) by country or region.
get_non_gaap_measuresticker, period?Adjusted EPS, adjusted operating income, EBITDA, FFO and other company-defined measures.
get_operating_metricsticker, period?KPIs outside the statements: users, subscribers, bookings, stores, RevPAR, backlog and the like.
get_bank_metricsticker, period?CET1 and capital ratios, net interest margin, efficiency ratio, average balances, credit quality.
get_insurance_metricsticker, period?Premiums, underwriting results, combined ratios, investment income, float, book value.
get_marginsticker, period?Every margin and rate the record stores, plus gross, operating, net and FCF margin calculated and labeled.

One line item, every period

Each takes ticker and period? and returns the figure for every period (or the one named), each value with its record name, JSON path, dates, accession, form and sec.gov link.

get_revenue, get_cost_of_revenue, get_gross_profit, get_research_and_development, get_sga_expense, get_operating_expenses, get_operating_income, get_interest_expense, get_pretax_income, get_income_tax, get_net_income, get_eps, get_share_count, get_depreciation_and_amortization, get_stock_based_compensation, get_net_interest_income, get_credit_loss_provision, get_cash, get_total_assets, get_total_liabilities, get_debt, get_shareholders_equity, get_working_capital, get_goodwill_and_intangibles, get_inventories, get_accounts_receivable, get_accounts_payable, get_property_and_equipment, get_retained_earnings, get_operating_cash_flow, get_capital_expenditures, get_free_cash_flow, get_investing_and_financing_cash_flow, get_dividends, get_share_repurchases, get_acquisitions

Any figure

ToolArgumentsReturns
list_standard_figuresnoneThe standard figure catalog: definitions, units, the tool for each, and every record name each is read from.
list_company_figuresticker, period?, block?Each standard figure mapped to this company's name for it, then every remaining figure under its own name, with values.
find_figuresticker, query, period?Fields whose names contain the words, e.g. cet1, comparable sales, data center.
get_figureticker, figure, period?Any figure by its record name, path, standard name or words. A record name returns exactly that field.
compare_companiestickers, figure, period?One standard figure for two to ten companies, each row with its own period, dates and record name.

Sources and filings

ToolArgumentsReturns
get_source_filingsticker, record?The annual and quarterly reports the record is built from, which filing each period came from, the sec.gov documents the figure links open, and the published files.
get_accession_numbersticker, record?Every accession cited across statements, narrative and events: form, filing date, EDGAR index URL, and every use.
get_filingticker, accession, record?One filing: form, date, links, the periods sourced from it, and the full text of every passage citing it.
get_figure_sourceticker, figure, period?For each period, the accession, form and sec.gov line printing the figure.

Units, currency and conventions

ToolArgumentsReturns
get_reporting_conventionsticker, record?Units, currency, business type and template, fiscal-year convention, sign conventions, accounting basis, definitions.
get_fiscal_calendartickerFiscal year end, 52/53-week detection, and every period's exact dates and length.
get_currency_conversionticker, record?Reporting currency and, for a foreign issuer, the policy and each period's average and closing rate with its source.
get_adr_detailsticker, record?ADR ratio, per-share basis and the ratio recorded on each period.
get_stock_splitsticker, record?Splits adjusted for, as-reported pre-split values, and notes about splits.
get_data_notesticker, record?The record's own sourcing notes and period-level notes.
get_data_gapsticker, record?Uncertainties, statements not reported, and which standard figures the latest periods lack.
get_headline_summaryticker, record?The written summary and Q&A for the latest period, with each metric's field and accession.

Filing schedule and coverage

ToolArgumentsReturns
get_next_filingtickerPredicted next filing date and form, with the latest period and filing dates held.
list_upcoming_filingsdays?, form?Every covered company expected to file within N days, soonest first.
get_coverage_summarynoneCompany count, update date, forms held, foreign issuers, records per company, URL patterns.
guidenoneHow the tools fit together, the period syntax, units, citations and the full tool map.

10-K and 10-Q narrative

ToolArgumentsReturns
get_business_overviewticker, record?Item 1, condensed: products, segments, markets, customers, competition, supply chain, regulation.
get_risk_factorsticker, record?Item 1A, condensed and grouped, with changes since the prior filing flagged.
get_annual_mdnaticker, record?Management's discussion and analysis for the latest fiscal year.
get_current_quarterticker, record?The latest quarterly report's MD&A: results, changes, liquidity, guidance.
get_subsequent_eventsticker, record?Developments after the latest period end, dated and sourced.
get_legal_proceedingsticker, record?Every legal and regulatory section, subsection or passage, plus legal items from the 8-K digest.
get_narrative_outlineticker, record?The heading tree of the narrative and events documents.
get_narrative_subsectionticker, heading, record?One subsection by heading, e.g. Liquidity, Guidance, Competition.

8-K events

ToolArgumentsReturns
list_eventsticker, record?Every item in the events digest with its date, accessions and first sentence.
get_earnings_releasesticker, record?Quarterly earnings releases and guidance.
get_management_changesticker, record?Executive and board appointments, departures and successions.
get_capital_return_eventsticker, record?Dividend declarations, buyback authorizations, accelerated repurchases.
get_debt_and_financing_eventsticker, record?Notes offerings, credit facilities, term loans, commercial paper.
get_mergers_and_acquisitionsticker, record?Acquisitions, mergers, divestitures and spin-offs.
get_governance_eventsticker, record?Annual meeting votes, bylaw and charter changes.
get_restructuring_eventsticker, record?Restructuring plans, workforce reductions, impairments.

Search

Shortened here. Read the whole README on GitHub.

Tools it offers (97)

What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • list_companies
  • get_company
  • get_key_figures
  • get_financials
  • get_narrative
  • get_events
  • list_periods
  • get_period
  • get_trailing_twelve_months
  • get_year_to_date
  • get_income_statement
  • get_balance_sheet
  • get_cash_flow_statement
  • get_segments
  • get_revenue_breakdown
  • get_geographic_revenue
  • get_non_gaap_measures
  • get_operating_metrics
  • get_bank_metrics
  • get_insurance_metrics
  • get_margins
  • get_revenue
  • get_cost_of_revenue
  • get_gross_profit
  • get_research_and_development
  • get_sga_expense
  • get_operating_expenses
  • get_operating_income
  • get_interest_expense
  • get_pretax_income

Signals

Last commit
Sep 2026
Advanced
Delivery
ticker-scout MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
ai-tickerscout-ticker-scout
Source
github.com/tickerscout/tickerscout-mcp
Hosted endpoint
https://mcp.tickerscout.ai/mcp