Connect TickerInside to your AI assistant
Add one URL, with no key, and your assistant answers from the holdings files, each with its date.
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.
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:/ 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", 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
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
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.
| Tool | The question it answers |
|---|---|
list_etfs | What is covered, and how fresh is each fund's holdings file. |
get_etf_holdings | What does this one fund hold, cost, and how has it behaved. |
compare_etfs | Do these two hold the same companies, and how differently have they moved. |
compare_stocks | How do these two stocks compare, how closely do they move, and which funds hold both. |
get_etf_overlap_matrix | Which lines in this basket duplicate each other, ranked. |
get_etf_portfolio_lookthrough | How much money do I carry on each company, once the funds are seen through. |
get_etf_portfolio_risk | Which position makes my risk rather than my capital, and how many independent bets do I really hold. |
find_etfs_holding_stock | Which funds hold this company, and at what weight. |
get_etf_ownership | How 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_history | How this fund's holdings changed from one issuer file to the next, and how its overlap with its closest funds moved. |
get_etf_holdings_changes | What 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_flows | Whether 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_etfs | Which 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_. 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.
| Prompt | What it asks, and the tool that answers |
|---|---|
what_does_this_etf_hold | Asks 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_stock | Asks 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_overlap | Asks 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_portfolio | Asks 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_stock | Asks 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_portfolio | Asks 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
- Current snapshots and computed figures: CC BY 4.0, permanently for everything already published. It covers TickerInside's contribution to the holdings served today, the reverse index and every figure computed from them; credit TickerInside with a link to the page the figure comes from wherever the medium allows a link, and by name where it does not; how you mark the link is up to you. The positions are facts as each issuer publishes them, so check the issuer's terms before bulk commercial reuse.
- SEC filings: The SEC's Form N-PORT data sets are US government works in the public domain. The fund files TickerInside derives from them are served under CC BY 4.0 like everything else, and each cites its filing. The counts of shares outstanding in the ownership ledger are facts the companies state on the covers of their SEC filings, read from the SEC's XBRL data, and each figure links its filing.
- Holdings history: Built from the issuer files kept since 2026-09-03 and served one fund per request, weights only, under the history terms of the legal notice (/legal/#history), not under CC BY 4.0: free per request, commercial use included, credited to TickerInside with a link to the file wherever the medium allows one, and by name where it does not, the link marked as you choose; republishing the archive as a whole and extracting it systematically are not allowed.
- ETF flows: Computed from the same archive, as sums over funds and never one fund's share counts: the summary (/api/v1/flows.json), its CSV twin (/api/v1/flows.csv), each security's answer (/api/v1/flows/) and the feeds (/feeds/flows.xml, and one per fund and per stock under /feeds/), under the history terms of the legal notice (/legal/#history), not under CC BY 4.0: free per request, commercial use included, credited to TickerInside with a link to the file wherever the medium allows one, and by name where it does not, the link marked as you choose; a feed reader may poll the feeds, while fetching the answers of many securities on a schedule to keep them is not allowed.
What TickerInside does not serve
- Price history and quotes: a file gives its last close and weekly returns, not a price series, and no bid, ask or volume; TickerInside is not licensed to redistribute a price feed.
- Intraday data: everything is built once a night, after the US close.
- Options: no source that allows republishing them.
- Analyst estimates: no source that allows republishing them.
- ISIN, CUSIP and SEDOL: licensed codes, not served. Funds and stocks are keyed by ticker; a key of digits and a letter is an issuer file's code in place of a ticker.