可作为 MCP 工具调用:
etf_holdings —— 可在 Claude / Cursor / 任意 MCP 客户端中直接使用。详见 MCP Server 60 秒配置。它为 Agent 做什么
etf_holdings 返回单只美国上市 ETF 的完整持仓表,可以查最新可用申报,也可以用 as_of 回看某个日期前已经公开的申报。返回行数受 limit 限制;每行都整理成同一套 EtfHolding 字段,包括 ticker / cusip / isin / sedol、weight、market_value、shares,以及 sector / country / asset_type。结果按 weight 从高到低排列。
当 agent 需要逐条持仓时用它:算前十大占比、HHI,比较两只 ETF 的重合持仓,或从某只 ETF 的底层成分里挑主题股票。如果只是想知道这只 ETF 是什么、前几大持仓是什么,优先用免费的 etf_lookup。
这个接口对平台「动作执行完成就扣费」的规则有一个登记在案的例外:把暂不支持的 ticker 当作免费的覆盖检查,而不是一次持仓取数。支持名单里的 ticker 会返回持仓并扣 1 credit;暂不支持的 ticker 会返回 200 OK、coverage_status="unsupported" 和空 holdings,不扣 credit。这是只针对 ETF Holdings 的明确例外,不是平台上「没数据就免费」的通用规则。传 as_of=YYYY-MM-DD 可取 as_of_date <= as_of 的最近申报;比较两只 ETF 的持仓重合仍由 agent 自己计算。
返回值
EtfHoldingsResult
required
number
full / partial / stale 数据返回时为 1;coverage_status="unsupported" 时为 0。number
账户剩余 credit。
200 OK · etf_holdings(supported)
200 OK · etf_holdings(不在覆盖范围)
扣费规则
简单说:查“支不支持”这个动作不扣费,真的返回持仓明细才扣 1 credit。这个「不支持就免费」的行为是只针对 ETF Holdings 的、登记在案的明确例外 —— 其它接口都是动作一执行就扣费,哪怕结果为空。
说明
当前限制
直接调用
HTTP / SDK 示例
HTTP / SDK 示例
完整参数参考
etf_holdings —— 请求参数
etf_holdings —— 请求参数
string
required
美国上市 ETF ticker(如
SPY、QQQ、VTI、SOXX、ARKK)。大小写不敏感;服务端会转成大写并去掉前后空格。暂不支持的 ticker 返回 200 OK、coverage_status="unsupported",且 creditsUsed=0。integer
default:50
返回的持仓行数上限,按
weight 从高到低排列。默认 50,最大 500。宽基 ETF(如 VTI)底层持仓可能超过最大值;分页以后再加。string
可选报告日期,格式
YYYY-MM-DD。返回 as_of_date <= as_of 的最近一份持仓申报;不传则返回最新可用申报。相关接口
ETF 基本信息
基金基本信息、SEC 映射、前几大持仓和分布概览 —— 免费。
美股历史日线
ETF 历史价格用股票日线接口查。
MCP Server 接入
60 秒把 Claude / Cursor 等客户端接上。