_ registry / mcp + a2a streamable-http · checked 36m ago

tickerinside

https://tickerinside.com

Registry code: 9fae4adf5037b4d6

api record

TickerInside is an open, machine-readable database of US ETF holdings, with the source and date of each holding. It covers 5,388 US ETFs, 470 of them read daily from their issuers' own files and the others from their latest SEC filings or their sponsors' files, and 5,038 US stocks with a file. Its tools answer questions about an ETF's holdings, the overlap between ETFs, which ETFs hold a stock, what a portfolio of ETFs holds underneath, where its risk comes from, how an ETF's holdings changed from one file to the next, and which stocks the ETFs read daily bought or sold. Every answer includes…

endpoint
https://tickerinside.com/mcp
door code
b7ec71d174700c36
protocol
streamable-http ·2025-06-18
authentication
none observed
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is tickerinside live?
Yes — it answered the hub's last check (checked 36m ago). It answered 100% of checks over the last 30 days.
Is tickerinside free to use?
Yes — the hub reached it with no key and no payment.
What tools does tickerinside have?
13 tools: find_diversifying_etfs, find_etfs_holding_stock, get_etf_portfolio_risk, get_etf_overlap_matrix, compare_stocks, get_etf_portfolio_lookthrough, get_etf_ownership, get_etf_holdings_history, ….
Is tickerinside safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
99.8%

90 days 99.7%· all time 99.5%

latency
129ms

last good check

priced tools
0

of 13 tools

_ answered our checks, 90 days 582 checks · signed record
  • degraded → live
  • live → degraded· timeout after 20000ms
  • unknown → live
  • degraded → live
  • degraded → live
_ what it is for
used for
  • see what a us etf holds
  • compare overlap of etfs
  • find etfs holding a stock
  • see etf holding changes
  • decompose etf portfolio risk
takes → gives
text → data
tools
1 reads
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
1

through this hub

