Skip to main content
Glama

SEC full-text search

sec_full_text_search
Read-onlyIdempotent

Answers "Which companies disclosed a material weakness this year?", "Who mentions tariffs in their 10-Q risk factors?", "Which filings name this executive, product or supplier?" or "Has this company ever mentioned a going-concern doubt?". Searches the full text of SEC EDGAR filings and their exhibits since 2001 (EDGAR Full-Text Search): put exact phrases in double quotes. Filter by form (10-K, 10-Q, 8-K, S-1, DEF 14A, ...), by company (ticker, CIK or name) and by filing date. Each hit gives the company, ticker, CIK, form, document type (e.g. EX-99.1), filing date, period, accession number, document and filing-index links, 8-K items, location, and next_call: the paid call that reads it (a 10-K/10-Q section, the 8-K event, or the document as Markdown). Also returns the total hit count and the companies and forms with the most hits across all pages. Up to 50 results per call; page with offset. No match is a 404, free. You are only charged when a result is returned: invalid input (400) and upstream failures (4xx/5xx) are not settled. Costs $0.01 USDC per call via x402. Paid per call with x402 inside MCP (see the server instructions).

Input Schema

NameRequiredDescriptionDefault
cikNoSEC Central Index Key, e.g. 320193. Use this, `ticker` or `company`.
viaNoOptional: the tool whose next_calls suggested this call (filled in for you).
formsNoOnly these form types, e.g. ["10-K", "10-Q"] or ["8-K"], ["S-1"], ["DEF 14A"]. Default: all forms.
limitNoHow many documents to return, most relevant first (1-50, default 20).
queryYesWhat to search for in the filings' text. Put an exact phrase in double quotes, e.g. "\"material weakness\"" or "\"going concern\" Nasdaq"; words outside quotes must all appear.
sinceNoOnly documents filed on or after this date (YYYY-MM-DD). Full-text search covers 2001 on.
untilNoOnly documents filed on or before this date (YYYY-MM-DD).
offsetNoSkip this many results; pass the previous response's next_offset to page through more.
tickerNoUS stock ticker, e.g. AAPL, MSFT, BRK-B. Use this, `cik` or `company`.
companyNoCompany name, e.g. "Apple" or "Coca-Cola". Use this, `ticker` or `cik`; a name matching several companies returns their tickers, free.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / via
      Added value: +{
      +  "description": "Optional: the tool whose next_calls suggested this call (filled in for you).",
      +  "maxLength": 64,
      +  "type": "string"
      +}
  2. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations already cover safety (readOnly, idempotent, non-destructive, openWorld), but the description adds substantially more: $0.01 USDC per call via x402, the billing rule that a 404 no-match is free and 400/4xx/5xx are not settled, charging only when a result is returned, 50-result cap, and cross-page aggregation of top companies/forms. These are exactly the operational facts an agent cannot get from the annotations.

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

Conciseness4/5

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

Front-loaded with the example questions, then search mechanics, then the return payload, then pricing — a sensible priority order. It is longer than average, and the enumeration of hit fields is exhaustive, but that length is largely justified because no output schema exists. Minor trimming is possible but little is genuinely wasted.

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?

With no output schema, the description carries the full return-value burden and does so: it lists every hit field (company, ticker, CIK, form, document type, date, period, accession number, links, 8-K items, location, next_call), the total hit count, the top-companies/forms aggregation, and next_offset paging. Payment, error, and pagination behavior are all stated, so nothing an agent needs to call and interpret this correctly is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents every parameter including quoting syntax, form arrays, date formats, and offset paging. The description restates the quote syntax and filter dimensions ('filter by form, by company (ticker, CIK or name) and by filing date') without adding new semantics — this is baseline territory where the schema does the heavy lifting.

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?

States a specific verb+resource ('Searches the full text of SEC EDGAR filings and their exhibits since 2001') and anchors it with four concrete example questions that no sibling like sec_list_filings or sec_filing_section could answer. An agent can immediately tell this is a keyword/text retrieval tool rather than a structured filing or section reader.

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?

The four example questions function as explicit use-case triggers, and the `next_call` field description ('the paid call that reads it — a 10-K/10-Q section, the 8-K event, or the document as Markdown') routes the agent onward to the deeper-read siblings once a hit is found. It stops short of naming those siblings directly or stating when NOT to use this tool (e.g. vs web_search or free_sample), so it is clear context without explicit alternatives.

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.

Resources