Skip to main content
Glama

get_filing_content

Read-onlyIdempotent

Fetch SEC filing content and financial metrics for a stock ticker, choosing essential data or only specified metrics for targeted analysis.

Instructions

Get SEC financial data - SMART & EFFICIENT dual-mode approach.

╔════════════════════════════════════════════════════════════════════╗ ║ GENERIC MODE (no specific_metrics parameter) ║ ║ - Returns 13 essential metrics for any financial analysis ║ ║ - 5 historical values per metric (sufficient for TTM calc) ║ ║ - Most token-efficient for general questions ║ ║ - Includes: Net Income, Revenues, Interest Expense, Taxes, ║ ║ Operating Income, Gross Profit, Assets, Liabilities, Equity, ║ ║ Depreciation, Shares Outstanding, Cash, Long-term Debt ║ ╚════════════════════════════════════════════════════════════════════╝

╔════════════════════════════════════════════════════════════════════╗ ║ SPECIFIC MODE (provide specific_metrics parameter) ║ ║ - Returns ONLY the requested metrics you specify ║ ║ - Perfect for targeted analysis (TTM EBITDA, leverage ratios) ║ ║ - Minimal token usage - only fetch what you need ║ ║ - Example: ['NetIncomeLoss', 'DepreciationDepletionAndAmortization',║ ║ 'InterestExpense', 'IncomeTaxExpenseBenefit'] ║ ║ - Use get_available_metrics(ticker) to discover all metrics ║ ╚════════════════════════════════════════════════════════════════════╝

WORKFLOW FOR TTM CALCULATIONS:

  1. Call: get_available_metrics(ticker='GME', search_term='Depreciation')

  2. Find needed metrics from results

  3. Call: get_filing_content(ticker='GME', specific_metrics=['NetIncomeLoss', ...])

  4. Calculate TTM from 5 historical values (last 4 quarters + 1 prior)

FILE HANDLING (get_full_content=True):

  • The exact document size is checked first (EDGAR filing index)

  • Up to 25MB: first 50,000 characters in full_content; if has_more, continue with download_filing_text(filing_url, offset=next_offset) or search it with search='keyword'

  • Over 25MB: link only (file_too_large=True), AI told via ai_note

Args: ticker: Stock ticker symbol (e.g., 'GME', 'AAPL') filing_type: Type of filing - '10-Q', '10-K', '8-K', etc. (None = get latest) get_full_content: If True, check and optionally download full filing text specific_metrics: List of specific metric names to fetch. If None, returns 13 essential metrics (generic mode). Example: ['NetIncomeLoss', 'Revenues', 'DepreciationDepletionAndAmortization'] Use get_available_metrics() to discover what's available.

Returns: Dict containing: - ticker, cik, company_name: Company identification - financial_metrics: Dict of requested/essential metrics with 5 historical values each - filing_date, filing_type: Filing metadata - mode: "generic" or "specific" - metrics_returned, values_per_metric: Data shape info - content_mode: 'text' or 'link_only' - full_content, has_more, next_offset: first page of the filing text - file_size_mb, filing_url, ai_note: size, link and what to do next

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
tickerYes
filing_typeNo
get_full_contentNo
specific_metricsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/openWorld and non-destructive, but the description adds substantial behavioral context beyond them: a 25MB size gate, pagination via has_more/next_offset, the 50,000-character first-page limit, token-efficiency implications of each mode, and the ai_note handoff. This is unusually rich disclosure for a read tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The content is information-dense and mostly earns its place, but the ASCII box art consumes significant space for stylistic rather than informational value, and the marketing framing ('SMART & EFFICIENT') is filler. Front-loading is acceptable but the boxes make it bulkier than needed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 4-parameter tool with 0% schema coverage and an output schema present, the description covers modes, workflow, file-size handling, pagination, and every parameter thoroughly. Nothing an agent needs to invoke it correctly appears to be missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden, and it largely delivers: it explains ticker examples, filing_type values ('10-Q', '10-K', '8-K') and the None=latest default, get_full_content behavior, and specific_metrics with a concrete example plus the None fallback. Minor gaps remain (exact metric-name casing rules), so not a full 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb+resource ('Get SEC financial data') and explains its dual-mode nature (generic vs specific metrics). It differentiates from siblings by naming get_available_metrics and download_filing_text as workflow partners. However, the headline purpose is somewhat muddled by hype ('SMART & EFFICIENT') and the name suggests filing content while the body emphasizes financial metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Strong when-to-use guidance: it distinguishes generic mode (omit specific_metrics) from specific mode (provide the parameter), gives a concrete TTM workflow, and points to get_available_metrics for discovery and download_filing_text/full-text search for continuation. It lacks explicit when-NOT-to-use guidance versus siblings like get_latest_10k or get_company_facts, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.