edgar-mcp has 8 well-named tools with clear, domain-specific descriptions (avg 120 chars). All tools have input schemas with typed parameters and descriptions. However, output schemas are not documented in the visible code, only inferred from tool logic. Error handling is minimal; tools raise EdgarError but provide no recovery guidance. Parameter descriptions lack format constraints (e.g., date format YYYY-MM-DD is stated but not enforced via schema). No tool annotations (readOnlyHint, etc.). Composition is sound, tools chain naturally (resolve_company → list_filings → get_filing_text). Security is adequate for read-only operations but lacks audit logging.
Cache hit rate, request count, and bytes downloaded this session.
Compare one XBRL concept across all filers for a period, ranked by value. Period is CY2023 (annual), CY2023Q1 (duration), or CY2023Q1I (instant).
Time series for one XBRL concept (e.g. Revenues, Assets, NetIncomeLoss) as reported by a company across filings.
Fetch the text of a filing document from its EDGAR Archives URL. Returns a window; if truncated is true, call again with next_offset.
List the XBRL tags a company actually reports, most-reported first. Use this to find the right tag before calling get_concept.
List a company's filings, newest first. Filter by form type (10-K, 8-K, DEF 14A, 4, ...) and filing-date range (YYYY-MM-DD).
Output schemas not documented. Tools return dicts but LLMs cannot see expected fields, types, or structure. Forces LLMs to infer output shape from tool logic.
Error handling lacks recovery guidance. EdgarError exceptions are raised but tool descriptions do not explain what to do on failure (e.g., 'If company not found, try search_filings with partial name').
No tool annotations. Tools lack readOnlyHint, destructiveHint, or idempotentHint metadata. All tools are read-only but this is not declared in schema.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 59 | 2026-07-28+ | v2 |
Resolve a ticker, CIK, or company name to its EDGAR identity.
Full-text search across EDGAR filings from 2001 onward. Returns matching filings with document URLs.
Parameter format constraints not enforced in schema. Date parameters (since, until) state YYYY-MM-DD format in description but lack regex pattern or format keyword in JSON Schema.
Pagination not fully documented. list_filings and search_filings accept limit but do not return total count or next_cursor. LLMs cannot determine if more results exist.