FilingFirehose

SEC EDGAR filings parsed: 8-K body-text classification, 13D activist tagging, S-3 ATM detection.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
66%
Naming quality
100%
Poisoning risk
80%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • HIGHTool poisoning patterns detected
  • INFOTool description contains placeholder or incomplete textin get_filing

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,231Tokens (tool definitions)
~1.3 KBTypical response size
Moderate attention impact (0.96% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "firehose": {
      "url": "https://filingfirehose.com/mcp"
    }
  }
}

Remote endpoints

https://filingfirehose.com/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒search_8k_filings(items, suspected_buried_only, limit)

Search recent SEC 8-K filings (current report) from the past 72 hours. Args: items: Comma-separated 8-K item codes to filter on. Examples: '1.05' (cybersecurity), '5.02' (officer departure), '8.01' (other events), '1.01' (material agreement). Leave None for all 8-Ks. suspected_buried_only: If True, return only filings where our body-text classifier flagged a suspected misclassification — i.e. cyber language under Item 8.01 that should have been 1.05, officer-departure language under 8.01 that should have been 5.02. limit: Max results (1-50, default 25). Returns: JSON-formatted list of filings. Each includes: accession_number, company_name, filed_at, filer_reported_items, detected_items, discrepancy_items (in body but not reported), and suspected_buried_events (map of reported→suspected).

Input Schema

{
  "type": "object",
  "properties": {
    "items": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Items"
    },
    "suspected_buried_only": {
      "default": false,
      "title": "Suspected Buried Only",
      "type": "boolean"
    },
    "limit": {
      "default": 25,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "search_8k_filingsArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "search_8k_filingsOutput"
}
🟒search_13d_filings(activist, min_percent, include_amendments, include_passive_13g, limit)

Search recent SEC Schedule 13D / 13G filings from the past 72 hours. Args: activist: Filter to filings tagged with this activist filer name. Substring match, case-insensitive. Examples: 'Saba', 'Starboard', 'Icahn', 'Elliott', 'Pershing'. min_percent: Minimum percent of class disclosed. include_amendments: Include 13D/A and 13G/A amendments. Default True. include_passive_13g: Include passive Schedule 13G filings. Default False (only active 13D / 13D/A returned). limit: Max results (1-50, default 25). Returns: JSON list of filings with cusip, percent_of_class, aggregate_amount, activist_filers, and an Item 4 purpose excerpt.

Input Schema

{
  "type": "object",
  "properties": {
    "activist": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Activist"
    },
    "min_percent": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Min Percent"
    },
    "include_amendments": {
      "default": true,
      "title": "Include Amendments",
      "type": "boolean"
    },
    "include_passive_13g": {
      "default": false,
      "title": "Include Passive 13G",
      "type": "boolean"
    },
    "limit": {
      "default": 25,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "search_13d_filingsArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "search_13d_filingsOutput"
}
🟒search_atm_offerings(sales_agent, min_shelf_million_usd, limit)

Search recent SEC at-the-market (ATM) equity offerings from the past 72 hours. Pulls from S-3 / 424B5 family filings where our parser flagged ATM-offering indicators in the body language. Args: sales_agent: Filter by sales agent name (substring, case-insensitive). Examples: 'Cantor Fitzgerald', 'Jefferies', 'Roth Capital', 'H.C. Wainwright'. min_shelf_million_usd: Minimum shelf size in millions USD. limit: Max results (1-50, default 25). Returns: JSON list with shelf_size_usd, is_atm, sales_agents, use_of_proceeds_excerpt.

Input Schema

{
  "type": "object",
  "properties": {
    "sales_agent": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sales Agent"
    },
    "min_shelf_million_usd": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Min Shelf Million Usd"
    },
    "limit": {
      "default": 25,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "search_atm_offeringsArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "search_atm_offeringsOutput"
}
🟒get_filing(accession_number)

Fetch one filing by SEC accession number, regardless of recency. Useful when an agent has an accession number from a citation or earlier tool call and needs the parsed details. Args: accession_number: SEC accession in 'XXXXXXXXXX-YY-NNNNNN' format. Returns: JSON for the filing if found in our archive, or {"found": false}.

Input Schema

{
  "type": "object",
  "properties": {
    "accession_number": {
      "title": "Accession Number",
      "type": "string"
    }
  },
  "required": [
    "accession_number"
  ],
  "title": "get_filingArguments"
}

Output Schema

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "get_filingOutput"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools
verifiedversion not recorded4 tools