Skip to main content
Glama

Edgar Fund Holdings

edgar_fund_holdings
Read-onlyIdempotent

AUTHORITATIVE portfolio holdings of a US ETF or mutual fund (SEC Form N-PORT) — what the fund actually owns. Pass the FUND's ticker (e.g. "ARKK", "QQQ", "VTI", "VOO", "IVV"). Returns the latest monthly portfolio: net assets, holdings count, and top positions by weight — each with name, CUSIP, value (USD), and % of fund. Use for "what does ARKK hold", "top holdings of QQQ", "is $STOCK in VTI". Distinct from edgar_institutional_holdings (13F = what an investment MANAGER like Berkshire owns); this is a registered fund's own N-PORT. Covers US-registered open-end funds + ETFs; data is ~30-60 days delayed. Note: a few legacy ETFs structured as unit investment trusts (e.g. SPY, DIA) don't file N-PORT and won't resolve — use IVV or VOO for S&P 500 exposure.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
limitNoTop N holdings by weight to return (1-100, default 25)
tickerNoREQUIRED (or its alias `ticker_or_cik`). ETF or mutual-fund ticker (e.g. "ARKK", "SPY", "QQQ"). Fund tickers, not company stock tickers.
ticker_or_cikNoAlias for `ticker` — the spelling sibling SEC tools (edgar_company_filings, edgar_insider_transactions) use. Must still be a FUND ticker: N-PORT funds are keyed by ticker, so a bare CIK will not resolve here.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • changedInput schema / properties / ticker / description
      Previous value: -"ETF or mutual-fund ticker (e.g. \"ARKK\", \"SPY\", \"QQQ\"). Fund tickers, not company stock tickers."New value: +"REQUIRED (or its alias `ticker_or_cik`). ETF or mutual-fund ticker (e.g. \"ARKK\", \"SPY\", \"QQQ\"). Fund tickers, not company stock tickers."
    • addedInput schema / properties / ticker_or_cik
      Added value: +{
      +  "description": "Alias for `ticker` — the spelling sibling SEC tools (edgar_company_filings, edgar_insider_transactions) use. Must still be a FUND ticker: N-PORT funds are keyed by ticker, so a bare CIK will not resolve here.",
      +  "type": "string"
      +}
    • changedInput schema / required
      Previous value: -[
      -  "ticker"
      -]New value: +[]
  2. Changed1 schema field changed
    • addedInput schema / examples
      Added value: +[
      +  {
      +    "limit": 25,
      +    "ticker": "ARKK"
      +  },
      +  {
      +    "limit": 10,
      +    "ticker": "QQQ"
      +  }
      +]
  3. Added

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds significant behavioral context: data is ~30-60 days delayed, only US-registered funds covered, and funds like UITs are excluded. It doesn't contradict annotations—readOnly is consistent with a read-only query. The description goes beyond annotations to set expectations about data freshness and coverage limitations.

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 longer than typical but every sentence serves a purpose: purpose, usage, examples, distinction, coverage, and exclusions. The essential info (what it does, how to use) is front-loaded, with edge cases at the end. It's not overly verbose given the complexity (fund vs manager distinction). It loses a point for being a bit longer than ideal, but it's well-organized and each sentence earns its place.

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 tool with 3 parameters and no output schema, the description is nearly complete. It explains the output will include net assets, holdings count, and top positions with name, CUSIP, value, and % of fund. It also covers common failure modes (non-US funds, UITs, CIK misuse) and provides alternatives. It doesn't specify pagination or error details, but those are less critical. Given the tool's moderate complexity, this is near-complete.

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% since both parameters have descriptions, providing a baseline of 3. The description adds value by clarifying the ticker parameter is REQUIRED (despite schema showing required: []), and warns that `ticker_or_cik` is an alias but must be a fund ticker, not a CIK. It also explains that 'limit' is a preference (1-100, default 25) implicitly. This elevates from baseline to a 4 because it clears up the ambiguity around the alias and the required nature of ticker.

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 clear verb ('Pass'), resource (US ETF/mutual fund portfolio holdings from SEC Form N-PORT), and specific scope (latest monthly portfolio with net assets, holdings count, top positions). It explicitly differentiates from edgar_institutional_holdings by naming the sibling and defining what it covers (13F managers vs. fund's own N-PORT). The phrase 'AUTHORITATIVE' adds confidence, and the list of example queries makes the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage instructions: pass the fund's ticker (not company tickers), provides example tickers, mentions the alias `ticker_or_cik` and warns that a CIK won't resolve. It explicitly contrasts with edgar_institutional_holdings and explains the N-PORT vs 13F distinction. It also provides negative guidance: funds structured as UITs (SPY, DIA) won't work, with a suggested alternative (IVV, VOO) for S&P 500 exposure. This is exactly what the dimension asks for.

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.