mcp-etf-holdings
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| etf_infoA | Return metadata for a single ETF: name, category, AUM, expense ratio, NAV, and trailing returns. For two or more ETFs, use compare_etfs instead — it returns one table. |
| compare_etfsA | Compare several ETFs side by side in a single table: name, category, AUM, expense ratio, dividend yield, and YTD / 3-yr / 5-yr returns. Use this whenever the user mentions more than one ETF — it is one call instead of several etf_info calls, and the result is already tabular. |
| etf_holdingsB | Return the top holdings of an ETF with their portfolio weight percentages. |
| find_etfs_holding_stockA | Reverse-lookup: find ETFs (from a ~365-ETF universe or a custom list) that hold a given stock in their disclosed top holdings. Results are sorted by the stock's weight in each ETF, highest first. For a version that also reports each ETF's expense ratio and size, use stock_exposure_summary. |
| stock_exposure_summaryA | Find the ETFs that give exposure to a stock, with each fund's weight in that stock alongside its expense ratio and AUM. Answers "what is the cheapest / largest ETF for exposure to X?" — the weight column shows how much exposure you get, expense ratio what it costs. |
| search_etfsA | Search for ETFs by name, theme, or category using Yahoo Finance search. Returns matching ETF tickers with their full names and exchanges. Useful for discovering ETFs to pass to etf_info, compare_etfs, etf_holdings, or find_etfs_holding_stock. To resolve a stock or company name rather than find ETFs, use lookup_symbol. |
| lookup_symbolA | Resolve a company or fund name to its ticker symbol. Call this first whenever the user names a company instead of giving a ticker — "Which ETFs hold Nvidia?" needs NVDA. Covers stocks and ETFs; use asset_type='stock' to exclude funds from the results. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| etf_deep_dive | Full workup on a single ETF: costs, size, returns, and concentration. |
| compare_funds | Side-by-side comparison of several ETFs on cost, size, and returns. |
| stock_exposure | Find the ETFs that give exposure to a stock, ranked by cost and weight. |
| portfolio_checkup | Check a set of ETFs for overlapping positions and duplicated exposure. |
| theme_explorer | Discover ETFs for a theme or sector and compare the leading options. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Most tools have clearly distinct purposes: etf_info vs compare_etfs is well-differentiated by the single-vs-multiple guidance, and search_etfs vs lookup_symbol target different lookup types. The main overlap is find_etfs_holding_stock and stock_exposure_summary, which both find ETFs holding a stock, but the descriptions explicitly clarify the difference (extra expense ratio/AUM and sorting).
All names use snake_case, but the patterns vary: etf_info (noun_noun), compare_etfs (verb_noun), etf_holdings (noun_noun), find_etfs_holding_stock (verb_noun_noun), stock_exposure_summary (noun_noun_noun), search_etfs (verb_noun), lookup_symbol (verb_noun). The inconsistency in verb-first vs noun-first and use of prefixes/suffixes makes it mixed but still readable.
Seven tools is well-scoped for an ETF holdings and exposure analysis server. Each tool covers a distinct operation (metadata, comparison, holdings, reverse lookup, exposure summary, search, symbol resolution) without obvious redundancy or bloat.
The surface covers the core workflows well: ETF discovery, metadata, comparison, holdings, reverse holdings lookup, and exposure analysis with cost/size. Minor gaps exist (e.g., no full holdings beyond top positions, no historical performance beyond trailing returns), but these are likely outside the server's stated scope and can be worked around.