SEC Filings Analysis MCP
v0.1.2This MCP service supports discovering and downloading SEC filings (e.g., 10-K and 10-Q) of US listed companies via the EDGAR interface, parsing them locally into page-by-page JSON formats using the edgartools library, and providing cross-page full-text keyword search and page-level raw text reading to help agents analyze US market facts.
§ Quickstart
Add the following to your MCP client configuration (Cursor, Claude Desktop, etc.):
uvx will automatically download the package and its dependencies from PyPI — no clone, no manual install, no path configuration.
SEC Email Requirement: Replace [email protected] with your real email. The SEC requires a valid email in the User-Agent header. Using a fake email may result in your IP being blocked.
MCP Client Configuration
{
"mcpServers": {
"mcp-sec": {
"command": "uvx",
"args": [
"agentladle-mcp-sec"
],
"env": {
"SEC_EMAIL": "[email protected]"
}
}
}
}Config file locations
- Cursor: Settings → MCP, or edit ~/.cursor/mcp.json
- Claude Desktop: edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\)
§ Tools Reference
6 tools
list_sec_filings
Discover available SEC filings for a company. Use this tool only if the user hasn't provided any year/date info, or if downloading failed due to an incorrect date.
| Parameter | Type | Required | Description |
|---|---|---|---|
| ticker | string | ✓ | Stock ticker, e.g., "AAPL" |
| form | string | — | Filing form filter, e.g., "10-K". If omitted, lists all financial report forms (10-K, 10-Q, 20-F, 6-K, 8-K, 40-F). |
| limit | number | — | Maximum number of filings to return, default 5, max 20. |
download_sec_report
Download specified SEC report from EDGAR (HTML format). Downloads one report per call. Idempotent operation (skips if file exists and is valid).
| Parameter | Type | Required | Description |
|---|---|---|---|
| ticker | string | ✓ | Stock ticker, e.g., "AAPL" |
| form | string | ✓ | Filing type: "10-K", "10-Q", "20-F", "6-K" |
| report_date | string | ✓ | Report date (fiscal year end date), e.g., "2025-01-31" |
parse_sec_report
Parse downloaded HTML report into page-by-page JSON. Uses edgartools for professional SEC document parsing (including page boundary detection and node tree extraction).
| Parameter | Type | Required | Description |
|---|---|---|---|
| ticker | string | ✓ | Stock ticker |
| form | string | ✓ | Filing type |
| report_date | string | ✓ | Report date (fiscal year end date) |
keyword_search
Full-text keyword search across all pages of a parsed report, results sorted by TF-IDF and position-weighted score.
| Parameter | Type | Required | Description |
|---|---|---|---|
| ticker | string | ✓ | Stock ticker |
| form | string | ✓ | Filing type |
| report_date | string | ✓ | Report date (fiscal year end date) |
| keywords | array | ✓ | 1 to 5 keywords to search for |
| match_mode | string | — | "ANY" (default, match any keyword) or "ALL" (all keywords must match) |
| max_results | number | — | Maximum results to return, default 5, max 50 |
get_report_pages
Get full text content of pages within a page range.
| Parameter | Type | Required | Description |
|---|---|---|---|
| ticker | string | ✓ | Stock ticker |
| form | string | ✓ | Filing type |
| report_date | string | ✓ | Report date (fiscal year end date) |
| start_page | number | ✓ | Starting page number (1-based) |
| page_count | number | — | Number of pages to return, default 3, max 5 |
get_report_toc
Search for "Table of Contents" in the first 10 pages and retrieve catalog contents for fast chapter location.
| Parameter | Type | Required | Description |
|---|---|---|---|
| ticker | string | ✓ | Stock ticker |
| form | string | ✓ | Filing type |
| report_date | string | ✓ | Report date (fiscal year end date) |
§ Examples
Once configured, you can ask the AI directly:
US filings R&D investment analysis
Analyze Apple's 2024 annual report section regarding research and development expenses
Use list_sec_filings to discover filings, keyword_search to find "research and development" sections, and get_report_pages to fetch the original text for deep analysis.
Fallback financial metrics query
What was Tesla's revenue for fiscal year 2024?
Try keyword_search first. If it fails due to missing file, trigger download_sec_report and parse_sec_report, then search again to retrieve and verify metrics.
Table of Contents fast navigation
Get Microsoft's latest quarterly report TOC to locate risk factors
Use get_report_toc to extract the 10-Q TOC, identify the page number for Risk Factors, then use get_report_pages to fetch that page.
LadleAgent