Skip to main content
Glama

KeyVex

get_sec_comment_letters

Read-only

Returns SEC comment-letter correspondence: form UPLOAD (the SEC's letter TO the company — the questions) and CORRESP (the company's response). The Division of Corporation Finance sends these during filing reviews; they're released ~20+ business days after the review closes. Coverage 2005→present. Use this when the user asks about: whether a company is (or was) under SEC review, accounting-quality red flags before they become enforcement, the back-and-forth around an IPO registration, or to pair with fundamentals / insider activity ('were insiders selling while the SEC was asking questions?'). Reading a thread: filter by ticker or cik, sort date_filed asc — a review is an alternating UPLOAD/CORRESP chain; the final short UPLOAD is typically the 'review complete' letter. v1A is metadata-only: follow filing_index_url for the letter text. released_date is set on records captured from EDGAR's daily indexes (the dissemination day); older backfilled records carry only date_filed (the letter's own date) — dissemination day isn't recoverable historically and KeyVex never fabricates it. A comment letter is ROUTINE, not an accusation — most large filers get reviewed on a cycle (Sarbanes-Oxley §408 requires review at least every 3 years). Signal comes from thread LENGTH, topic, and recency, which agents judge from the letter text. Pure-publisher posture: EDGAR index records as published.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cikNoSEC CIK (any zero-padding).
formNoUPLOAD = SEC's letter to the company; CORRESP = the company's response.
limitNoMaximum letters to return. Default 50, max 500.
sinceNoLetter date lower bound (YYYY-MM-DD inclusive).
untilNoLetter date upper bound (YYYY-MM-DD inclusive).
tickerNoExact ticker (resolved from CIK; '' for unlisted filers).
sort_orderNoDefault desc. Use asc with a ticker filter to read a review thread in order.
company_nameNoCase-insensitive substring against the company name as indexed.
accession_numberNoDirect lookup by EDGAR accession number (e.g., '0000000000-26-004788').

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly, openWorld, non-destructive), and the description still adds substantial context beyond them: coverage 2005→present, ~20+ business day release lag, v1A metadata-only with filing_index_url for text, released_date semantics for backfilled records, and a 'never fabricates' integrity note.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with purpose and form definitions, then usage, then reading mechanics and caveats. It is fairly long, and the sort/thread guidance slightly overlaps the sort_order schema description, but nearly every sentence carries distinct operational value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and 9 optional parameters, the description fully compensates: it explains what is returned (metadata vs. letter text via filing_index_url), the release timing model, historical coverage, and the interpretative limits (signal from thread length/topic/recency). Nothing an agent needs to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description goes further by explaining how to combine filters (filter by ticker or cik, sort date_filed asc) and how to interpret the resulting alternating UPLOAD/CORRESP chain. It adds thread-reading semantics not present in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Returns SEC comment-letter correspondence') and immediately defines the two form types UPLOAD and CORRESP. An agent can distinguish this from siblings like get_enforcement_actions or get_registration_statements without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly enumerates when to use it: 'whether a company is (or was) under SEC review, accounting-quality red flags before they become enforcement, the back-and-forth around an IPO registration,' and pairing with fundamentals/insider activity. Also explains the practical reading workflow (filter by ticker/cik, sort asc, interpret the alternating chain).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources