Connect TickerInside to your AI assistant

Add one URL, with no key, and your assistant answers from the holdings files, each with its date.

View as Markdown What changed

The remote server

https://tickerinside.com/mcp

Add https://tickerinside.com/mcp, no key, Streamable HTTP. It runs the twelve tools below, every one read-only, with nothing to install. Each client's own steps follow.

US ETFs covered
5,423
622 read from issuer files, 2,010 from SEC filings, and 922 fixed income funds, 237 multi-asset funds, 1,368 derivative-based funds, 130 trusts and pools and 134 funds from their sponsors' files
Securities held
16,729
each with the funds holding it
Tools
12
in the MCP server, version 1.14.0
Pairs
13,705,230
any two funds or stocks with at least 110 weekly returns, computed on demand
Five questions, answered live. 8 Oct 2026 Watch the video, 1.9 MB

Add it to your client

Each client's steps as its maker documented them on 4 October 2026, with a link to that page.

Claude

The Add to Claude link opens TickerInside in Claude's connector directory: click Connect. As a custom connector instead, this link opens Add custom connector with the name and the URL filled in. By hand on an individual plan: Customize, Connectors, + Add, Add custom connector, then paste the URL and choose No sign in. On Team and Enterprise an Owner adds it in Organization settings, Connectors, and members then click Connect. Custom connectors are on every Claude plan, the Free plan allows one, and once added the connector works in Claude Desktop and the mobile apps too. Anthropic's steps

ChatGPT

Developer mode adds it, on the web, with a Pro, Plus, Business, Enterprise or Edu plan. In Settings, Security and login, turn on Developer mode; then on ChatGPT Plugins the + button creates an app from the URL, with No Authentication. In a conversation, pick Developer mode in the + menu and select the app. Every tool carries readOnlyHint, so ChatGPT treats none of them as a write action. OpenAI's steps

Cursor

The Add to Cursor link opens Cursor's install of the server, named tickerinside, at that URL. By hand, add {"tickerinside":{"url":"https://tickerinside.com/mcp"}} under mcpServers in mcp.json. Cursor's install links

VS Code

The Add to VS Code link opens VS Code's install of an http server at that URL. By hand, add {"tickerinside":{"type":"http","url":"https://tickerinside.com/mcp"}} under servers in mcp.json. VS Code's steps

From a terminal

Claude Code:

claude mcp add --transport http tickerinside https://tickerinside.com/mcp

Codex CLI:

codex mcp add tickerinside --url https://tickerinside.com/mcp

Gemini CLI:

gemini mcp add --transport http tickerinside https://tickerinside.com/mcp

Local MCP server, Node 20 or later:

npx -y tickerinside-mcp@latest

Agent skill:

npx skills add https://tickerinside.com

Claude Code plugin, inside a session (Claude Code 2.1.275 or later):

/plugin install tickerinside --marketplace https://tickerinside.com/.claude-plugin/marketplace.json

Claude Code plugin, from a shell:

claude plugin marketplace add https://tickerinside.com/.claude-plugin/marketplace.json
claude plugin install tickerinside@tickerinside

Python client:

pip install tickerinside

OpenAI Responses API

Pass the server as a tool of the request. OpenAI's MCP guide

{"type":"mcp","server_label":"tickerinside","server_url":"https://tickerinside.com/mcp","require_approval":"never"}

Claude Messages API

Add these two fields to the body of a Messages request, the server in mcp_servers and its toolset in tools, and send the header anthropic-beta: mcp-client-2025-11-20. Anthropic's MCP connector

"mcp_servers": [{"type":"url","url":"https://tickerinside.com/mcp","name":"tickerinside"}],
"tools": [{"type":"mcp_toolset","mcp_server_name":"tickerinside"}]

Any other MCP client takes the same URL as a server named tickerinside. It speaks Streamable HTTP and asks for no authorization.

Or paste one line into any assistant

Paste this into Claude, ChatGPT, Cursor or any assistant

Fetch and follow the setup instructions at https://tickerinside.com/agent/prompt.md to answer questions about US ETFs, then tell me what you can now do.

It fetches prompt.md, which carries the steps above, the endpoints and the rules for quoting a figure. Keeping the instructions at a URL means they can be corrected without anyone pasting anything again.

Without MCP, or with a local server

The JSON API
Nothing to install

Static JSON files with no key or sign-up, CORS open: /api/v1/fund/{ticker}.json for any ETF's holdings, with holdings_kind for a bond, multi-asset or derivative-based ETF, a trust or pool, or a fund read from its sponsor's file or its prospectus, /api/v1/etf/{ticker}.json for the full file of those funds, and /api/v1/sec/{ticker}.json for the funds that hold a stock. Between them they carry the holdings of each fund that has them, with their weights and the date of their source, 156 weekly returns for each fund and stock with the price history for them, and a reverse index from every security to the funds holding it.

Ticker paths are lower case; anything else answers a 301, so follow redirects. Full reference

The local server
Needs Node 20 or later

For a client that runs only local servers: the same twelve tools, version 1.14.0 today, run on your machine through npx, with no key.

claude mcp add tickerinside -- npx -y tickerinside-mcp@latest

