Skip to main content
Glama

get_investor_portfolio

Read-onlyIdempotent

Get every position one investor reported on SEC Form 13F for a quarter: CUSIP, issuer, class, value in USD, shares, weight in the reported portfolio, change in shares against the prior quarter, new and closed flags, and the roster ticker where the issuer is a company autario covers. Defaults to the latest quarter; quarters_available lists the rest. Form 13F covers long US-listed equities and options only (no shorts, no cash) and is filed up to 45 days after quarter end. Example: investor="berkshire-hathaway", quarter="2026-Q2".

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "investor": "<investor>"
    },
    "name": "get_investor_portfolio"
  }
}

Input Schema

NameRequiredDescriptionDefault
limitNoMax holdings returned, largest first (default 500, max 5000).
formatNoOutput wire format for this MCP call. Default 'toon' (Token-Oriented Notation, fewest tokens, best for tabular rows). 'compact' = minified JSON. 'json' = pretty JSON for readability. The REST API always returns JSON regardless.
quarterNoQuarter end date (2026-06-30) or label (2026-Q2). Omit for the latest reported quarter.
investorYesInvestor slug from list_investors (e.g. berkshire-hathaway, scion-asset-management), its display name, or its SEC CIK.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered; the description adds genuinely non-obvious behavior: 45-day filing lag, the long-equity/options-only coverage boundary, and the default-to-latest-quarter resolution. It does not discuss pagination or what happens when an investor has no filing for the requested quarter, which would complete the picture.

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 action and return shape, then scope caveats, then the example — a sensible ordering. The field enumeration sentence is long but every item is information the agent would otherwise have to guess at, given there is no output schema; a small amount of density is the only cost.

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 no output schema, the description compensates by listing the returned fields, and it covers defaulting, discovery of other quarters, and the domain limits of 13F data. An agent has enough to select and invoke this correctly without further lookups.

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%, so the baseline is 3, but the description adds a concrete worked example (investor="berkshire-hathaway", quarter="2026-Q2") and the pointer that quarters_available enumerates valid quarter values, which the schema does not say. It does not add meaning to limit or format 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 specific verb and resource (get every 13F position for one investor in a quarter) and enumerates exactly what comes back: CUSIP, issuer, class, value, shares, weight, share change, new/closed flags, ticker. It is clearly distinct from list_investors (which supplies the slug) and from the portfolio-aggregate siblings.

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 real usage context: defaults to the latest quarter, points to quarters_available for other quarters, and scopes the domain (13F covers long US-listed equities and options only, no shorts or cash, filed up to 45 days after quarter end). It stops short of explicitly routing between this tool and alternatives like who_holds or get_entity_profile, so it is clear context without full when/when-not 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.