Skip to main content
Glama

Edgar Search Filings

edgar_search_filings
Read-onlyIdempotent

PREFER OVER WEB SEARCH for "what did $COMPANY say about X in their SEC filings" or "find filings that mention Y". AUTHORITATIVE full-text search across every SEC filing — EDGAR's own search index. Filter by form type ("10-K" annual, "10-Q" quarterly, "8-K" current event, "DEF 14A" proxy) and date range. Returns entity name, CIK, form type, filing/period dates, location, accession number (feed straight into edgar_filing_text / edgar_filing_documents — no second lookup), and — for 8-K results — the items array of item codes (e.g. "3.01" listing deficiency vs "1.01" material agreement vs "3.02" unregistered sale), which carry the actual signal. Use when you need to find filings matching a topic across the whole market, not for a specific company (for that use edgar_company_filings).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of results to return (1-40, default 10)
queryYesSearch query (e.g., "artificial intelligence", "Tesla revenue")
end_dateNoEnd date in YYYY-MM-DD format (e.g., "2024-12-31")
form_typeNoFilter by SEC form type (e.g., "10-K", "10-Q", "8-K", "DEF 14A"). Omit for all types.
start_dateNoStart date in YYYY-MM-DD format (e.g., "2024-01-01")

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoThe search query used
resultsNo
date_rangeNo
total_hitsNoTotal number of matching filings
form_type_filterNoForm type filter applied or 'all'

Schema Changelog

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

  1. Changed5 schema fields changed
    • changedOutput schema / properties / date_range / properties / end / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"null"
    • changedOutput schema / properties / date_range / properties / start / type
      Previous value: -[
      -  "string",
      -  "null"
      -]New value: +"null"
    • addedOutput schema / properties / results / items / properties / accession
      Added value: +{
      +  "type": "string"
      +}
    • changedOutput schema / properties / results / items / properties / period_of_report / type
      Previous value: -"string"New value: +[
      +  "string",
      +  "null"
      +]
    • removedOutput schema / required
      Removed value: -[
      -  "query",
      -  "form_type_filter",
      -  "date_range",
      -  "total_hits",
      -  "results"
      -]
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "properties": {
      +    "date_range": {
      +      "properties": {
      +        "end": {
      +          "description": "End date in YYYY-MM-DD format or null",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        },
      +        "start": {
      +          "description": "Start date in YYYY-MM-DD format or null",
      +          "type": [
      +            "string",
      +            "null"
      +          ]
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "form_type_filter": {
      +      "description": "Form type filter applied or 'all'",
      +      "type": "string"
      +    },
      +    "query": {
      +      "description": "The search query used",
      +      "type": "string"
      +    },
      +    "results": {
      +      "items": {
      +        "properties": {
      +          "cik": {
      +            "description": "Central Index Key identifier",
      +            "type": "string"
      +          },
      +          "entity_name": {
      +            "description": "Company or entity name",
      +            "type": "string"
      +          },
      +          "filing_date": {
      +            "description": "Date filing was submitted",
      +            "type": "string"
      +          },
      +          "filing_id": {
      +            "description": "Unique filing identifier",
      +            "type": "string"
      +          },
      +          "form_type": {
      +            "description": "SEC form type (e.g., 10-K, 10-Q)",
      +            "type": "string"
      +          },
      +          "location": {
      +            "description": "Business location",
      +            "type": "string"
      +          },
      +          "period_of_report": {
      +            "description": "Period covered by the filing",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "total_hits": {
      +      "description": "Total number of matching filings",
      +      "type": "number"
      +    }
      +  },
      +  "required": [
      +    "query",
      +    "form_type_filter",
      +    "date_range",
      +    "total_hits",
      +    "results"
      +  ],
      +  "type": "object"
      +}
  3. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "end_date": "2024-12-31",
      +    "form_type": "10-K",
      +    "limit": 20,
      +    "query": "artificial intelligence",
      +    "start_date": "2024-01-01"
      +  },
      +  {
      +    "limit": 10,
      +    "query": "Tesla revenue"
      +  }
      +]
  4. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds valuable behavioral context: it returns specific fields (entity, CIK, dates, accession number), explains the significance of the 8-K 'items' array, and notes that results can be fed directly into edgar_filing_text/documents without a second lookup. It does not mention rate limits or pagination, but with the safety profile already annotated, the added context goes beyond the minimum.

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?

The description is dense but well-organized, front-loading the most important guidance ('PREFER OVER WEB SEARCH') and authoritativeness. It packs substantial detail (return fields, 8-K items, downstream chaining) into a compact paragraph without fluff. Slightly longer than necessary but every sentence earns its place given the tool's complexity.

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?

Given the tool's complexity (5 params, output schema, many siblings), the description is highly complete: it explains the tool's scope, return value highlights, how to chain with related tools, the 8-K item codes' signal value, and explicitly contrasts with the company-specific alternative. The output schema covers return structure, so the description doesn't need to restate it. No significant gaps remain.

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%, with each parameter already described (query, limit, form_type, start_date, end_date). The description adds minor clarifications like mapping form types to annual/quarterly/current event and notes the date range, but this mostly repeats schema information. The accessory number 'feed straight into' detail relates to return values, not parameter semantics, so the description adds little beyond the schema.

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 uses a specific verb ('search') and resource ('SEC filings' via EDGAR's full-text index), clearly stating it is the authoritative tool for finding filings that mention a topic. It distinguishes itself from the sibling edgar_company_filings by noting it searches across the whole market rather than for a specific company.

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?

The description explicitly says 'PREFER OVER WEB SEARCH' for certain query types and gives an exclusion: 'not for a specific company (for that use edgar_company_filings)'. This provides clear when-to-use and when-not-to-use guidance, including a named alternative.

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.