TGMCharts
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
US stock fundamentals: SEC financial statements, valuation series, summaries, screens, chart images.
| Author | io.github.TGM-Ventures |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2237 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"TGMCharts": {
"url": "https://tgmcharts.com/api/v1/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (7)
get_stock_summaryread-onlyUse first for any question about one company. Compact fundamentals summary for one ticker (~5 KB): latest close, market cap, valuation ratios, margins, returns, dividend record, and 3/5/10-year growth CAGRs, with as-of dates and applicability notes. Null values are honest gaps or sector-inappropriate metrics — never zeros.
Parameters:
symbol(required) — string — Ticker symbol, e.g. AAPLformat— string — json (default): the full JSON as text. markdown: a compact table or list, fewer tokens. structuredContent is the full JSON either way.
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_metricsread-onlyUse to find the right metric slug before get_metric_series or get_chart. The full metric catalog: slug, label, unit, basis (daily/monthly/annual/quarterly/ttm — the stored sampling density, never overstated), methodology, and whether each metric is available as a JSON series (get_metric_series) and/or a chart render (get_chart). The same dictionary is the resource tgmcharts://metrics.
Parameters:
format— string — json (default): the full JSON as text. markdown: a compact table or list, fewer tokens. structuredContent is the full JSON either way.
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_metric_seriesread-onlyUse for a metric's history or trend (is the P/E high versus its past? how have margins moved?). Historical series for a TGMCharts-computed metric (daily valuation/yield lines, rolling TTM flows, quarterly margins). Points are even-time downsampled to max_points (default 120) to stay token-frugal — raw density is available at https://tgmcharts.com/api/v1/series/{symbol}/{metric}. points:null = intentionally withheld (sector-inappropriate, message included); [] = no stored history.
Parameters:
symbol(required) — string — Ticker symbol, e.g. KOmetric(required) — string — Series-tier metric slug (see list_metrics)years— integer — Trailing window in years (default: full stored history)format— string — json (default): the full JSON as text. markdown: a compact table or list, fewer tokens. structuredContent is the full JSON either way.max_points— integer — Downsample cap (default 120)
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_chartread-onlyUse when the answer should show a picture of a metric's history. A ready-to-embed 1600×900 PNG chart of a metric's history in TGMCharts' house style (watermarked, as-of stamped). Returns the canonical URL — fetch or embed it directly (<img src=…>); it is edge-cached and needs no key. Sector-gated or empty histories render an honest explanation card rather than failing.
Parameters:
symbol(required) — string — Ticker symbol, e.g. AAPLmetric(required) — string — Chart-tier metric slug (see list_metrics)years— integer — Trailing window in yearscompare— string — Second ticker for grouped comparison bars (bar metrics only)
Hints: read-only yes · destructive no · idempotent yes · open-world no
get_financial_statementread-onlyUse for line items as filed with the SEC (revenue, net income, cash flow, dividends paid, debt…) by year or quarter. Raw as-filed statement rows (income statement, balance sheet, or cash flow) sourced exclusively from SEC EDGAR XBRL company facts — public domain, latest-filed per period, honest nulls (never zero-filled, never vendor-backfilled). Derived quarters are disclosed. Token-frugal default: 5 fiscal years without per-value provenance; set include_provenance for the winning us-gaap tag + accession per value, or use https://tgmcharts.com/api/v1/statements/{symbol}/{statement} for full depth (30y, CSV).
Parameters:
symbol(required) — string — Ticker symbol, e.g. AAPLstatement(required) — string — Which statementyears— integer — Trailing fiscal years of rows (default 5; quarterly serves 4×years)format— string — json (default): the full JSON as text. markdown: a compact table or list, fewer tokens. structuredContent is the full JSON either way.period— string — annual (default) or quarterlyinclude_provenance— boolean — Include per-value provenance (us-gaap tag, accession, filed date). Default false to stay token-frugal.
Hints: read-only yes · destructive no · idempotent yes · open-world no
compare_stocksread-onlyUse to compare companies against each other. Side-by-side headline fundamentals for 2–4 tickers (latest values with as-of context): market cap, close, P/E, P/S, margins, ROE, dividend yield, and 5-year revenue/EPS CAGRs. Uncovered symbols are reported honestly, not dropped silently.
Parameters:
symbols(required) — array — 2–4 ticker symbolsformat— string — json (default): the full JSON as text. markdown: a compact table or list, fewer tokens. structuredContent is the full JSON either way.
Hints: read-only yes · destructive no · idempotent yes · open-world no
screen_stocksread-onlyUse to find companies that meet conditions (cheap, high dividend, fast growth…). Filter and rank the covered universe (about 4,000 US-listed names) on fundamental fields (marketCap, peRatio, dividendYield, consecutiveYears, margins, 5y CAGRs, …). Returns at most 25 rows — the MCP tier's cap; the full screener lives at https://tgmcharts.com/screener. Units: yields, margins, growth and CAGRs are fractions, not percents (dividendYield gt 0.03 = above 3%; see the field description). Example: filters [{field: "dividendYield", operator: "gt", value: 0.03}, {field: "consecutiveYears", operator: "gte", value: 25}], sortBy "dividendYield".
Parameters:
limit— integer — Rows to return (default 10, max 25)format— string — json (default): the full JSON as text. markdown: a compact table or list, fewer tokens. structuredContent is the full JSON either way.sortBy— string — Sort field (default marketCap)filters— arraysortOrder— string — Default descincludeEtfs— boolean — Include ETFs (default false)
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.