Skip to main content
Glama

Who holds a security (13F)

security_holders

Institutional holders of a security by CUSIP: who owns it, position sizes, and changes. Paid: call without x_payment to receive this call's exact terms (amount, asset, network), sign them, then call again with x_payment. The free pricing tool lists every price at once.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cusipYes9-character CUSIP
x_paymentNoOptional signed x402 payment payload (base64, what the X-PAYMENT header carries). Omit to receive the exact payment terms; sign them (e.g. @x402/fetch) and call again with this argument to settle and get the data.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description discloses the key behavioral trait: the tool is paid and requires a two-step process (call without x_payment to get terms, then sign and call again). This is valuable transparency for the agent to handle payment correctly. It also describes the content scope but doesn't mention potential errors, rate limits, or pagination.

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?

Three sentences, each with a distinct purpose: purpose, payment flow, and alternative tool. No redundant wording and the most critical info is front-loaded.

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 simple data lookup with no output schema, the description tells the user what to expect (holders, position sizes, changes) and how to handle the paid flow. It doesn't cover edge cases like as-of date or format details, but it is adequate for 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 schema already documents both parameters. The description reinforces CUSIP and x_payment by mentioning them in context, but adds no new parameter semantics beyond what the schema already provides.

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 resource (institutional holders of a security by CUSIP) and the data returned (who owns it, position sizes, changes). This distinguishes it from sibling tools like manager_holdings (which likely lists a manager's holdings) and pricing (which provides prices).

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 intended use is clear from the purpose, and the description explicitly points to an alternative: 'The free `pricing` tool lists every price at once.' However, it doesn't explicitly say when NOT to use this tool or compare with other siblings, so it falls short of full explicit guidance.

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.

TDQS

A4.2/5.0
Disambiguation5/5

Each tool targets a distinct data area or action: coverage vs find_data vs request_data are clearly separate (metadata, search, and suggestion box), and the three holdings tools (holdings_changes, manager_holdings, security_holders) each address a different question (changes, portfolio, owners). No two tools have ambiguous boundaries.

Naming Consistency5/5

All tool names use consistent lowercase snake_case (coverage, find_data, fx_rate, request_data, etc.). While some are verb phrases and others are noun phrases, the naming style is uniform and predictable, making it easy to guess tool purposes.

Tool Count5/5

Twelve tools is a well-scoped size for a financial data API server. Each tool covers a distinct data domain, and there is no excessive redundancy or crowding. The count is within the ideal 3-15 range.

Completeness4/5

The tool set covers a broad range of financial data needs: SEC filings, holdings, insider activity, IPO, macro, and FX. Minor gaps exist (e.g., no direct company fundamentals or full filing text), but the request_data tool provides a path to fill missing datasets, so agents are not at a dead end.

Resources