calls served
1

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 13 tools
2 open 11 never probed 2 of 13 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • list_etfs open 7h ago

    Use this when the user asks whether a US ETF is covered, wants to find an ETF by name or ticker, or asks how many ETFs the data covers and how recent it is. Returns the date of the data and the count of covered ETFs by source: the issuers' own holdings files, SEC Form N-PORT filings, trusts' filings, sponsors' files and prospectuses, and how many of the US-listed ETFs that is. With query, it returns up to 50 matching ETFs with their names, sources and categories; without query, it also lists every covered ticker by source unless include_tickers is false, a long answer. Mutual funds, closed-end funds and funds listed outside the US are not covered. Not for an ETF's holdings or figures (get_etf_holdings).

    mcp-tool

    {
      "type": "object",
      "properties": {
        "query": {
          "type": "string",
          "maxLength": 60,
          "minLength": 1,
          "description": "A ticker or words from an ETF's name, for example VOO or semiconductor. Case does not matter."
        },
        "source": {
          "enum": [
            "issuer_files",
            "sec_nport",
            "sec_nport_bonds",
            "sec_nport_multi_asset",
            "sec_nport_derivatives",
            "trust_filings",
            "sponsor_files",
            "prospectus"
          ],
          "type": "string",
          "description": "Only the ETFs read from the issuers' own files, only the stock ETFs from SEC filings, only the fixed income ETFs, only the multi-asset ETFs, only the derivative-based ETFs, only the trusts and pools, only the ETFs from their sponsors' files, or only the ETFs with only a prospectus file."
        },
        "include_tickers": {
          "type": "boolean",
          "default": true,
          "description": "Whether an answer without query lists every covered ticker, by source, and only those of source when it is given. true or left out adds the lists, a long answer; false returns the counts and dates alone."
        }
      },
      "additionalProperties": false
    }
    arguments 31 lines
  • get_etf_flows open 7h ago

    Use this when the user asks how much money went into or out of US ETFs or one ETF, whether ETFs are buying or selling a stock, or which stocks entered or left an index fund. Without a ticker, returns the day's ETF inflows and outflows and the largest net additions and reductions of stocks. With an ETF's ticker (QQQ), its net creations and redemptions in dollars on each of the last 20 closes. With a stock's ticker, the net change in shares held by the US ETFs read daily from their issuers' files on the latest market close, its value at the files' own prices, the ETFs that added and trimmed, a 20-close series, index entries and exits and corporate actions. A change mixes creations of the ETFs' own shares with rebalancing; beyond_growth leaves out the first. Mergers, spin-offs and splits are no trades: left out of the sums. Not for which ETFs hold a stock (find_etfs_holding_stock) or one ETF's holdings changes (get_etf_holdings_changes).

    mcp-tool

    {
      "type": "object",
      "properties": {
        "ticker": {
          "type": "string",
          "description": "An ETF ticker for its own money flows, for example QQQ, or a stock ticker, for example NVDA, or a line listed abroad such as 7203.JP. Leave it out for the day's flows."
        }
      },
      "additionalProperties": false
    }
    arguments 10 lines
  • find_diversifying_etfs unknown 14h ago

    Use this when the user asks which ETFs would diversify an ETF or a portfolio of ETFs, what could be added to diversify it, or which ETFs moved least with what they hold. Ranks a fixed, published list of 30 large US ETFs across six kinds of exposure (US, sector, international and emerging market stocks, bonds and commodities) by the correlation of their weekly returns with the portfolio's over up to three years, and returns the ETF of lowest correlation in each of the three groups whose lowest is lowest, with its correlation on the weeks the portfolio fell, the portfolio's volatility with 10% in it and its overlap by weight, then the next ETFs of the list. Takes 1 to 6 ETFs held. A measurement of past co-movement, not investment advice; every answer carries that note. Not for the overlap of ETFs the user names (compare_etfs, get_etf_overlap_matrix) or the risk of the portfolio itself (get_etf_portfolio_risk).

    mcp-tool

    {
      "type": "object",
      "required": [
        "positions"
      ],
      "properties": {
        "positions": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "ticker"
            ],
            "properties": {
              "amount": {
                "type": "number",
                "description": "What this position is worth, in the same unit on every line.",
                "exclusiveMinimum": 0
              },
              "ticker": {
                "type": "string",
                "description": "A US ETF ticker, for example VOO or SCHD. Case does not matter."
              }
            },
            "additionalProperties": false
          },
          "maxItems": 6,
          "minItems": 1,
          "description": "The ETFs held, 1 to 6, for example [{\"ticker\": \"VOO\", \"amount\": 60000}, {\"ticker\": \"QQQ\", \"amount\": 20000}]. Give an amount for every position or for none; with none, every ETF counts equally."
        }
      },
      "additionalProperties": false
    }
    arguments 33 lines
  • find_etfs_holding_stock unknown 14h ago

    Use this when the user asks which ETFs hold a stock, which ETF holds the most of it, how many ETFs hold it, or whether it is in VOO, SPY, IVV, QQQ, VTI or SCHD. Returns the covered US ETFs that hold it, largest weight first, each with its weight, rank, dollars, holdings date and source, plus the count, how many hold it as their largest position, the ETFs and issuers with the most dollars in it, and one sentence to quote. The list keeps the heaviest holders; whether the six ETFs above hold it is in every answer for a stock with its own file, unless compact is true. ETFs holding it through swaps, futures or options are listed apart, as notional exposure. A private company's name in place of a ticker (ANTHROPIC, OPENAI) gives the US funds holding it, each stake and value per share from its SEC filing. Not for one stock's weight in another ETF (compare_stocks) or the share ETFs own (get_etf_ownership).

    mcp-tool

    {
      "type": "object",
      "required": [
        "ticker"
      ],
      "properties": {
        "top": {
          "type": "integer",
          "default": 50,
          "maximum": 200,
          "minimum": 1,
          "description": "How many ETFs to return, sorted by the stock's weight in each ETF, largest first, from 1 to 200; 50 when left out."
        },
        "ticker": {
          "type": "string",
          "description": "The stock's ticker, not the company name, for example NVDA for Nvidia. A line listed outside the US carries its market after a dot, for example 7203.JP (Toyota in Tokyo), SAN.FR (Sanofi in Paris) or 005930.KR (Samsung Electronics); an earlier key without the market, such as 7203, is read as the key it became. A key ending in .PFD is not a market: it is the issuer's preferred shares, a US line apart from the common stock (JPM.PFD, held by preferred stock ETFs)."
        },
        "compact": {
          "type": "boolean",
          "default": false,
          "description": "true for an answer about half the length. It keeps the counts, rank_summary (how many ETFs hold the stock as their largest or a top 10 position), name_collision (ETFs whose name contains the company's name) and the sentence to quote. It leaves out top_by_value (the ETFs holding the most dollars of it), membership (whether VOO, SPY, IVV, QQQ, VTI and SCHD hold it, and its weight in the three largest sector or industry ETFs that hold it), by_issuer (the issuers holding the most dollars), fee_per_1000 (the yearly cost, in the cheapest ETFs, of each $1,000 of the stock held through them) and each ETF's rank, positions and value."
        }
      },
      "additionalProperties": false
    }
    arguments 25 lines
  • get_etf_portfolio_risk unknown 14h ago

    Use this when the user gives a portfolio of US ETFs and asks where its risk comes from or how its ETFs move together. Returns the portfolio's volatility, each position's share of the risk and of the capital, the diversification ratio, independent bets, the beta to the S&P 500, and the correlation and covariance of weekly returns over up to three years. It measures diversification by how the ETFs move together, not by companies held. Every ETF needs a year of weekly prices, which most ETFs read from SEC filings do not have here. Uncovered tickers are named and skipped. A trust or pool (bitcoin, gold), a bond, multi-asset or leveraged, inverse or other derivative-based ETF counts from its own weekly prices when it has them, named in read_from_prices. Past, not a forecast. Not for the companies held (get_etf_portfolio_lookthrough).

    mcp-tool

    {
      "type": "object",
      "required": [
        "positions"
      ],
      "properties": {
        "currency": {
          "type": "string",
          "description": "The currency of the amounts, for example USD or EUR. Echoed back with the values; nothing is converted. Left out, the amounts still weigh the ETFs and the currency reads unstated."
        },
        "positions": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "ticker"
            ],
            "properties": {
              "amount": {
                "type": "number",
                "description": "What this line is worth, in the same unit on every line, for example 40000. Only the proportions between lines count for the percentages.",
                "exclusiveMinimum": 0
              },
              "ticker": {
                "type": "string",
                "description": "A US ETF ticker, for example VOO or SCHD. Case does not matter."
              }
            },
            "additionalProperties": false
          },
          "maxItems": 60,
          "minItems": 1,
          "description": "The ETFs of the portfolio, 1 to 60, for example [{\"ticker\": \"VOO\", \"amount\": 40000}, {\"ticker\": \"QQQ\", \"amount\": 25000}] with \"currency\": \"USD\" beside it. Give an amount for every position or for none; with none, every ETF counts equally."
        }
      },
      "additionalProperties": false
    }
    arguments 37 lines
  • get_etf_overlap_matrix unknown 7h ago

    Use this when the user lists three to thirty US ETFs, often a portfolio, and asks which of them duplicate each other or whether the list is diversified across companies; two give one pair. Returns every pair ranked by overlap by weight, with the share of each ETF held in common and the count of companies in both, and the holdings date and source of each ETF in those pairs. It measures diversification by the holdings the ETFs share, not by how their returns move together. Bond ETFs are paired by issuer overlap and listed apart. Uncovered tickers are named and skipped; commodity, multi-asset, sponsor-file and prospectus-only ETFs and ETFs read from SEC filings that are leveraged, inverse, under half in stock or half in swaps and futures are listed as not comparable, each with its reason. Not for the companies underneath (get_etf_portfolio_lookthrough) or how ETFs move together (get_etf_portfolio_risk).

    mcp-tool

    {
      "type": "object",
      "required": [
        "tickers"
      ],
      "properties": {
        "tickers": {
          "type": "array",
          "items": {
            "type": "string",
            "description": "A US ETF ticker, for example VOO or SCHD. Case does not matter."
          },
          "maxItems": 30,
          "minItems": 2,
          "description": "2 to 30 US ETF tickers, for example [\"VOO\", \"QQQ\", \"SCHD\"]: three or more give the matrix, two give one pair."
        }
      },
      "additionalProperties": false
    }
    arguments 19 lines
  • compare_stocks reads unknown 3h ago

    Use this when the user asks how two US stocks compare on size, valuation, returns, risk or correlation, or what weight and rank one stock has inside one named ETF, for example META in QQQ. For two stocks it returns market cap, P/E and dividend yield from market data, returns, volatility, worst fall, beta, the correlation of weekly returns over up to three years and the covered ETFs holding both. For a stock and an ETF it returns whether the ETF holds the stock, at what weight and rank among the shares it holds outright, with the date of the ETF's holdings; a derivative-based ETF's swaps, futures and options are in its profile (get_etf_holdings), not here. A stock is in the data with about two years of US prices, and sooner for a recent listing a covered ETF holds. Returns are past, not a forecast. Not for comparing two ETFs (compare_etfs), or a company's business or products.

    mcp-tool

    {
      "type": "object",
      "required": [
        "a",
        "b"
      ],
      "properties": {
        "a": {
          "type": "string",
          "description": "A US stock ticker, for example NVDA. An ETF ticker also works on one side, for example QQQ."
        },
        "b": {
          "type": "string",
          "description": "The other ticker, for example AMD."
        }
      },
      "additionalProperties": false
    }
    arguments 18 lines
  • get_etf_portfolio_lookthrough unknown 36m ago

    Use this when the user gives a portfolio of US ETFs and asks which companies they own, how much of one company they hold, or how concentrated it is. Returns the companies underneath, each with its percent of what is looked through, its value when amounts are given and the ETFs it comes through, plus the count of holdings, by ticker, and the top 10 weight; for one company, raise top until it shows, up to 200. It measures diversification by single companies, not by how ETFs move together. Without amounts, every ETF counts equally. Uncovered tickers (US stocks among them), bond, commodity, multi-asset, sponsor-file and prospectus-only ETFs, and ETFs read from SEC filings that are leveraged, inverse, under half in stock or half in swaps and futures are named and left out of the percentages and the value. Amounts are not stored. Not for duplicate ETFs (get_etf_overlap_matrix) or risk (get_etf_portfolio_risk).

    mcp-tool

    {
      "type": "object",
      "required": [
        "positions"
      ],
      "properties": {
        "top": {
          "type": "integer",
          "default": 25,
          "maximum": 200,
          "minimum": 1,
          "description": "How many companies to return, largest first, from 1 to 200; 25 when left out."
        },
        "currency": {
          "type": "string",
          "description": "The currency of the amounts, for example USD or EUR. Echoed back with the values; nothing is converted. Left out, the amounts still weigh the ETFs and the currency reads unstated."
        },
        "positions": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "ticker"
            ],
            "properties": {
              "amount": {
                "type": "number",
                "description": "What this line is worth, in the same unit on every line, for example 40000. Only the proportions between lines count for the percentages.",
                "exclusiveMinimum": 0
              },
              "ticker": {
                "type": "string",
                "description": "A US ETF ticker, for example VOO or SCHD. Case does not matter."
              }
            },
            "additionalProperties": false
          },
          "maxItems": 60,
          "minItems": 1,
          "description": "The ETFs of the portfolio, 1 to 60, for example [{\"ticker\": \"VOO\", \"amount\": 40000}, {\"ticker\": \"QQQ\", \"amount\": 25000}] with \"currency\": \"USD\" beside it. Give an amount for every position or for none; with none, every ETF counts equally."
        }
      },
      "additionalProperties": false
    }
    arguments 44 lines
  • get_etf_ownership unknown 3h ago

    Use this when the user asks how much of a US company ETFs own, or what share of its stock sits in ETFs. Returns a lower bound: at least this percent of the shares outstanding is held by the covered US ETFs, from this many ETFs, with the shares held, the SEC's count of shares outstanding and its date, the holdings dates, the method, whether the percent is of the whole company or of the ticker's class, and where the figure ranks among the stocks measured. It is a lower bound because ETFs outside the coverage are not counted. A stock without a figure comes back with the reason. Not for the list of ETFs that hold the stock (find_etfs_holding_stock).

    mcp-tool

    {
      "type": "object",
      "required": [
        "ticker"
      ],
      "properties": {
        "ticker": {
          "type": "string",
          "description": "A US stock ticker, for example NVDA or BRK.B. BRK-B and BRK/B are read as BRK.B."
        }
      },
      "additionalProperties": false
    }
    arguments 13 lines
  • get_etf_holdings_history unknown 10h ago

    Use this when the user asks how a US ETF's holdings evolved over time, what it held in a past year or quarter, how often its holdings file changes, or how its overlap with its closest ETFs moved. For the US ETFs that report their stock holdings to the SEC, returns each quarterly Form N-PORT report since 2019 with its date, filing, position count, top 10 weight and five largest positions, and the address of every position at a date. For the stock ETFs read from their issuers' own files, also returns each archived file date (from 1 September 2026) with its position count and top 10 weight, each step's entered, exited and moved counts and turnover, and the overlap by weight with its ten closest ETFs; a step across a change in how the files are read is marked restated. Not for the lines one step added or dropped (get_etf_holdings_changes).

    mcp-tool

    {
      "type": "object",
      "required": [
        "ticker"
      ],
      "properties": {
        "since": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Only the steps to a file dated on or after this date, written YYYY-MM-DD, for example 2026-09-15."
        },
        "ticker": {
          "type": "string",
          "description": "A US ETF ticker, for example VOO or SCHD. Case does not matter."
        }
      },
      "additionalProperties": false
    }
    arguments 18 lines
  • get_etf_holdings unknown 10h ago

    Use this when the user asks what a US ETF or mutual fund holds or its sectors, cost, size, returns and risk. Returns the holdings largest first with their weights, category, sector, mega-cap tech and country weights, expense ratio, assets, top 10 weight, 1, 3 and 5-year returns, volatility, beta and worst fall, with each file's date; most ETFs read from SEC filings have no return or risk figures here. Returns are past, not a forecast. A bond ETF gives its lines by issuer, coupon and maturity, with duration; an ETF read from SEC filings that is leveraged, inverse, under half in stock or half in swaps and futures lists its shares, and its contracts apart as notional exposure; an option income ETF read as a stock ETF (JEPI, QYLD) lists its stocks, not its options or notes; a trust what its filing says it holds; a prospectus-only ETF its objective. Not for comparing ETFs (compare_etfs) or the ETFs holding a stock (find_etfs_holding_stock).

    mcp-tool

    {
      "type": "object",
      "required": [
        "ticker"
      ],
      "properties": {
        "ticker": {
          "type": "string",
          "description": "A US ETF ticker, for example VOO or SCHD. Case does not matter."
        },
        "holdings": {
          "type": "integer",
          "default": 25,
          "maximum": 500,
          "minimum": 0,
          "description": "How many of the largest holdings to return, from 0 to 500; 25 when left out. 0 returns the figures without holdings."
        }
      },
      "additionalProperties": false
    }
    arguments 20 lines
  • get_etf_holdings_changes unknown 10h ago

    Use this when the user asks what a US ETF bought, sold, added or dropped, or how the weights of its holdings changed, recently or since a date. Returns, for each step from one issuer file to the next, the lines that entered and exited with their weights and the lines whose weight moved by 0.05 points or more, before and after, which includes price moves and not only trades, with the turnover measures; the latest step when no date is given. Kept for the stock ETFs read daily from their issuers' own files; another ETF comes back with the reason it has no history. A step across a change in how the files are keyed or read is marked restated and lists no trades. Not for an ETF's holdings on one date (get_etf_holdings) or its overlap over time (get_etf_holdings_history).

    mcp-tool

    {
      "type": "object",
      "required": [
        "ticker"
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "default": 25,
          "maximum": 500,
          "minimum": 1,
          "description": "The most lines listed in each of entered, exited and moved for one step, largest first. The counts are always whole."
        },
        "since": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "description": "Only the steps to a file dated on or after this date, written YYYY-MM-DD, for example 2026-09-15."
        },
        "ticker": {
          "type": "string",
          "description": "A US ETF ticker, for example VOO or SCHD. Case does not matter."
        }
      },
      "additionalProperties": false
    }
    arguments 25 lines
  • compare_etfs unknown 3h ago

    Use this when the user names exactly two US ETFs and asks how much they overlap, whether one duplicates the other, or how they differ in cost and risk. Returns the overlap by weight and each ETF's share held in common, the largest shared holdings, the correlation of weekly returns over up to three years, and each ETF's cost, return, volatility and worst fall (most ETFs read from SEC filings have no return or risk figures here), with both holdings dates. Two bond ETFs are compared by issuer overlap, option income stock ETFs (JEPI, QYLD) by their stocks alone. An ETF read from SEC filings that is leveraged, inverse, under half in stock or half in swaps and futures, a trust or pool (metal, crypto, currency, futures), a multi-asset, sponsor-file or prospectus-only ETF, or a bond ETF beside a stock ETF is compared by weekly returns alone, with the reason. Not for three or more ETFs (get_etf_overlap_matrix).

    mcp-tool

    {
      "type": "object",
      "required": [
        "a",
        "b"
      ],
      "properties": {
        "a": {
          "type": "string",
          "description": "A US ETF ticker, for example VOO or SCHD. Case does not matter."
        },
        "b": {
          "type": "string",
          "description": "The other US ETF ticker, for example QQQ."
        }
      },
      "additionalProperties": false
    }
    arguments 18 lines
_ try it over mcp through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 9fae4adf5037b4d6.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/9fae4adf5037b4d6/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/9fae4adf5037b4d6/badge.svg)](https://brick.blue/agent/9fae4adf5037b4d6?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we knowoff the mcp door
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
1
ok
1
failed
0
success rate
100%
median latency
38ms
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

1 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.