Skip to main content
Glama

13F holders of one security

get_institutional_security_holders
Read-onlyIdempotent

One security's 13F holder rows across managers, anchored by exactly one of cusip / ticker; an unknown security returns 404 OWNERSHIP_SECURITY_NOT_FOUND. The securities block describes each matched CUSIP (ticker, issuer_norm, security_type, first_seen / last_seen, latest_holders). Flat mode (default) returns the same detail rows as get_institutional_portfolio with manager_cik / manager_name added to each row; quarter, type, activity and sort_by narrow them. group_by_quarter=true returns one aggregate row per quarter instead — holders, total_shares, total_value over live stock rows — unpaged. Flat mode 30 credits per page; grouped 40 flat; a 404 is still charged. POST /api/v1/ownership/institutional-holdings/security; FINANCIAL_API_DOCUMENTATION.md. The URL opens the filing's EDGAR index page; see the files listed there for full details.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pageNo1-based page number (default 1).
typeNoOne of "positions", "derivatives", "exited". Omit for all three.
cusipNo9-character CUSIP. Provide exactly one of cusip / ticker.
tickerNoTicker. A ticker can match several CUSIPs (share classes, renumberings) — rows for all of them are included and the securities block lists each one.
quarterNoCalendar quarter label YYYYQn, e.g. "2026Q1". Omit for every quarter, newest first.
sort_byNoOne of period, d_shares, ticker, issuer_norm, type, shares, value. Omit for newest quarter first.
activityNoAny of "NEW", "ADD", "REDUCE", "HOLD", "CUSIP_CHANGE". Unknown values are dropped with a warning.
page_sizeNoRows per page, 1-100 (default 50).
sort_orderNo"desc" (default) or "asc".desc
group_by_quarterNoWhen true, return one aggregate row per quarter (holders, total_shares, total_value over live stock rows) instead of detail rows, unpaged.

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?

Annotations only cover the safety profile (read-only, idempotent, non-destructive), so the description carries the burden of behavioral disclosure — and it delivers. It discloses a specific error code (404 OWNERSHIP_SECURITY_NOT_FOUND), credit costs per mode (30 flat / 40 grouped) and that a 404 is still charged, multi-CUSIP ticker matching, and the unpaged behavior of grouped mode. This is exceptional context beyond what annotations provide.

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 front-loaded with purpose and anchoring constraints, and each sentence carries real information: error behavior, securities block contents, output modes, pricing, and sibling relation. It runs slightly long and ends with noise — the raw 'POST /api/v1/...' endpoint, a doc-file reference, and an ambiguous trailing sentence ('The URL opens the filing's EDGAR index page...') whose antecedent is unclear. Minor clutter in an otherwise dense, well-structured definition.

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 10-parameter, dual-mode tool with no output schema, the description is remarkably complete: input anchoring, unknown-security error, credit costs, pagination differences between modes, output shape for both modes, and the relationship to get_institutional_portfolio are all covered. The few gaps — per-row column details delegated to the sibling's schema and no routing guidance versus search_institutional_holdings — are minor relative to the tool's complexity.

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 the baseline of 3 applies; the tool description largely paraphrases the schema ('anchored by exactly one of cusip / ticker', group_by_quarter returning 'holders, total_shares, total_value over live stock rows — unpaged'). Its modest added value is organizing which parameters narrow flat mode (quarter, type, activity, sort_by) versus which switch modes, but it introduces no genuinely new per-parameter meaning.

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 opens with a precise verb-resource-scope statement: 'One security's 13F holder rows across managers, anchored by exactly one of cusip / ticker.' It explicitly differentiates from the sibling get_institutional_portfolio ('returns the same detail rows as get_institutional_portfolio with manager_cik / manager_name added'), so an agent can tell these apart without opening schemas. The title and description agree, and the security-anchoring constraint is front and center.

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?

Clear context is established: this is the security-anchored counterpart to the manager-anchored get_institutional_portfolio, and the two output modes (flat detail vs grouped aggregates) are explained with their narrowing parameters. What's missing is an explicit exclusion — e.g., no guidance on when the sibling search_institutional_holdings would be the better choice for cross-security or text-based searches. It names the relationship but stops short of full when-not-to-use routing.

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