Skip to main content
Glama

Kaleidoscope MCP (SEC & financial data)

Filing Change Screen (cross-sectional Lazy-Prices ranking — who rewrote most this year)

sections_filing_change_screen
Read-onlyIdempotent

Cross-sectional Lazy-Prices screen: 'which filers rewrote their Risk Factors (or MD&A / Legal / Business) most this year?' — ranks the universe of paired (year, compare_year) filings by total_change_magnitude using the same algorithm as sections__filing_change (heading set-diff → topic set-diff → semantic match with cosine 0.97 noise gate). Sister to sections__filing_change (which answers the per-filer 'what changed for ticker X' version).

Live panels (more are added over time):

  • 10-K Item 1A 2026 vs 2025 — 4,233 paired filers (Risk Factors, the marquee; mean mag 0.172).

  • 10-K Item 7 (MD&A) 2026 vs 2025 — 4,967 paired filers (more stable YoY than 1A; mean mag 0.089).

  • 10-Q Item 2 (quarterly MD&A) 2026 vs 2025 — 5,100 paired filers (mean mag 0.10). Cross-filer rankings mix fiscal quarters by design — each filer's diff is fiscal-quarter-aligned to its own prior year (NVDA Q1 FY27 pairs with NVDA Q1 FY26, not with NVDA's calendar-Q1 2025 filing). Top-N answers 'who rewrote their quarterly MD&A most YoY,' not 'who reported on the same calendar quarter.'

  • 10-K Item 3 (Legal Proceedings) 2026 vs 2025 — 4,317 paired filers (section-level grain, not sub-section). Mean mag is tiny (0.0018) because most filers carry stable boilerplate ('see Note X to Financial Statements'). The interesting cohort is the ~32 filers with mag ≥ 0.05 (the legal-disclosure tail — pharma Hatch-Waxman litigation, cannabis MSOs, CRE distress, environmental, etc.). min_change_magnitude=0.05 isolates the live legal stories. Per-filer depth via sections__filing_change(cik, item='3', form='10-K') returns the actual added/modified text. NB: heading / topic set-diff arrays are empty for section-level grain — that's by design, not a data gap.

Panel build pattern is offline; when a panel hasn't been built for the requested (form, item, year, compare_year), returns flag="panel_not_built" with empty rankings.

Filters:

  • min_change_magnitude — drop changes below floor.

  • sic_filter — exact SIC codes (array of strings).

  • sic_prefix — SIC prefix (e.g. "60" banks, "28" pharma).

  • cik_universe — rank a watchlist (array of CIK integers).

  • sort — magnitude_desc (default) / magnitude_asc / n_added_desc.

Magnitude distribution (10-K Item 1A 2026): 16% truly unchanged (<0.001), 28% light revision, 30% moderate, 15% substantial, 5% major, 5% saturated (50K+ chars rewritten = Lazy-Prices tail). Within the saturated cohort the secondary sort by raw_total_magnitude surfaces the actual biggest rewriters (electroCore 377K, Semnur Pharma 341K, FibroBiologics 319K — clinical-trial-restructuring biotechs, post-transformation issuers, distressed REITs).

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": "sections_filing_change_screen"
  }
}

Input Schema

NameRequiredDescriptionDefault
formNoFiling form. 10-K is the default and most-built; 10-Q / S-1 / 20-F panels build on request.10-K
itemNoItem code. 10-K / 10-Q: '1A' Risk Factors (default, marquee), '7' MD&A (long-form, rich signal), '3' Legal Proceedings (section-level grain). 20-F: item codes differ (Item 3 there ≠ Legal Proceedings).1A
sortNoSort order. magnitude_desc is default ('most rewritten'). magnitude_asc surfaces the 'no-change' tail. n_added_desc focuses on filers that ADDED the most new content.magnitude_desc
yearNoCalendar year of the CURRENT filing. Default: latest available (typically 2026).
top_nNoMax rankings to return. Default 20.
sic_filterNoFilter to a list of exact SIC codes (strings — SIC is KEYWORD-indexed).
sic_prefixNoSIC prefix filter (e.g. '60' for banks, '28' for pharma/chem). Combine with sic_filter for narrower industries.
cik_universeNoRestrict the ranking to a specific list of CIKs — 'rank my watchlist'. Useful to compare a peer set or own portfolio.
compare_yearNoCalendar year of the BASELINE filing. Default: year - 1.
min_change_magnitudeNoDrop filers with total_change_magnitude below this floor. Useful for skipping the long unchanged tail.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, non-destructive, closed-world, so the safety profile is covered; the description adds genuinely non-obvious behavior instead — offline panel builds, the panel_not_built failure mode, fiscal-quarter-aligned pairing that deliberately mixes calendar quarters, and empty heading/topic arrays being by design for section grain. The magnitude-distribution histogram and named top filers are useful color but are closer to marketing than needed behavior disclosure.

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

Conciseness3/5

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

Front-loaded correctly with a bulleted panel list and filter list, so it is navigable despite its length. But the per-panel statistical asides (mean magnitudes, paired-filer counts, '32 filers with mag ≥ 0.05') and the closing paragraph listing specific issuers with character counts (electroCore 377K, Semnur 341K, FibroBiologics 319K) carry little decision value for an agent choosing parameters.

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?

For a 10-parameter, no-output-schema screening tool, everything an agent needs is present: supported panels, the grain caveat for Item 3, the fiscal-quarter mixing caveat for 10-Q, the empty-array-by-design note, and the graceful-degradation flag. Nothing material is left to guesswork.

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?

With 100% schema description coverage the baseline is 3, and the description stays above that by tying parameters to intent: sic_prefix examples ('60' banks, '28' pharma), cik_universe as 'rank my watchlist', and the specific threshold min_change_magnitude=0.05 that isolates the legal tail. It does not restate defaults already 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?

Opens with a specific verb and resource ('ranks the universe of paired (year, compare_year) filings by total_change_magnitude') and explicitly positions itself against the sibling sections__filing_change as the cross-sectional vs per-filer version. An agent can pick between the two without opening either 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?

Gives concrete routing rules rather than vague context: use the per-filer tool for depth on a ticker, use min_change_magnitude=0.05 to isolate the live legal stories in Item 3, and use cik_universe to rank a watchlist. It also tells the agent what happens when no panel exists for the requested tuple (flag='panel_not_built'), which is a real decision input.

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