SEC EDGAR public APIs (free, no auth) — full-text search, company filings, XBRL fundamentals, financial metrics
EDGAR MCP demonstrates solid definition quality with well-structured tool names, comprehensive descriptions, and complete input schemas. All 6 tools follow verb_noun naming (edgar_search_*, edgar_company_*). Descriptions are detailed (150-300 chars) and include WHEN to use each tool and how they relate (e.g., 'PREFER OVER WEB SEARCH', 'for that use edgar_company_filings'). All parameters have type definitions and descriptions. However, output schemas are not documented, LLMs cannot see what fields to expect from responses. Error handling guidance is absent. No tool annotations (readOnlyHint, idempotentHint) despite all tools being read-only. Parameter constraints lack enums where applicable (e.g., form_type accepts free-form strings instead of an enum of valid SEC forms).
AUTHORITATIVE historical financials for any US public company. Source: SEC XBRL filings (the official numbers companies file, not third-party scrapes). Pass a ticker or CIK plus a friendly metric name — Revenue, NetIncomeLoss, Cash, LongTermDebt, EarningsPerShareDiluted — and the tool resolves the right XBRL tag for that filer (post-ASC-606 companies use RevenueFromContractWithCustomerExcludingAssessedTax instead of "Revenues", etc.). Returns annual values with fiscal years, period ends, filing types. Use for "what was AAPL's revenue in 2024", "show me NVDA's long-term debt trend", anything where you need the SEC-filed number rather than an estimate.
AUTHORITATIVE full XBRL fundamentals dump for a US public company by CIK. Returns every reported financial metric (hundreds of concepts: revenue, net income, assets, liabilities, EPS, cash flow lines, segment breakdowns) with annual and historical values pulled straight from the company's SEC filings — the official numbers, not estimates. Use when you need the complete fundamental picture vs. one metric (for one metric use edgar_company_concept). Large payload; agents typically use this once to discover available concepts then narrow to edgar_company_concept for follow-up queries.
AUTHORITATIVE list of recent SEC filings for a specific US public company. Pass a ticker ("AAPL") or CIK ("320193"). Filter by form type — "10-K" (annual report), "10-Q" (quarterly), "8-K" (material event — but for severity-classified 8-Ks specifically, prefer sec_8k_recent), "DEF 14A" (proxy), "S-1" (IPO registration), etc. Returns filing dates, form types, accession numbers, document links. Use for "what did $TICKER recently file" or "show me the last N proxy statements for $TICKER". For specific financial metrics over time use edgar_company_concept; for the full XBRL dump use edgar_company_facts.
Output schemas not documented. LLMs cannot see what fields to expect from tool responses (e.g., what does edgar_search_filings return? Is it a list of objects with accession_number, filing_date, company_name?). This forces LLMs to guess field names for downstream operations.
form_type parameter accepts free-form strings instead of enums. Valid values ('10-K', '10-Q', '8-K', 'DEF 14A', 'S-1') are mentioned in descriptions but not enforced as JSON Schema enums. LLMs may hallucinate invalid form types.
No tool annotations despite all tools being read-only. Missing readOnlyHint in tool definitions. This prevents clients from understanding that these tools have no side effects and can be safely retried.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
List the documents inside one SEC filing by accession number. Returns document names, types (10-K, exhibit, cover page, etc.), file sizes, and direct links to the raw filings. Use after edgar_company_filings or edgar_search_filings to drill into a specific filing and find the document you need (e.g., "show me the exhibits in this 10-K").
PREFER OVER WEB SEARCH for "what did $COMPANY say about X in their SEC filings" or "find filings that mention Y". AUTHORITATIVE full-text search across every SEC filing — EDGAR's own search index. Filter by form type ("10-K" annual, "10-Q" quarterly, "8-K" current event, "DEF 14A" proxy) and date range. Returns filing metadata + accession numbers + document links. Use when you need to find filings matching a topic across the whole market, not for a specific company (for that use edgar_company_filings).
Look up the CIK (Central Index Key) for a US public company by ticker symbol. Exact match only — pass "AAPL" not "apple". Returns the 10-digit zero-padded CIK. Use when you have a ticker and need the CIK for downstream EDGAR API calls.
No error handling guidance. Tool descriptions do not explain what to do if a lookup fails (e.g., 'ticker not found', 'CIK invalid'). No recovery hints for LLMs.
Pagination not documented. edgar_search_filings and edgar_company_filings accept a 'limit' parameter but no cursor, offset, or next_page field is mentioned. Large result sets may exceed context windows without clear pagination strategy.