Skip to main content
Glama

Kaleidoscope MCP (SEC & financial data)

SEC Comment Letters (staff reviews with the company's answers, counsel, market screen)

sec_comment_letters
Read-onlyIdempotent

SEC staff comment letters (UPLOAD) and the company's answers (CORRESP), as Kaleidoscope Console's Research report shows them.

With ticker_or_cik: the company's reviews, newest first. Each review covers one target filing (e.g. 10-K for FY2024, an S-1) with opened / closed dates and the staff letters in order. Each comment has seq, topic (non_gaap_measures, revenue_recognition, segment_reporting, ...), ask_type, the ask, the disclosure it points at, and the company's answer (revised / will_revise / declined / clarified / provided_info + summary). Company response letters carry date, signer (name, title, firm) and accession. no_staff reviews are answers whose staff letter isn't on EDGAR (comments given by phone, common for funds). Also answer_totals, topic_totals and counsel: outside law firms and auditors on the company's SEC correspondence (letters, first/last, lawyers) and the company's own signers.

Without a company it is a screen: staff comments filed in a window, filtered by topics / target_form, newest first, one row per letter with the matching comments — e.g. who got non-GAAP comments this quarter.

Every letter carries an accession to open with get_filing. Coverage: EDGAR comment letters as extracted by bios (≈200K staff letters, ≈630K answers); data_through is the latest staff letter loaded. The SEC releases letters ~20 business days after a review closes, so recent reviews appear late.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "sec_comment_letters"
  }
}

Input Schema

NameRequiredDescriptionDefault
as_ofNoYYYY-MM-DD — only letters filed by then. Default today.
limitNoReviews (company) or letters (screen) per page (default 5, max 50); page with next_offset.
sinceNoYYYY-MM-DD. Company mode: reviews opened on/after. Screen: default 90 days before as_of.
offsetNo
topicsNoOnly comments on these topics.
company_idNoCompany UUID from mars_company_resolve (instead of ticker_or_cik).
target_formNoOnly reviews of this form: '10-K', '10-Q', '20-F', 'S-1', 'proxy', ...
ticker_or_cikNoTicker or CIK. Omit for the market-wide screen.
include_counselNoCompany mode: include the counsel / auditors / signers block.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only declare read-only/idempotent; the description adds real operational context beyond that: EDGAR coverage counts (~200K staff letters, ~630K answers), the data_through freshness field, the ~20 business day SEC release lag, and the no_staff case for phone-delivered comments. It also discloses pagination via limit/next_offset and the shape of returned comment objects.

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 the core identity and the two modes, then field detail, then coverage caveats — a sensible hierarchy. The middle block is dense with comma-separated field enumerations and parenthetical asides, which costs some readability but every sentence carries informational weight.

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 9 optional params and no output schema, the description carries the return-shape burden and does so thoroughly: review structure, comment fields, answer statuses, counsel/answer_totals blocks, and screen row granularity. Combined with the coverage and latency notes, an agent has enough to call it correctly and interpret results.

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 89%, so the baseline is 3, but the description adds meat the schema does not: limit means reviews-per-page in company mode versus letters-per-page in screen mode, and the fields available on each comment (seq, topic, ask_type, answer classification, signer/accession) clarify what topics and target_form actually filter. It stops short of restating since/as_of edge cases beyond what the schema already says.

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 resource (SEC staff comment letters UPLOAD plus company CORRESP) and enumerates what a returned review contains. It also clearly delineates two modes: per-company reviews when ticker_or_cik is supplied, and a market-wide screen when it is omitted.

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

Usage Guidelines4/5

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

Gives concrete when-to-use framing for both modes, including an example use case ('who got non-GAAP comments this quarter') and an explicit hand-off: 'Every letter carries an accession to open with get_filing.' It does not name sibling letter/screen tools to steer away from, so the alternative-selection guidance is strong but not exhaustive.

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