π Summarize 10-K risk factor changes with SEC EDGAR MCP, OpenAI, and Google Docs
β‘ 1 views Β· π Market Research & Insights
Description
Quick overview
Compares Item 1A (Risk Factors) between the two most recent 10-K filings for each ticker using a SEC EDGAR MCP server, summarizes the material changes with OpenAI, records what was already reported in a Data Table, and writes a weekly report to Google Docs.
How it works
- Runs every Monday morning (or manually) and loads the MCP server URL, ticker list, SEC User-Agent string, and reporting limits from workflow settings.
- Calls the SEC EDGAR MCP server to verify it exposes the required tools, then reads the existing
risk_factor_watchData Table to avoid re-reporting the same accession number per ticker. - For each ticker, requests the three most recent 10-K filings from the MCP server and selects the newest and prior filing, skipping companies with no new filing since the last run.
- Fetches both filingsβ HTML from SEC EDGAR using the configured User-Agent and extracts Item 1A Risk Factors into cleaned, comparable paragraph lists.
- Compares this year vs last year paragraphs using token-overlap matching to classify additions, removals, and material rewrites, then keeps only the changed excerpts up to the configured cap.
- Saves the counts for tickers with changes back to the
risk_factor_watchData Table and sends the changed paragraphs to OpenAI to produce a short, themed explanation. - Creates a new Google Doc and appends a single combined report covering all tickers with meaningful risk-factor changes, including links to the filings.
Setup
- Start the SEC EDGAR MCP server (for example:
npx -y edgar-mcp@1.1.0 --http --host 0.0.0.0 --port 8932) and setmcp_urlin Settings to the reachable/mcpendpoint. - Update
sec_user_agentin Settings to include your own contact email to avoid SEC 403 responses when fetching filing HTML. - Create an n8n Data Table named
risk_factor_watchwith columnsticker,accession,filed_on,added,removed, andrewritten. - Add an OpenAI API credential (Chat model) and a Google Docs credential, then set your target
docs_folderand the comma-separatedtickerslist in Settings.
π Nodes Used
HTTP Request, Google Docs, Schedule Trigger, Filter, Basic LLM Chain, OpenAI Chat Model
π₯ Import
Download workflow.json and import into n8n:
Workflow menu β Import from File