Skip to main content
Glama

insider_buys

SEC Form 4 open-market insider BUYS (public domain). Form-4 code P only: grants, option exercises, tax withholding and gifts are excluded because they are compensation events rather than conviction. An officer or director spending their own money is the signal this feed isolates. Carries observed_at (when recorded here) and happened_at (transaction date on the filing). For disposals use insider_sells. Since 2026-09-01 the feed also carries Schedule 13D/13G beneficial-ownership stakes (form=13D active intent, form=13G passive; direction=buy on an initial filing or a percent increase versus the last filing seen); filter with form=4 for Form 4 only.

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

Input Schema

NameRequiredDescriptionDefault
formNoSEC form; omit for all
paidNotrue = request the pay-per-call (x402) quote or the live tier. Without a payment attached the call returns the x402 PaymentRequired object as an isError result; attach the signed payment at _meta["x402/payment"] (or the PAYMENT-SIGNATURE header) and retry. Omit for the free, delayed tier.
sinceNoOnly transactions on/after this YYYY-MM-DD
tickerNo
tickersNoComma-separated tickers (max 100)
min_valueNoMinimum transaction value in USD (Form 4 rows only carry a value)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / paid
      Added value: +{
      +  "description": "true = request the pay-per-call (x402) quote or the live tier. Without a payment attached the call returns the x402 PaymentRequired object as an isError result; attach the signed payment at _meta[\"x402/payment\"] (or the PAYMENT-SIGNATURE header) and retry. Omit for the free, delayed tier.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / tickers
      Added value: +{
      +  "description": "Comma-separated tickers (max 100)",
      +  "type": "string"
      +}
  2. Changed2 schema fields changed
    • addedInput schema / properties / form
      Added value: +{
      +  "description": "SEC form; omit for all",
      +  "enum": [
      +    "4",
      +    "13D",
      +    "13G"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / min_value / description
      Previous value: -"Minimum transaction value in USD"New value: +"Minimum transaction value in USD (Form 4 rows only carry a value)"
  3. First observed

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the burden well: it discloses the code-P inclusion filter, that grants/option exercises/tax withholding/gifts are excluded, the semantic of observed_at vs happened_at, and the 2026-09-01 expansion to 13D/13G with direction rules. It does not cover authentication, rate limits, pagination or result volume, leaving some operational gaps.

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 definition and filtering rules, and most sentences earn their place by disambiguating data semantics. It is dense but slightly long, with the 13D/13G expansion paragraph adding bulk that could be tightened.

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?

For a 6-parameter, no-annotation, no-output-schema tool, the description covers purpose, inclusion/exclusion rules, temporal field semantics and cross-form behavior well. It leaves return volume/pagination and payment-tier mechanics (though the latter is documented in the schema) unaddressed.

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 83%, so the baseline is 3, but the description adds real meaning beyond the schema by defining 'direction=buy' for initial 13D/13G filings or percent increases, and clarifying form semantics (13D active intent, 13G passive). It does not clarify min_value or ticker/tickers behavior beyond 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 precise verb and resource: 'SEC Form 4 open-market insider BUYS (Form-4 code P only)'. It explicitly scopes what is and is not included and names the sibling it is not (insider_sells), so an agent can distinguish it 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?

Gives explicit routing: 'For disposals use insider_sells', plus a filtering rule ('filter with form=4 for Form 4 only') and an explanation of when 13D/13G rows appear. The when-to-use and alternative-tool conditions are both spelled out.

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