Skip to main content
Glama

FinBridge

Get Insider Trades (SEC Form 4)

get_edgar_insider_trades
Read-only

Latest insider transactions for a US company, parsed from SEC Form 4 filings, with a buy-vs-sell summary and an optional buy/sell filter. Each trade lists the reporting insider, their relationship, and non-derivative (common stock) transactions.

Not this tool for: Korean insiders (get_dart_insider_trades) or institutional managers, which are a different kind of holder entirely (get_edgar_13f).

Insider BUYS (open-market purchases, code P) are a stronger sentiment signal than sells (code S), which happen for many reasons (diversification, taxes). Use tx_type to monitor one side.

Args:

  • company (required): ticker / company name / CIK

  • limit: number of most-recent Form 4 filings to parse, 1-25 (default 10)

  • tx_type: 'all' (default) | 'buy' (code P purchases only) | 'sell' (code S sales only)

Returns: {company:{cik, name, ticker}, tx_type, summary:{buys:{count,shares,value}, sells:{count,shares,value}}, count, trades:[{filedAt, owner, relationship, url, transactions:[{date, code, shares, price_per_share, acquired_or_disposed, shares_owned_after}]}], notes}. summary totals cover the whole fetched window regardless of the filter; value = shares x price where a price is reported. Transaction codes: P=open-market purchase, S=open-market sale, M=option exercise, F=shares withheld for tax, A=award/grant, G=gift. acquired_or_disposed: A=acquired, D=disposed.

Examples:

  • "insider BUYING at Apple" -> {company:'AAPL', tx_type:'buy'}

  • "recent insider SELLING at Nvidia" -> {company:'NVDA', tx_type:'sell'}

  • "all TSLA insider activity, more history" -> {company:'TSLA', limit:25}

Use when: monitoring insider buy/sell activity (officers, directors, 10% owners) for a US-listed company. Larger 'limit' widens the time window. Don't use for: institutional holdings (use get_edgar_13f), Korean companies, or derivative-only detail (option grids are skipped).

Errors: unknown company -> use search_edgar_company; a filter with no matching transactions returns count 0 (not an error); unparseable Form 4 XMLs are skipped and counted in notes.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of most-recent Form 4 filings to parse (default 10)
companyYesUS company: ticker (e.g. 'AAPL', 'BRK-B' or 'BRK.B'), company name, or CIK number
tx_typeNo'all' (default), 'buy' = open-market purchases (code P) only, 'sell' = sales (code S) onlyall

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countNo
notesNo
tradesYes
companyYes
summaryNo
tx_typeNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A5/5.0
Behavior5/5

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

Beyond the readOnlyHint annotation, the description discloses important behaviors: summary totals cover the whole fetched window regardless of filter, unparseable XMLs are skipped and counted in notes, and a filter with no matches returns count 0 (not an error). This is valuable for expectation-setting.

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 well-structured with clear sections (main purpose, exclusions, filter explanation, args, returns, examples, usage, errors). It is thorough but not verbose, using bullet-like sections and staying concise while covering all necessary information. The main purpose is front-loaded.

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?

The description includes a detailed 'Returns' section that acts as an output schema, explaining the structure of the result including summary, trades array, and notes. It also covers error handling and edge cases, making the tool's behavior fully predictable for an agent.

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

Parameters5/5

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

All three parameters are described in the schema, and the description adds further meaning: it explains transaction codes (P, S, M, F, A, G), acquired_or_disposed values, and clarifies that 'limit' is the number of filings parsed. The examples also map user intents to parameter values.

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 fetches latest insider transactions for a US company from SEC Form 4 filings, with a buy/sell summary and optional filter. It distinguishes from get_dart_insider_trades and get_edgar_13f by explicitly noting the US scope and the focus on Form 4 filings.

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?

Provides explicit 'Use when' and 'Don't use for' sections, naming alternatives like get_edgar_13f for institutional holdings and get_dart_insider_trades for Korean companies. Includes concrete examples and clarifies the effect of the limit parameter, making selection straightforward.

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.