Complete US ETF holdings from SEC N-PORT filings + ticker/CUSIP/FIGI crosswalk. Primary source.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β we're steadily working through the catalog.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
SEC-primary-source ETF holdings + identifier crosswalk for agents.
An MCP (Model Context Protocol) server that gives AI agents the complete holdings of any US-registered ETF straight from SEC EDGAR N-PORT filings β not a top-10 scrape β plus a set of identifier-crosswalk tools (ticker, CUSIP/SEDOL, FIGI β resolved symbol) backed by OpenFIGI and SEC reference data. Runs locally over stdio; no vendor market-data subscriptions required.
| Tool | What it does | Sources |
|---|---|---|
lookup_cik | Ticker β SEC CIK + entity metadata (name, SIC, exchanges, fiscal year end) | SEC company_tickers.json + submissions API |
resolve_ticker | Raw ticker + optional exchange code β Yahoo-convention symbol, verified | Exchange-suffix map (pure string mapping) + SEC + OpenFIGI |
resolve_cusip | CUSIP (or SEDOL) β symbol, with cross-source verification | OpenFIGI (one batched request) + SEC name/ticker agreement |
resolve_figi | Bloomberg FIGI β symbol, with cross-source verification | OpenFIGI + SEC name/ticker agreement |
get_etf_holdings | Any US ETF β complete holdings list from its latest monthly N-PORT filing (name, ticker, ISIN, FIGI, LEI, shares, USD value, % of net assets, country, currency) | SEC EDGAR N-PORT XML |
All tools are read-only.
Crosswalk results are verified without any market-data vendor:
company_tickers.json must agree with the OpenFIGI
security name. A gross name mismatch vetoes the mapping
(verification: "name_veto") rather than returning a plausible-looking
wrong symbol.verification: "openfigi" so you
can tell the confidence tiers apart.Yahoo Finance symbology (.SW, .T, .L, β¦ suffixes) is applied as a
pure string convention β the default path makes no network calls to
Yahoo.
Run it directly (stdio):
The server works without a key (OpenFIGI anonymous rate limits apply). For heavier use, get a free key at https://www.openfigi.com/api and set:
An opt-in extra adds a live Yahoo quote block to crosswalk results. It is off by default and never used otherwise; enabling it means you accept the Yahoo Finance terms of use yourself.
Claude Desktop (claude_desktop_config.json) or any MCP client with a
stdio transport:
Claude Code:
1. "What does SCHD actually hold?"
The agent gets every position with weights, plus the EDGAR URL for citation β auditable back to the primary source.
2. "I have a CUSIP from a 13F β what stock is this?"
If OpenFIGI's mapping disagrees with SEC's registry on who the ticker
belongs to, the tool refuses (verification: "name_veto") instead of
handing back a wrong symbol.
3. "Compare two dividend ETFs' overlap."
company_tickers.json). Identifier
crosswalks come from the OpenFIGI API (FIGI is an open OMG standard)..cache/ next to the module, override with PEQUOD_CACHE_DIR) for
company_tickers.json (24 h) and N-PORT documents (30 days β filed
documents are immutable).report_date and source_url fields tell you exactly which
period you are looking at.| Variable | Default | Purpose |
|---|---|---|
API_OpenFIGI | (unset) | OpenFIGI API key (higher rate limits) |
PEQUOD_CACHE_DIR | .cache/ next to the module | On-disk cache location |
PEQUOD_YAHOO_VERIFY | (off) | Opt-in Yahoo enrichment (needs the [yahoo] extra) |
LOG_LEVEL | INFO | Server log verbosity |
Apache-2.0 β see LICENSE. Copyright 2026 AB Evergreen Analytics LLC.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/pequod-mcp)<a href="https://allmcps.com/mcp/pequod-mcp"><img src="https://allmcps.com/api/badge/pequod-mcp?style=directory" alt="Pequod MCP on AllMCPs" /></a>