Check node -v first. Without Node, the remote server above and the API answer the same questions, with nothing to install.

What the tools answer

TickerInside is an open, machine-readable database of US ETF holdings, with the source and date of each holding. The holdings are read from the issuers' own files and from SEC filings, linked to the stocks inside each fund, and served with no key. With it, an assistant can answer whether two funds duplicate each other, how much of a company you own once the funds are looked through, and which position in a basket produces its risk.

ToolThe question it answers
list_etfsWhat is covered, and how fresh is each fund's holdings file.
get_etf_holdingsWhat does this one fund hold, cost, and how has it behaved.
compare_etfsDo these two hold the same companies, and how differently have they moved.
compare_stocksHow do these two stocks compare, how closely do they move, and which funds hold both.
get_etf_overlap_matrixWhich lines in this basket duplicate each other, ranked.
get_etf_portfolio_lookthroughHow much money do I carry on each company, once the funds are seen through.
get_etf_portfolio_riskWhich position makes my risk rather than my capital, and how many independent bets do I really hold.
find_etfs_holding_stockWhich funds hold this company, and at what weight.
get_etf_ownershipHow much of this company the covered ETFs own between them, at least, with the SEC's count of its shares and both dates.
get_etf_holdings_historyHow this fund's holdings changed from one issuer file to the next, and how its overlap with its closest funds moved.
get_etf_holdings_changesWhat this fund added and dropped since a date, and whose weights moved, with the file each step is compared with. Weights move with prices, so a moved weight is not a trade.
get_etf_flowsWhether the ETFs read daily bought or sold this stock, by market close, and the day's largest net additions and reductions, with index entries and exits and the corporate actions left out.
find_diversifying_etfsWhich ETFs of a fixed, published list of 30 moved least with this portfolio's weekly returns, one per group, with the volatility with 10% in each. A measurement of past co-movement, not investment advice.

Older tool names (list_funds, fund_profile, compare_funds, overlap_matrix, look_through, risk_decomposition, stock_exposure, etf_ownership, fund_history, fund_changes) still work.

A tool call is recorded with the tool's name and up to eight of the tickers it asks about, never an amount or any other argument, as the privacy policy sets out. The terms of service cover the server as they cover the site and the API.

Its prompts

The server also offers six prompts, ready questions a client can show its user. Each returns one message that asks the question in plain words and names the tool that answers it. In Claude Code each is a command named after the server: for a server added as tickerinside, for example /mcp__tickerinside__what_does_this_etf_hold VOO. Type a list without spaces, as VOO,QQQ,SCHD or VOO:60,QQQ:40, since Claude Code passes a prompt's argument up to its first space.

PromptWhat it asks, and the tool that answers
what_does_this_etf_holdAsks what one US ETF holds, with the weight of each holding, its cost and size, and the date of its holdings file. It takes ticker and names get_etf_holdings.
which_etfs_hold_this_stockAsks which US ETFs hold one stock and at what weight, heaviest first, each with the date of its holdings file. It takes ticker and names find_etfs_holding_stock.
do_my_etfs_overlapAsks how much two to thirty US ETFs hold in common, by weight, and which of them duplicate each other. It takes tickers and names compare_etfs or get_etf_overlap_matrix.
what_is_inside_my_etf_portfolioAsks which companies a portfolio of US ETFs holds underneath, how much of each, and which ETFs each one comes through. It takes holdings and names get_etf_portfolio_lookthrough.
are_etfs_buying_this_stockAsks whether the US ETFs read daily from their issuers' files bought or sold one stock on the latest market close, and the value of that change. It takes ticker and names get_etf_flows.
does_this_etf_diversify_my_portfolioAsks whether one or more US ETFs would diversify a portfolio of US ETFs: how much of each the portfolio already holds by weight, how their weekly returns moved together on all weeks and on the weeks the portfolio fell, and the share in mega-cap tech. It takes have, try and names compare_etfs or get_etf_portfolio_risk or get_etf_holdings.

Questions worth asking it

Do VOO and QQQ duplicate each other, and in which direction?

I hold VOO, QQQ, SCHD and VGT. How much Nvidia is that, in dollars?

Of those four, which one is producing my risk rather than my capital?

How many independent bets do I actually have?

Which funds hold Costco, and which one holds the most of it?

How closely do NVDA and AMD move, and which fund carries the pair heaviest?

What else looks like SCHD, and what would each of them add?

Each link opens the assistant with the setup line and the question already typed, so the first answer comes from the data rather than from memory.

For crawlers and retrieval

Every fund, hub, comparison, tool and reference page is also served as Markdown at the same address with index.md appended, with a canonical header pointing back at the HTML. A plain text map is at /llms.txt, and every page carries structured data with its licence and its update date. Nothing here is behind a robots rule.

An answer that quotes a figure can end on the line the file's cite_as gives. The attribution kit has that line as one sentence for an AI answer, and as Markdown, HTML and BibTeX.

If you build on this and a field is missing, write to contact@tickerinside.com, or read the support page first for what to include. Endpoints are added as people ask for them.

Licences, and what is not served

What TickerInside does not serve