Rebuilt every trading night from the server's own answers. Data as of Oct 9, 2026.

ETFIQ MCP server

As of Oct 9, 2026, ETFIQ's MCP server at https://mcp.etfiq.com offers 17 read-only tools covering 4,324 US-listed ETFs. Every answer carries its own citation, and no key is needed.

17
read-only tools
4,324
US-listed ETFs covered
60
calls a minute per caller

Connect

The server is at https://mcp.etfiq.com. It speaks the Model Context Protocol over streamable HTTP, which is JSON-RPC 2.0 sent by POST, and it needs no key or sign-in. Each client below adds it the way that client's own documentation described on Oct 6, 2026. A machine-readable description is at /.well-known/mcp.json.

Claude Code: run claude mcp add --transport http etfiq https://mcp.etfiq.com

Claude, on claude.ai, Claude Desktop and Cowork: open Customize, then Connectors, then Add and Add custom connector. Name it ETFIQ, enter https://mcp.etfiq.com, choose No sign in, and Add. A Free plan can add one custom connector; on Team and Enterprise plans an owner adds it under Organization settings, then Connectors, and each member connects it.

Cursor: add {"mcpServers": {"etfiq": {"url": "https://mcp.etfiq.com"}}} to ~/.cursor/mcp.json, or to .cursor/mcp.json in one project.

VS Code: add {"mcpServers": {"etfiq": {"type": "http", "url": "https://mcp.etfiq.com"}}} to .mcp.json at the root of a project, or run MCP: Add Server from the Command Palette.

ChatGPT, on the web: turn on developer mode under Settings, Apps, Advanced settings, then create an app under Settings, Apps, Create, with https://mcp.etfiq.com as its server and no authentication; click Scan Tools, then Create. OpenAI offers developer mode on Business, Enterprise and Edu plans, where an admin enables it, and on Pro for tools that only read, as all of these do.

Any other client: send JSON-RPC 2.0 by POST to https://mcp.etfiq.com: initialize, then tools/list and tools/call. From a terminal: curl -X POST https://mcp.etfiq.com -H 'content-type: application/json' -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list"}'

Tools

The server lists 17 tools, and all 17 only read: none can change anything. Each is below with the title it shows a person and the first sentence of the description it gives an assistant; tools/list returns every description whole.

The tools https://mcp.etfiq.com lists, in its own order and words, as its code answered when this page was built.

etf_search: Find an ETF. Find US listed ETFs by ticker, fund name, or a word from the name.

etf_profile: Everything about one ETF. Everything ETFIQ publishes about one fund: issuer, desk, and each figure with its source and as-of date, plus a one sentence verdict on how it did against what its own label promises.

etf_holdings: Holdings of one ETF. What a fund holds, by weight, and how old that is.

etf_theme: Every fund in a theme. Every US listed fund in a theme, largest first, with what each charges and how much of it is already in the S&P 500.

etf_themes: All themes. Every theme ETFIQ publishes and how many funds each holds.

etfiq_page: Read any ETFIQ page. Read ANY published ETFIQ page as text: a theme hub, a ranking, a comparison of two funds, an issuer, a methodology note, a dated study.

etfiq_sections: What ETFIQ publishes. What ETFIQ publishes, section by section, with a page count for each.

etfiq_list: Pages in one section. The pages inside one section, optionally filtered to those whose address contains a word.

etf_screen: Screen ETFs by filters. Every fund matching some filters, largest first, each with its net assets and the source and date that figure came from.

etf_overlap: Holdings overlap of two ETFs. How much of their weight two funds hold in common, as ETFIQ published it on the comparison page for that pair.

etfiq_as_of: What ETFIQ published on a date. What ETFIQ published on a given date, from its frozen dated archive.

etf_holders: Which ETFs hold a company. Which US listed ETFs hold a given company, ranked by how much of each fund it is.

etf_rankings: Published rankings. The ranked lists ETFIQ publishes, or one of them.

list_benchmarks: ETFIQ benchmarks for model portfolios. The ETFIQ benchmarks: published, rules-based yardsticks for model portfolios, each a written rule over broad, low-cost ETFs, grouped in families (strategic, tax-aware, factor, income, tactical, thematic) by stock share.

get_benchmark: One ETFIQ benchmark. One ETFIQ benchmark in full: its rule as the methodology states it, the funds and weights in force (with SEC series ids and each fund's expense ratio and its date), and every statistic ETFIQ computes for it by window (total return, return a year, volatility, maximum drawdown, Sharpe ratio, turnover, factor loadings, weighted expense ratio), each with its dates and its basis.

compare_to_benchmark: An allocation ETF against its benchmark. How an allocation ETF did against the ETFIQ benchmark for its band (set by the fund's look-through stock share), over the same dates: total returns by window and the difference, risk and cost, as ETFIQ published them for that fund.

build_portfolio: Build a portfolio from construction rules. Builds a custom portfolio of US listed ETFs from construction choices about the PORTFOLIO and shows the rule it applied (ETFIQ custom construction rule, version 1): stocks at the chosen band's point, international stocks 40% of the stocks outside themes, themes 10% of stocks in equal parts, commodities and alternatives 5% each taken from bonds, US bonds the rest; in each sleeve the cheapest (or largest) funds that file N-PORT, hold at least $100 million and have three years of prices, each fund's fee with its filing date.

Citations

Every answer carries a citation string to quote with it: ETFIQ, the page the answer comes from and, where the answer is dated, its as-of date. A refusal carries none and says why instead, so a fund ETFIQ does not publish is refused rather than answered with a near match.

Asked for SPY with etf_profile when this page was built, the server answered with the citation ETFIQ, as of 2026-10-09. https://etfiq.com/funds/spy

Data and freshness

The server answers only from what etfiq.com publishes, the same pages and data files, so a figure it returns is the figure on the page, with the date the page gives it. Both are rebuilt every trading night from issuer pages, SEC filings and exchange prices. How each figure is computed is in the methodology, and every file is listed under Open data.

Limits

Calls need no key, up to 60 a minute from one caller, counted call by call, so a batch counts once for each call in it. Past that a call is refused with HTTP 429 and told how many seconds to wait.

A batch holds at most 4 calls. A longer one is refused whole with HTTP 400, and nothing in it is answered.

Each Cloudflare isolate keeps its own count, so these guard against a runaway loop rather than meter use.

Listed in

The official MCP Registry, as com.etfiq/etfiq

Glama

Smithery

mcp.so

Open data: every figure as JSON at a stable address

llms.txt: the map of this site for language models

ETF Models: the ETF Model Portfolios section

ETFIQ assistant: the same figures, asked in a chat on etfiq.com

Methodology: how each figure is computed

Cite this page

ETFIQ, MCP server, data as of Oct 9, 2026. https://etfiq.com/mcp/

Free to use with attribution for figures ETFIQ computes; issuer data stays under its owner's terms. The underlying files are at Open data.