Skip to main content
Glama

etf_holdings

Read-onlyIdempotent

Analyst: what a fund holds, by weight, and how old that is. Use after etf_profile to read the book, or before etf_overlap to see what two funds share. top_n limits the rows. lag_days says how old the book is: an issuer file read today and a filing from two months ago both come back here and are not the same answer.

Input Schema

NameRequiredDescriptionDefault
top_nNo
tickerYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and closed-world scope, so the safety profile is covered. The description adds genuinely new behavioral context about data staleness — an issuer file read today versus a filing from two months ago 'are not the same answer' — which an agent would not learn from structured fields. It stops short of describing row limits or weight normalization, and the staleness discussion centers on a parameter not present in the schema.

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?

Content is front-loaded: purpose first, then usage sequencing, then parameter notes, with no filler sentences. Some phrasing is loose ('how old that is,' 'are not the same answer') where a crisp statement of as-of semantics would be tighter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations gap, and only two parameters, the description conveys the conceptual return (holdings by weight plus data age), which is the key missing context. However, it omits ticker format, top_n defaults, result ordering, and references a non-existent lag_days parameter, leaving real gaps for a holdings tool whose freshness semantics matter.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description carries the full burden, but it only glosses 'top_n limits the rows' with no default or maximum. The required `ticker` parameter is never explained (format, single-fund only), and the description discusses a `lag_days` parameter that does not exist in the input schema, which actively misleads an agent trying to control data age.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific resource and scope: 'what a fund holds, by weight, and how old that is,' which tells an agent this returns constituent holdings with weights plus a data-age signal. It also names sibling relationships (etf_profile, etf_overlap), so it is distinguishable from other ETF tools. The 'Analyst:' prefix and the vague 'how old that is' phrasing keep it short of a clean 5.

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?

It gives explicit sequencing guidance: 'Use after etf_profile to read the book, or before etf_overlap to see what two funds share,' which names alternatives and the conditions that select them. There are no exclusions (e.g., when to prefer etf_holders or etf_compare instead), so it falls short of full when/when-not coverage.

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