Skip to main content
Glama

Insider trades before bad news

trades_before_events
Read-onlyIdempotent

Cross-feed signal: for issuers that filed a material 8-K event, show SEC Form 4 insider transactions in the N days BEFORE the event - e.g. insider selling before a bankruptcy, restatement, or delisting. Joins two feeds through the shared entity graph; raw EDGAR cannot answer this in one query.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax rows, default 50, cap 500.
sinceNoEarliest event date, YYYY-MM-DD.
txn_typeNoInsider transaction filter: sell (default - selling before bad news), buy, or all.
item_codesNo8-K items to anchor on, e.g. ["1.03","4.02","3.01"]. Default: distress items 1.03, 2.06, 3.01, 4.02.
days_beforeNoLookback window before the event date, default 60.
min_value_usdNoMinimum insider transaction value in USD.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already mark the tool as read-only and idempotent, so the description does not need to re-state safety. It adds meaningful context about the cross-feed join mechanics ('joins two feeds through the shared entity graph') and the limitation of raw EDGAR, giving insight into how the tool behaves beyond annotations.

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

Conciseness5/5

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

The description is two sentences with no wasted words. The first sentence states the core purpose with a concrete example, and the second sentence explains the unique cross-feed advantage. Every word earns its place.

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

Completeness4/5

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

The tool has 6 parameters (all optional) and no output schema. The description clearly explains the input context (material 8-K events and prior insider trades) and the output type (SEC Form 4 transactions), but it does not explicitly state the result structure (e.g., whether it returns event details alongside trades), which would have been helpful given no output schema. Still, it is largely complete for a filtering tool.

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

Parameters3/5

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

Schema description coverage is 100%, so all six parameters are well-documented in the schema. The description does not add any additional parameter-level semantics; it merely mentions the lookback window concept ('N days BEFORE') which is already captured by the 'days_before' parameter. This meets the baseline for schema-heavy tools.

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?

The description clearly states the tool's function: show SEC Form 4 insider transactions before material 8-K events. It provides concrete examples (bankruptcy, restatement, delisting) and distinguishes itself from siblings by explicitly noting it joins two feeds, which raw EDGAR cannot do in one query.

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?

The description gives clear context for when to use this tool (for cross-feed insider-trades-before-events analysis) and implies it is the right choice over raw EDGAR for this specific query. However, it does not explicitly state when NOT to use it or name alternative sibling tools, so it lacks formal exclusions.

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.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: per-form search tools (get_insider_trades, get_material_events, get_planned_sales, get_stakes), cross-feed signals (cluster_buys, planned_vs_executed, trades_before_events), and support utilities (company_profile, describe_coverage, find_company, list_recent_filings). The only slight overlap is company_profile vs. get_insider_trades, but company_profile is explicitly an aggregator that routes to detailed tools, eliminating ambiguity.

Naming Consistency4/5

Most tools follow a verb_noun pattern, especially the get_* family (get_insider_trades, get_material_events, etc.). However, three tools deviate: company_profile (noun_noun), planned_vs_executed (phrase with 'vs'), and trades_before_events (noun_phrase). These are still readable and clearly named, but they break the otherwise consistent convention.

Tool Count5/5

11 tools is well-scoped for the domain of insider trading analytics. It provides a complete set of per-filing-type search tools, cross-feed signals, and support utilities without redundancy or bloat. The count is within the ideal 5-15 range and feels justified.

Completeness5/5

The tool set covers the full lifecycle of insider data: entity resolution (find_company), orientation (describe_coverage), all major SEC forms (3/4/5, 8-K, 144, 13D/13G) via dedicated search tools, and advanced cross-feed analytics (cluster_buys, planned_vs_executed, trades_before_events). No obvious gaps are apparent for the stated purpose.

Resources