TGMCharts
by TGM-Ventures · remote · no sign-in to list tools · v1.1.0 · published by GitHub user TGM-Ventures
US stock fundamentals: SEC financial statements, valuation series, summaries, screens, chart images.
7 tools: 1 change things and 6 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads6Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http tgmcharts https://tgmcharts.com/api/v1/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "get_financial_statement" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_financial_statement" says "get": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
7 tools
Changes things 1Claude Code: ask
get_financial_statementUse for line items as filed with the SEC (revenue, net income, cash flow, dividends paid, debt…) by year or quarter.1 finding
Why it is in this group
- The name "get_financial_statement" says "get": a word for reading.
- The input takes a statement or command to run (input.statement), which can change anything it can reach.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "get_financial_statement" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "get_financial_statement" says "get": a word for reading.
Description, as the server wrote it Use 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).
Annotations the server declares
- title: Raw financial statement (SEC EDGAR)
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 6Claude Code: allow
compare_stocksUse to compare companies against each other.No findings
Why it is in this group
- The name "compare_stocks" says "compare": a word for reading.
Description, as the server wrote it Use 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.
Annotations the server declares
- title: Compare stocks
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_chartUse when the answer should show a picture of a metric's history.No findings
Why it is in this group
- The name "get_chart" says "get": a word for reading.
Description, as the server wrote it Use 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.
Annotations the server declares
- title: Chart image URL
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_metric_seriesUse for a metric's history or trend (is the P/E high versus its past?No findings
Why it is in this group
- The name "get_metric_series" says "get": a word for reading.
Description, as the server wrote it Use 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.
Annotations the server declares
- title: Metric history series
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_stock_summaryUse first for any question about one company.No findings
Why it is in this group
- The name "get_stock_summary" says "get": a word for reading.
Description, as the server wrote it Use 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.
Annotations the server declares
- title: Stock summary
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_metricsUse to find the right metric slug before get_metric_series or get_chart.No findings
Why it is in this group
- The name "list_metrics" says "list": a word for reading.
Description, as the server wrote it Use 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.
Annotations the server declares
- title: List available metrics
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
screen_stocksUse to find companies that meet conditions (cheap, high dividend, fast growth…).No findings
Why it is in this group
- The description's first verb is "find": a word for reading.
Description, as the server wrote it Use 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".
Annotations the server declares
- title: Screen stocks
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http tgmcharts https://tgmcharts.com/api/v1/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__tgmcharts__get_stock_summary",
"mcp__tgmcharts__list_metrics",
"mcp__tgmcharts__get_metric_series",
"mcp__tgmcharts__get_chart",
"mcp__tgmcharts__compare_stocks",
"mcp__tgmcharts__screen_stocks"
],
"ask": [
"mcp__tgmcharts__get_financial_statement"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as tgmcharts. Review it before you use it.
