{"name":"io.github.henrysouchien/edgar-mcp","slug":"henrysouchien-edgar-mcp","title":"EdgarParser MCP","description":"MCP stdio server for source-backed SEC EDGAR financial data from the hosted EdgarParser API.","url":"https://mcp.market/server/henrysouchien-edgar-mcp","rating":null,"grade":"B","score":78,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":18,"stars":0,"forks":0,"downloads_week":38,"last_push_at":"2026-09-16T20:45:13.000Z","license":"NOASSERTION"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/henrysouchien/edgar-mcp","website":null,"version":"1.0.2","remotes":[],"packages":[{"registryType":"pypi","identifier":"edgar-mcp","version":"1.0.2","transport":{"type":"stdio"},"environmentVariables":[{"description":"API key for the hosted EdgarParser API.","isRequired":true,"format":"string","isSecret":true,"name":"EDGAR_API_KEY"},{"description":"Optional API base URL override. Defaults to https://www.edgarparser.com.","format":"string","name":"EDGAR_API_URL"},{"description":"Optional directory for output=\"file\" responses.","format":"string","name":"EDGAR_MCP_OUTPUT_DIR"}]}],"tools":[{"name":"cite_concept","description":"Cite a registry-backed concept by returning the canonical concept value and the filing prose around that value from MD&A, notes, risk factors, and optional cached extraction spans.","write_action":false,"price_micros":0,"input_schema":null},{"name":"compare_concept","description":"Compare one registry-backed concept across a caller-provided list of filers. This is cross-filer comparison, not search: caller ticker order is preserved, and partial coverage is returned per row with available=false.","write_action":false,"price_micros":0,"input_schema":null},{"name":"compare_filing_tables","description":"Compare structured filing tables across caller-provided tickers in one response. Preserves ticker order and returns per-ticker availability, matching table metadata, and optionally hydrated table rows.","write_action":false,"price_micros":0,"input_schema":null},{"name":"concept_trend","description":"Return a cache-only time series for a registry-backed concept over a period range. v1 uses the latest filing's reported series and has no restatement awareness: it does not return restated or original_value fields.","write_action":false,"price_micros":0,"input_schema":null},{"name":"describe_filing","description":"Show cached data availability for one filing across XBRL, sections, tables, extraction schemas, and markdown. Read-only; does not populate caches.","write_action":false,"price_micros":0,"input_schema":null},{"name":"extract_filing_file","description":"Resolve a short-lived artifact handle issued by get_filing_sections and run scratch extraction for the requested schema via /api/documents/scratch-extract, without creating a canonical filing identity.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_concept","description":"Get a registry-backed financial concept value from cached XBRL financials. v1 resolves tag-backed concepts only and returns available=false for derivation or unsupported concepts. It never warms caches; call get_financials first when cache_status is cold.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_event_filings","description":"Discover SEC event filings by ticker/CIK, filing-date range, and form type. Use this for deal, financing, proxy, filed-communication, and status-update materials that are not tied to a fiscal quarter's 10-K/10-Q. Do not pass 10-K or 10-Q here; use get_filings for periodic filing discovery, or get_filing_document/get_filing_sections when periodic filing content is needed. Event-form examples includ","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_extraction_series","description":"Periodized counts (and optional hits) for langextract spans across a YYYY-Qn/YYYY-FY period range. ISO dates are not accepted. Cache read only. For raw cross-filing hits, use search_extractions.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_filing_cover_facts","description":"Get exact cover-page DEI facts from a 10-K/10-Q, including citation-ready source metadata. Use this for outstanding-share questions instead of balance-sheet common-stock rows or weighted-average share metrics. Related tools: get_filing_document for markdown, get_filing_evidence for qualitative evidence, and get_filing_extractions for cached structured spans.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_filing_document","description":"Get a SEC filing as readable markdown. Returns sectioned markdown with ## SECTION: headers. Supports section filtering and pagination via char range or max_chars cap. Pass accession plus cik/form_type/primary_document from get_event_filings to read an exact event filing without falling back to the latest filing for a fiscal quarter. Period-keyed reads are cache backed; exact-accession reads are fe","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_filing_evidence","description":"Plan and retrieve filing evidence in one call for a qualitative SEC filing question. The source planner is internal; inspect its output by setting include_planner_trace=true, or by reading the X-Edgar-Planner-Trace response header when using the HTTP route directly. For metric-anchored joins from a concept value to supporting prose, use cite_concept instead once that Phase 6 tool is shipped. Suppo","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_filing_extractions","description":"Return cached langextract spans for one filing, or fetch the filing and run extraction on cache miss. Use this for ticker/year/quarter-keyed filings. Related tools: get_filing_document reads markdown, get_filing_evidence plans qualitative evidence, and get_filing_cover_facts returns DEI facts.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_filing_sections","description":"Parse qualitative sections from one filing resolved by ticker/year/quarter. Required call shape: `get_filing_sections(ticker=\"MSCI\", year=2025, quarter=4, sections=[\"item_1\", \"item_7\"])`.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_filing_tables","description":"Fetch structured filing tables. Listing modes return metadata only; supplying table_id returns a single table with full row data. Pass accession to require the returned table cache to match a specific resolved filing identity. Omit source or use source='auto' for ordinary 10-K/10-Q tables. Use source='proxy' for DEF 14A proxy tables; use source='20f' or source='6k' with accession to target a speci","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_filings","description":"Fetch SEC filing metadata for one fiscal period. Required call shape: `get_filings(ticker=\"MSCI\", year=2025, quarter=4)`.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_financials","description":"Extract all financial facts from one fiscal filing. Required call shape: `get_financials(ticker=\"MSCI\", year=2024, quarter=4, full_year_mode=True)`.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_issuer_submissions_meta","description":"Fetch an issuer's SEC submissions header by CIK.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_metric","description":"Get a specific financial metric by common name or XBRL tag and return current/prior values with YoY comparison. For guessed or user-facing names, call search_metrics or list_metrics first and pass an exact discovered metric_name into this tool; do not retry near-miss names blindly. Optional role filters accept friendly statement roles such as [\"cash_flow\"] or [\"balance_sheet\"]. If the response say","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_metric_series","description":"Fetch one metric across multiple periods in a single call, using cache-first execution and per-period status reporting. Optional role filters are applied per period before the best match is selected. Pass `axis_key` exactly as returned by search_metrics/list_metrics when the user needs a dimensional fact such as product revenue. For FCF, FCF margin, cash conversion, or trend questions, inspect per","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_operational_kpi_driver_rows","description":"Return the strict producer-owned operational-KPI driver row DTO from `/api/operational-kpis/drivers`. Use these versioned, calculation-ready rows for programmatic consumers and cross-transport interoperability.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_operational_kpi_drivers","description":"Return structured operational KPI values and driver growth rates from a filing's MD&A/earnings discussion. Use this for non-XBRL operating metrics such as Gross Bookings, MAPCs, Trips, customer counts, revenue driver bridges, take-rate inputs, segment growth rates, constant-currency growth, and volume-vs-price decomposition. It discovers candidate labels from the filing document and returns citati","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_statement","description":"Return a bulk structured statement (income statement, balance sheet, or cash flow statement) from a deterministic v1 statement template and the v1 concept registry. Supports single-period mode with year+quarter and range mode with period_from+period_to; the two modes are mutually exclusive. v1 templates contain tag-kind concepts only, so computed or derivation rows such as margins and ratios belon","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_extraction_schemas","description":"List the document extraction schemas available through the EDGAR API.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_metrics","description":"List available metric tags for a filing period so an agent can choose an exact metric_name before calling get_metric. Cash-flow candidates may carry `scope_warning` and `scope_bridge_ids`; validate those before using CFO in margin or trend formulas. Debt candidates may carry `debt_component_kind` values such as `instrument_principal`, `coupon_rate`, `finance_lease`, `other_notes`, or `total_debt_r","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_extractions","description":"Search cached langextract spans across filings using structured filters. Periods must use YYYY-Qn or YYYY-FY, not ISO dates. Read-only; cache misses are reported and never trigger LLM extraction.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_filing_tables","description":"Cross-filing search over an Edgar table index for a ticker. Matches on table description, table_type, and section. Returns metadata only; use get_filing_tables with the table_id to fetch full table contents. Use search_filing_text for same-filing prose search.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_filing_text","description":"Search cached markdown within one SEC filing keyed by ticker, year, quarter, and source. Read-only: cold caches return cache_status='cold' and are not warmed. CC5 prefix exception: although search_* usually denotes cross-filing search, search_filing_text is intentionally same-filing only and requires the per-filing ticker/year/quarter inputs. Use search_filing_tables for cross-filing table metadat","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_metrics","description":"Search available filing metrics by natural-language query and return ranked candidates. Optional role filters accept friendly statement roles such as [\"cash_flow\"], [\"balance_sheet\"], or [\"income_statement\"]. Cash-flow matches may carry mixed-scope warnings and bridge IDs; inspect the returned top-level `scope_bridges` before using CFO in FCF-style formulas. Debt refinance/tranche queries surface","write_action":false,"price_micros":0,"input_schema":null},{"name":"warm_metric_cache","description":"Enqueue async cache warming for metric periods. Paid/internal API tiers only. Each item requires ticker, year, quarter, and optional full_year_mode. Returns a job_id for warm_metric_cache_status polling.","write_action":false,"price_micros":0,"input_schema":null},{"name":"warm_metric_cache_status","description":"Poll an async metric cache warming job by job_id.","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":78,"grade":"B","scanned_at":"2026-11-02T06:14:25.593Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-11-02T06:14:25.558Z","components":{"code":{"score":25,"max":25,"notes":["5 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":12,"max":15,"notes":["last push 46 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"pypi","identifier":"edgar-mcp","version":"1.0.2","found":true,"weeklyDownloads":38,"license":"MIT","dependencyCount":3,"publishedAt":"2026-08-20T16:15:27.753128Z","repositoryUrl":"https://github.com/henrysouchien/edgar-mcp"}],"repo":{"found":true,"owner":"henrysouchien","repo":"edgar-mcp","archived":false,"pushedAt":"2026-09-16T20:45:13Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/53016591?v=4","ownerCreatedAt":"2019-07-17T17:56:25Z","license":"NOASSERTION"},"icon":{"url":"https://avatars.githubusercontent.com/u/53016591?v=4&s=128","source":"registry","width":128,"height":128},"presence":{"stars":0,"forks":0,"downloadsWeek":38,"license":"NOASSERTION","lastPushAt":"2026-09-16T20:45:13.000Z","score":18}}}},"grade_history":[],"reviews":[]}