What it is
A client for SEC EDGAR covering entity search, filing documents, XBRL company facts and frames, and the ownership filings — Form 4, 13F-HR, SCHEDULE 13D and 13G, NPORT-P — with a DuckDB-backed dataframe layer that keeps large results queryable instead of truncated.
Requirements
EDGAR_USER_AGENT is the one required setting — the SEC expects requests to identify themselves as "AppName contact@email.com". No key and no account beyond that, since EDGAR is public. Run it over stdio with Bun, serve it over Streamable HTTP on port 3010, or point a client at the public hosted instance at https://secedgar.caseyjhand.com/mcp. One extra tool, secedgar_dataframe_drop, is off unless EDGAR_DATAFRAME_DROP_ENABLED is true, because dataframes expire on their own.
Setup effort
One command — npx -y @cyanheads/secedgar-mcp-server