Skip to main content
Glama

Livermore

13F institutional holders of a stock

get_stock_13f_holders
Read-onlyIdempotent

Institutions that reported holding a stock in their 13F-HR filings for one calendar quarter (default: the latest complete quarter; 13F is filed up to 45 days after quarter end and covers long positions in US-listed securities only). Each row: institution, shares, market value in USD at quarter end as reported, pct_of_portfolio (percent of that institution's 13F portfolio), and the change versus the previous calendar quarter (action new/added/reduced/unchanged/sold_out, share_change, share_change_pct in percent). Institutions that held the stock last quarter and filed this quarter without it are listed after the holders as sold_out; institutions that held it last quarter but have not filed this quarter yet are listed at the very end as not_filed (not a sale, shares and value null). Totals (holders, shares, value_usd) cover all holders, not just this page. Multiple CUSIPs of the same ticker are combined. changes_available is false (and the change fields are null) when the previous quarter cannot be compared; note explains incomplete or still-filing quarters. At most 200 rows per call; use page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNoPage number starting at 1; each page has `limit` rows. Check has_more.
sortNovalue = largest market value first (default); shares = most shares; change = largest share increase first. Sold-out holders are always listed last.value
limitNoMaximum rows to return (1-200, default 25).
tickerYesStock ticker, e.g. AAPL or BRK.B (share classes use a dot; BRK-B also works).
quarterNoQuarter to show, e.g. 2026-q2. Default: the latest complete quarter.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYes
nameYes
noteYes
pageYes
rowsYes
sortYes
limitYes
periodYes
sharesYes
tickerYes
holdersYes
quarterYes
has_moreYes
previousYes
value_usdYes
previous_quarterYes
changes_availableYes
in_progress_quarterYes
latest_complete_quarterYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior5/5

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

Description adds rich behavioral detail far beyond the annotations: sold_out vs not_filed ordering, CUSIP combining, changes_available false condition, totals covering all holders, pagination cap. Annotations already declare read-only/idempotent, so the description's extra nuance about data structure and edge cases is valuable and non-contradictory.

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?

The description is long but highly information-dense; every clause serves the agent (sold_out handling, not_filed semantics, change availability, pagination). It is front-loaded with the core purpose and then systematically covers edge cases, making it efficient despite its length.

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 an output schema present, the description correctly explains output-specific nuances (sold_out, not_filed, changes_available) that the schema cannot convey. It covers all behavioral caveats an agent needs to correctly interpret results and paginate.

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 a baseline of 3 is appropriate. The description does not add meaning beyond what each parameter's schema already states; it mentions pagination and has_more but that is output-related. The ticker format example (BRK.B) is already in the schema description, so no extra lift.

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 states a specific verb-resource pair ('Institutions that reported holding a stock in their 13F-HR filings') and immediately scopes it to one calendar quarter and US-listed long positions. It clearly differs from siblings like get_insider_trades or get_institution, even without naming them, because the 13F-HR focus is unambiguous.

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 provides strong context on when the tool is applicable: default quarter, filing delay, coverage scope (US-listed long positions). However, it does not explicitly name alternative tools or state conditions for using a sibling instead. This is a minor omission given the highly specific name and scope.

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