Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Added "compare_to_benchmark", "get_benchmark" and "list_benchmarks" (14 tools before, 17 now)
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. Takes a ticker such as AOR. Refuses, and estimates nothing, when ETFIQ has not published a comparison for the fund.
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. ALWAYS read basis: a figure from before the freeze date is hypothetical. Takes an id such as etfiq-strategic-60 or strategic-60. Serves the published benchmark only; it cannot be customised.
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. Filter by family, or by band (a name such as moderate, a stock share such as 60, or "all stocks"). Use when asked which benchmark measures a kind of model portfolio, then get_benchmark for one. A benchmark is identical for everyone and never a recommendation: a request to customise one or to say what to buy is refused, and a request to build a custom portfolio is for build_por…
Changed the definition of "etf_search"
⟨29 unchanged words⟩ it returns. Refuses rather than returning a nearmatch.match: a refusal says why, and for a fund it means ETFIQ does not publish it.
Added "build_portfolio"; changed the definition of "etf_holders" (13 tools before, 14 now)
⟨40 unchanged words⟩ where X is a company rather than afund.fund, and for "which bond ETFs hold X's debt". Takes a company name or its ticker. Returns everyholderfund holding its shares with the weight its issuer published and the date that book wasfiled.filed, and separately every fund holding its bonds or other debt. Covers 31,019 companies.
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. BEFORE CALLING, ask the user in ONE short series for any missing choice…
Certificate recorded, valid to 2026-12-19
Authorization not required
Unknown → Live
First tool surface recorded: 13 tools (server version 0.1.0)
https://mcp.etfiq.com (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 8 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed