Skip to main content
Glama

Edgar Filing Text

edgar_filing_text
Read-onlyIdempotent

AUTHORITATIVE full text of a SEC filing's primary document (10-K / 10-Q / 8-K body), HTML stripped to clean plaintext — the source for disclosures that live in prose, not XBRL: going-concern language, ATM / at-the-market equity facilities, committed-equity share caps, public-float figures, subsequent events, and the liquidity footnote. Pass an accession (from edgar_search_filings / edgar_company_filings) plus the filer's ticker or CIK; OR omit accession and pass ticker + form_type to auto-resolve the latest matching filing. Optionally set section to return just one part (going_concern | liquidity | capital_resources | subsequent_events). Large docs (a 10-Q is ~100k+ chars of text) are PAGED, not spilled: the result caps at max_chars (default 50000) from offset, and returns truncated + next_offset — pass next_offset back as offset to read the next window. An especially large filing (e.g. an S-1 with heavy inline-XBRL tagging can exceed 10MB of raw HTML) is also capped on the READ side — the response sets raw_truncated:true when only the first portion of the document was read at all, which bounds how far offset can page and can make a late section (e.g. subsequent_events) come back not-found even though it exists further in. Use for "does $TICKER disclose substantial doubt / going concern", "what ATM facility does $TICKER have", "read the liquidity section of the latest 10-Q". For the list of documents/exhibits in a filing use edgar_filing_documents; for structured financial numbers use edgar_company_concept.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cikNoFiler CIK number (e.g. "1652935"). Provide this OR ticker.
offsetNoCharacter offset to start from (default 0). Pass the prior result's next_offset to page forward.
tickerNoFiler ticker (e.g. "ACTU"). Provide this OR cik. ONLY pass a ticker you are CERTAIN of — a wrong remembered ticker silently retrieves a DIFFERENT company's filing as a clean success (a "SpaceX" question filled with SPCE returns Virgin Galactic's S-1). For a recent IPO or any uncertain ticker, resolve first: edgar_company_filings accepts the company NAME and returns the cik — pass that cik here.
sectionNoReturn only this section (located by heading). Omit for the whole document. Unmatched sections fall back to the whole document (section_found:false).
accessionNoSEC accession number, dashed or not (e.g. "0001683168-26-003909"). Omit to auto-resolve the latest filing of form_type for the given ticker/cik.
form_typeNoWhen accession is omitted, the form type of the latest filing to fetch — "10-K", "10-Q", "8-K", "DEF 14A", etc.
max_charsNoMax characters to return in this page (1000–100000, default 50000). Doc text past this is available via next_offset.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedInput schema / properties / ticker / description
      Previous value: -"Filer ticker (e.g. \"ACTU\"). Provide this OR cik."New value: +"Filer ticker (e.g. \"ACTU\"). Provide this OR cik. ONLY pass a ticker you are CERTAIN of — a wrong remembered ticker silently retrieves a DIFFERENT company's filing as a clean success (a \"SpaceX\" question filled with SPCE returns Virgin Galactic's S-1). For a recent IPO or any uncertain ticker, resolve first: edgar_company_filings accepts the company NAME and returns the cik — pass that cik here."
  2. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "form_type": "10-Q",
      +    "section": "liquidity",
      +    "ticker": "ACTU"
      +  },
      +  {
      +    "accession": "0001683168-26-003909",
      +    "cik": "1652935",
      +    "max_chars": 30000,
      +    "section": "going_concern"
      +  }
      +]
  3. Added

TDQS

A5/5.0
Behavior5/5

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

Beyond the readOnlyHint and idempotentHint annotations, the description discloses detailed behavioral traits: HTML stripping, paging via offset/max_chars with next_offset, truncation limits, raw_truncated for very large filings, and the section fallback behavior. No contradiction with annotations.

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

Conciseness5/5

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

The description is long but every sentence contributes essential information. It's front-loaded with the core purpose, then expands on modes, paging, and alternatives. The structure flows logically from what → how → when, with no redundancy. Given the tool's complexity (7 params, paging, truncation), the length is justified.

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 tool with no output schema, the description fully compensates by explaining return fields (truncated, next_offset, raw_truncated, section_found). It addresses all complexity: two ways to specify the filing, paging mechanism, truncation caveats, section location, and distinguishes from sibling tools. Nothing major is left ambiguous.

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

Parameters5/5

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

Schema describes all 7 parameters with 100% coverage, but the description adds crucial context: explains how offset/max_chars work together for paging, defines section enum values, warns about ticker correctness (using example of wrong ticker leading to different company), and clarifies form_type usage for auto-resolution. This significantly enhances schema meaning.

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

Purpose5/5

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

The description clearly states the tool returns the authoritative full text of a SEC filing's primary document as plaintext, explicitly distinguishing it from sibling tools like edgar_filing_documents (list of documents) and edgar_company_concept (structured numbers). It also names specific use cases (going-concern language, ATM facilities, etc.), making the purpose unmistakable.

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

Usage Guidelines5/5

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

Provides explicit guidance on when to use this tool versus alternatives (e.g., "For the list of documents/exhibits in a filing use edgar_filing_documents; for structured financial numbers use edgar_company_concept"). Also explains two invocation modes (with accession or auto-resolve via ticker+form_type) and warns about ticker accuracy, giving clear context for correct usage.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, with detailed descriptions that prevent confusion. Overlapping tools like ask_pipeworx vs ask_pipeworx_grounded are explicitly differentiated by use case (casual vs high-stakes) and refusal behavior.

Naming Consistency4/5

Names are mostly consistent using lowercase underscores, but there is a mix of verb-initial (ask_pipeworx, generate_llms_txt) and noun-initial (edgar_company_facts, polymarket_arbitrage) patterns, which slightly reduces predictability.

Tool Count3/5

37 tools is high, but the server covers a broad domain of authoritative data sources (SEC, FDA, FRED, prediction markets, etc.). While it exceeds the typical 15-tool threshold, each tool serves a distinct data need and the count feels justified for the scope.

Completeness5/5

The tool surface covers the full lifecycle of data retrieval and analysis: discovery (discover_tools), single queries (ask_pipeworx), grounded lookups (ask_pipeworx_grounded), multi-source research (deep_research), entity profiles, comparisons, historical data, and subscription monitoring. No major gaps are evident.