ETF Research MCP server
ETF quotes, performance and comparisons, plus every holding and fund overlap from SEC N-PORT.
0 stars14 downloads/wk
Reviews
Write oneNobody has reviewed ETF Research yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
ETF Research tools (9)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
compare_etfsCompare 2–5 ETFs side by side: price, expense ratio, AUM, YTD return, category.
get_etf_full_holdingsEvery 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_holdingsGet 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.
get_etf_overlapHow 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.
get_etf_performanceGet historical price performance for an ETF over a given period (1m, 3m, 6m, 1y, 3y, 5y).
get_etf_quoteGet the current price, change, volume, and key stats for any ETF ticker (e.g. QQQM, VOO, VUG).
get_etf_summaryGet detailed fund info for an ETF: expense ratio, category, AUM, NAV, fund family, and inception date.
get_similar_etfsFind ETFs similar to a given ticker based on Yahoo Finance's recommendation engine. Useful for discovering alternatives.
search_etfsSearch for ETFs by keyword or theme (e.g. 'AI', 'clean energy', 'small cap value'). Returns matching tickers and fund names.
Public scan report
scanner v0.1.9 · 2026-09-24 · same rubric, same numbers if you re-run it
- Code scan7 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 0 days ago15/15
- Maintainer identityregistry namespace matches repository owner6/10
What the publisher says
From the ETF Research repository's README, as published. We do not edit it. Read it on GitHub
etf-research-mcp
MCP server for ETF research. Gives Claude tools for quotes, expense ratios, performance and fund comparisons from Yahoo Finance, plus every holding a fund owns straight from its SEC filing. Nothing to sign up for.
Tools
Install
Claude Code
claude mcp add etf-research --scope user -- npx -y etf-research-mcpClaude Desktop
Add to claudedesktopconfig.json (Settings → Developer → Edit Config):
{
"mcpServers": {
"etf-research": {
"command": "npx",
"args": ["-y", "etf-research-mcp"]
}
}
}Any MCP client
The server speaks MCP over stdio, so any client that can launch a command works:
npx -y etf-research-mcpExample prompts
"Find me AI-focused ETFs"
"Compare QQQM, VOO, and VUG expense ratios and YTD returns"
"What are the top 10 holdings of IJR?"
"How has QQQM performed over the last year?"
"What ETFs are similar to QQQM?"
"How much do QQQM and VUG overlap?"
"List every holding in SCHG and tell me how concentrated it is"
Data sources
Quotes, summaries and performance come from Yahoo Finance via yahoo-finance2. No sign-up, no key. Quotes are near-real-time.
Full holdings and overlap come from SEC Form N-PORT, the quarterly report where every US fund lists every position it holds. It's free and official, but public filings are about 60 days behind the quarter they cover, and funds set up as unit investment trusts (SPY, DIA) don't file it.
SEC asks every automated tool to identify itself with a contact, so these two tools need one setting, SECUSERAGENT, with your name and email. It's sent only to sec.gov:
claude mcp add etf-research --scope user -e SEC_USER_AGENT="Jane Doe jane@example.com" -- npx -y etf-research-mcp"etf-research": {
"command": "npx",
"args": ["-y", "etf-research-mcp"],
"env": { "SEC_USER_AGENT": "Jane Doe jane@example.com" }
}Every other tool works without it.
Development
git clone https://github.com/myanptl/etf-research-mcp
cd etf-research-mcp
npm install
npm run build # compile TypeScript to dist/
npm start # run the stdio server
npm run dev # recompile on changeTest against a local build in Claude Code:
claude mcp add etf-research-dev -- node /path/to/etf-research-mcp/dist/index.jsBuilt with
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Install directly
Runs npx -y etf-research-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add etf-research-mcp -- npx -y etf-research-mcp
ETF Research: common questions
- Is ETF Research MCP server safe?
- Yes, by our scan: it is graded A (89/100). Read the ETF Research safety report
- How do I install ETF Research?
- It runs on your machine. Copy the Claude Code, Claude Desktop or Cursor config from the install section.
- Does ETF Research need an API key?
- No secret keys are declared. It reads 1 setting from the environment.
- Is ETF Research maintained?
- The last commit was in the last day (2026-09-24). The latest release is v1.3.1.