# Markets

<!-- Generated by scripts/gen-docs-mcp.mjs from the shared tool catalog. Do not edit by hand —
     edit the catalog in packages/shared/src/mcp.ts and regenerate. -->

## Tools

What US public companies earn and what they are worth — revenue, income and assets from SEC filings, alongside daily stock prices.

Data from SEC EDGAR and Databento. See [Markets](/docs/data/sources/markets) for coverage, freshness and credits.

Your agent reaches these on Vistazo's MCP server, `https://mcp.vistazo.ai/mcp`, through `search_tools` and `call_tool`, as `markets__<tool>` — for example `markets__search_companies`.

| Tool | What it does | |
|---|---|---|
| [`search_companies`](#search_companies) | Search companies | Read-only |
| [`company_financials`](#company_financials) | Company financials | Read-only |
| [`compare_metric`](#compare_metric) | Compare metric | Read-only |
| [`price_coverage`](#price_coverage) | Price data coverage | Read-only |
| [`closing_prices`](#closing_prices) | Closing prices | Read-only |
| [`daily_bars`](#daily_bars) | Daily OHLCV bars | Read-only |

## search_companies

`Read-only` · `Reaches outside Vistazo`

Find public companies by ticker or name (e.g. "AAPL" or "Apple") — returns {companies: [{cik, ticker, name, match}], ambiguous}, ranked. `match` says why each one matched, strongest first: ticker (exact), name (exact, ignoring Inc./Corp.), name_prefix, ticker_prefix, name_word, name_contains. `ambiguous` is true when several different companies share the top match — then confirm the legal name or ticker with the user before reading financials. Use it to get the ticker/CIK for the other tools.

## company_financials

`Read-only` · `Reaches outside Vistazo`

A single financial metric for one company as a time series — e.g. Apple revenue by year. Give a ticker and a metric (revenue, net_income, gross_profit, operating_income, assets, liabilities, equity, cash). Returns `rows`, one per FISCAL period ({period, end, value} in USD), annual (default) or quarterly, every year on file unless `start_year` cuts the earlier ones — `end` is the filer's own fiscal year-end (Apple late September, Microsoft June), so two companies' "2024" rows can cover different months. An annual "2024" is the period SEC's CY2024 frame holds — the row compare_metric returns for 2024: a fiscal year ending on or after June 30 is the year it ends in (Microsoft's 2024 ends 2024-06-30), an earlier one the year before (NVIDIA's 2024 ends January 2025); a balance sheet takes the year of its nearest quarter-end. SEC frames one period per filer per year, so a 52/53-week year-end near June 30 can leave a fiscal year in no frame (Sysco's ending 2018-06-30); that row's period is its end date. Annual rows come only from 10-K/20-F fiscal years, quarterly rows from three-month quarters. `concepts` names the us-gaap tags read — a filer that switched tags mid-history is merged per period. From SEC XBRL filings.

## compare_metric

`Read-only` · `Reaches outside Vistazo`

Compare one financial metric across companies for one SEC calendar frame — e.g. revenue of AAPL vs MSFT vs GOOGL for 2023. Give a metric, a year, and optional tickers (omit for the top 20 filers by value). Returns {companies: [{ticker, entityName, value, start, end, concept}], missing} — the array is `companies`, not `rows` — sorted high→low, chart-ready as a ranked bar. A requested ticker with no value for that frame (fiscal year not filed yet, tagged under another concept, or a second share class of a filer already listed — GOOG beside GOOGL) comes back in `missing` as {ticker, reason}, never silently dropped — name the missing ones when presenting the comparison. The frame (CY2023) picks each filer's own reported period closest to that calendar year, NOT a shared January–December window: flow metrics (revenue, income) are each filer's fiscal year, so Apple's 2024 ends 2024-09-28 and Microsoft's 2024-06-30 — state the differing `start`/`end` when presenting them side by side. Balance-sheet metrics (assets, liabilities, equity, cash) are point-in-time at each filer's balance-sheet date nearest year-end (`start` is null).

## price_coverage

`Read-only` · `Reaches outside Vistazo`

The date range this price feed actually covers (inclusive — `end` is the last date with a bar, usually yesterday), and the dataset it reads. Call this before asking for a range — history does not reach back indefinitely, and a start date before it returns nothing rather than an error.

## closing_prices

`Read-only` · `Reaches outside Vistazo`

Daily closing price per ticker over a date range (both dates inclusive) — one row per date with a column per symbol, chart-ready as a multi-series line. Prices in USD, as traded — NOT adjusted for splits or dividends, so a split shows as a cliff (NVDA 10-for-1 on 2024-06-10). This is the tool for "chart AAPL against MSFT".

## daily_bars

`Read-only` · `Reaches outside Vistazo`

Full daily open/high/low/close/volume bars per ticker over a date range (both dates inclusive) — for a candlestick, or when you need intraday range rather than just the close. NOTE: volume covers only the venues in this composite feed, not the consolidated US tape, so it is a fraction of the figure a public quote site shows. Prices are representative and, like closing_prices, not split-adjusted; volume is not a market total.
