Skip to main content
Glama

holdings_by_security

Read-onlyIdempotent

Who owns a stock: institutional holders of a security from SEC Form 13F, ranked by position value, with quarter-over-quarter share changes. Answers 'who are the largest holders of NVDA', 'which funds added or trimmed this quarter', 'did anyone initiate a new position'. Give a ticker (resolved via CUSIP) or a CUSIP directly. Each holder row carries its accession number and an EDGAR source_url so the figure is verifiable against the primary filing. Coverage: quarter ends from 2024-12-31 through 2026-06-30, all ~10,000 filing managers, not just large ones; the newest quarter is still filling in as filers submit, so its holder_count is lower than a settled quarter's. Positions are aggregated per filer CIK — a single 13F contains one line per sub-manager (BlackRock's carries 42 separate NVDA lines), so per-line reading understates holders badly. Amendments are excluded. Note total_value_usd is the sum across filers and may double-count where combination reports include other managers' holdings; coverage_caveat flags this when relevant. 13F covers US-listed long equity and options only — it does not show shorts, cash, bonds, or non-US listings, and is filed 45 days after quarter end.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cusipNo9-character CUSIP, e.g. 67066G104. Use when the ticker is unmapped.
limitNoHolders to return, 1-100 (default 20), ranked by value.
issuerNoThe company the question is about, in the same shape financial_search and search take — so an agent can carry ONE issuer object across tools. Alias only: `issuer.ticker` fills in `ticker` when you have not set it. Ownership is a structured lookup, so there is no scope or quality_caveat here — `coverage_caveat` is this tool's equivalent.
periodNoQuarter end as YYYY-MM-DD, e.g. 2026-03-31. Defaults to the most recent loaded quarter.
tickerNoTicker, e.g. NVDA. Resolved to a CUSIP internally.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes far beyond the readOnly/idempotent annotations: discloses per-filer CIK aggregation (BlackRock's 42 lines), exclusion of amendments, the total_value_usd double-counting caveat and coverage_caveat flag, the newest-quarter fill-in lag, and the full 13F limitations (no shorts/cash/bonds/non-US, 45-day filing delay). This is exactly the operational context an agent needs.

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-loads the core purpose and the example questions, then layers coverage and caveats. It is long, but nearly every clause carries non-redundant semantics; only the per-line aggregation aside is slightly verbose relative to the rest.

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 no-required-param, nested-object tool with no output schema, the description covers coverage windows, aggregation semantics, amendment handling, data-quality caveats, and source verifiability (accession/EDGAR URL). Nothing an agent needs to call it correctly is missing.

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 100% (baseline 3), and the description still adds value: it explains ticker→CUSIP resolution, that a raw CUSIP is the fallback when a ticker is unmapped, and that the issuer object is an alias for ticker. It stops short of documenting limit/period defaults in prose, which the schema already covers.

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 ('institutional holders of a security from SEC Form 13F, ranked by position value'), and the ranking/scope distinguishes it clearly from the sibling holdings_by_manager. An agent immediately knows this answers 'who owns stock X' versus 'what does manager Y hold'.

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?

Gives concrete triggering questions ('who are the largest holders of NVDA', 'which funds added or trimmed') and notes the issuer object is shared with financial_search and search so it can be carried across tools. However it never explicitly names holdings_by_manager or states when-not to use this tool, so alternatives are only implied.

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.