etf-research-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SEC_USER_AGENT | No | Your name and email for identifying automated requests to SEC.gov. Required for the full holdings and overlap tools, but other tools work without it. |
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 | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_etf_quoteB | Get the current price, change, volume, and key stats for any ETF ticker (e.g. QQQM, VOO, VUG). |
| get_etf_summaryB | Get detailed fund info for an ETF: expense ratio, category, AUM, NAV, fund family, and inception date. |
| get_etf_holdingsA | Get the top 10 holdings of an ETF with their portfolio weights, from Yahoo Finance. For every holding, straight from the fund's SEC filing, use get_etf_full_holdings. |
| compare_etfsA | Compare 2–5 ETFs side by side: price, expense ratio, AUM, YTD return, category. |
| get_etf_performanceB | Get historical price performance for an ETF over a given period (1m, 3m, 6m, 1y, 3y, 5y). |
| search_etfsA | Search for ETFs by keyword or theme (e.g. 'AI', 'clean energy', 'small cap value'). Returns matching tickers and fund names. |
| get_similar_etfsA | Find ETFs similar to a given ticker based on Yahoo Finance's recommendation engine. Useful for discovering alternatives. |
| get_etf_full_holdingsA | Every position an ETF holds, from its latest SEC Form N-PORT filing (not Yahoo). Returns the top positions by weight plus concentration: how many holdings make up half the fund, top-10 and top-25 weight, effective number of holdings, and breakdowns by asset type and country. Data is quarterly and about 60 days behind. Needs SEC_USER_AGENT set to a name and email. |
| get_etf_overlapA | How much two ETFs hold the same things, from their full SEC N-PORT holdings. Returns weighted overlap (the share of each fund that is identical positions), how many holdings they share, and the biggest shared positions with each fund's weight. Use it to check whether owning both actually diversifies. Needs SEC_USER_AGENT set to a name and email. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 9 tools
Most tools are clearly distinct: quote, summary, holdings, performance, search, similar, overlap, compare. The only potential confusion is get_etf_holdings vs get_etf_full_holdings, but the descriptions explicitly differentiate Yahoo top-10 vs SEC full holdings.
All tools follow a consistent get_/compare_/search_ verb + etf(s) noun pattern. The pattern is predictable: get_etf_quote, get_etf_summary, get_etf_holdings, get_etf_performance, get_etf_full_holdings, get_etf_overlap, get_similar_etfs, compare_etfs, search_etfs.
9 tools is well within the ideal 3-15 range and each tool covers a distinct research need: quotes, summary, holdings, performance, search, comparison, similarity, overlap, and full SEC data.
The surface covers the core ETF research workflow well: search, quote, summary, performance, holdings, comparison, overlap, and similar funds. Minor gaps: no historical dividend data, no expense-ratio-specific comparison beyond compare_etfs, and no tool for ETF news or analyst ratings, but these are not essential.