Skip to main content
Glama

Edgrapi — SEC EDGAR Financials

Get 13F institutional holdings

get_holdings
Read-onlyIdempotent

A fund's latest 13F portfolio parsed from the SEC information table: every position ranked by value, aggregated by CUSIP across sub-managers, options flagged put/call, and diffed against the prior quarter (new / added / reduced / exited). Identify the fund by a known name (berkshire, burry, ackman, bridgewater, citadel), a CIK, or a filer ticker (BRK-B).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoMax positions, 1-500 (default 50).
changesNoDiff vs the prior quarter (default true).
identifierYesFund name (e.g. 'berkshire', 'burry', 'pershing-square'), a CIK, or a ticker whose company files the 13F (e.g. BRK-B).

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds behavioral context beyond annotations: it notes data is parsed from the SEC info table, aggregated by CUSIP across sub-managers, options flagged, and diffed against prior quarter. However, it doesn't disclose edge cases like unknown identifiers or handling of missing prior quarter data, nor does it describe the return format. For a read-only tool with strong annotations, a 3 is appropriate.

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?

The description is two sentences with no redundancy. The main output is front-loaded, followed by identifier guidance. Every clause adds information: what is parsed, how it's aggregated, how options and diffs are handled, and how to find a fund. Efficient and well-structured.

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?

Given annotations already cover safety and idempotency, and the schema documents all three parameters with examples, the description is complete for a read-only query tool. It explains the data source, aggregation, and diffing logic, which are core behaviors. It lacks explicit return-type documentation, but the output schema is absent and the description's detail suggests the agent will get ranked positions. Minor gap: no mention of pagination beyond 'limit', but that's covered by schema. Overall solid.

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% and all three parameters have descriptions. The description adds meaning beyond the schema by explaining the identifier can be a name, CIK, or filer ticker, and gives examples. It also clarifies that 'changes' diffs vs prior quarter, and 'limit' sets max positions. The description enriches the parameter semantics, pushing above the baseline.

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 ('parsed', 'diffed') and resource ('13F portfolio', 'SEC information table') and clearly distinguishes itself from siblings. It names the input types (name, CIK, ticker) and the output detail (positions ranked, aggregated, options flagged, diffed). This unequivocally identifies the tool's function.

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 gives clear context on when to use it (when you need a fund's latest 13F holdings) and how to identify the fund (known name, CIK, filer ticker). It doesn't explicitly state when not to use it or name alternatives, but sibling tools like get_events, get_filings are sufficiently different. It lacks an explicit exclusion statement, but the input guidance is strong enough to steer an agent correctly.

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.1/5.0
Disambiguation5/5

Each tool targets a distinct SEC EDGAR resource and action: company info, filings, fundamentals, ratios, insider trades, activist stakes, fund holdings, events, and narrative sections. There is no overlap in purpose, and descriptions clarify any potential ambiguity (e.g., get_activist vs get_holdings).

Naming Consistency5/5

All tools follow a consistent 'get_' prefix followed by a singular or plural noun (e.g., get_company, get_filings, get_ratios). The pattern is uniform and predictable, making it easy to infer behavior from the name.

Tool Count5/5

Nine tools is well-scoped for a financial data server covering company profiles, regulatory filings, and derived metrics. Each tool has a clear, non-redundant role, neither feeling sparse nor bloated.

Completeness4/5

The surface covers the core EDGAR resources: company metadata, filings, financial statements, ratios, insider activity, activist filings, fund holdings, material events, and narrative sections. Minor gaps exist (e.g., direct search for specific filing types or proxy statements), but agents can accomplish most research workflows without dead ends.

Resources