TickerInside

Holdings, overlap, correlation and look-through risk for US ETFs, from issuer files, with no key.

我該用這個嗎

品質與安全性

A
說明品質
94%
結構描述完整度
99%
命名品質
82%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

發現項目(1)

  • LOWTool 'compare_stocks' description lacks action verb在 compare_stocks 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~2,911Token(工具定義)
~1.4 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.27%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "tickerinside-mcp": {
      "command": "npx",
      "args": [
        "tickerinside-mcp"
      ]
    }
  }
}

可執行的套件

npmtickerinside-mcp1.7.0stdio

遠端端點

https://tickerinside.com/mcpstreamable-http

它能做什麼

工具清單

工具(11)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢list_funds(query, source, include_tickers)

The ETFs this server can answer for, with the date of the data and how many of the US-listed ETFs that is. Holdings come from the issuers' own daily files (tickers), from SEC filings (tickers_sec_nport, tickers_bond, tickers_multi_asset, tickers_derivative), from a trust's own filing (tickers_trust) or from a sponsor (tickers_sponsor). With query it returns only the funds whose ticker or name matches; include_tickers false leaves out the lists.

輸入結構描述

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 60,
      "description": "A ticker or words from a fund's name, for example VOO or semiconductor. Case does not matter."
    },
    "source": {
      "type": "string",
      "enum": [
        "issuer_files",
        "sec_nport",
        "sec_nport_bonds",
        "sec_nport_multi_asset",
        "sec_nport_derivatives",
        "trust_filings",
        "sponsor_files",
        "prospectus"
      ],
      "description": "Only the funds read from the issuers' own files, only the stock ETFs from SEC filings, only the fixed income funds, only the multi-asset funds, only the derivative-based funds, only the trusts and pools, only the funds from their sponsors' files, or only the funds with only a prospectus file."
    },
    "include_tickers": {
      "type": "boolean",
      "default": true,
      "description": "false leaves out the ticker lists."
    }
  },
  "additionalProperties": false
}
🟢fund_profile(ticker, holdings)

One US ETF: its holdings with weights, largest first, and its cost, assets, returns over one, three and five years, volatility, beta, worst fall and concentration. Every figure carries the date of the issuer file, SEC filing or prices it came from. A fixed income ETF gives its lines by issuer, coupon, maturity and duration; a derivative-based ETF its contracts as notional exposure, never shares held; a trust or pool, what its filing says it holds.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "A US ETF ticker, for example VOO. Case does not matter."
    },
    "holdings": {
      "type": "integer",
      "minimum": 0,
      "maximum": 500,
      "default": 25,
      "description": "How many of the largest holdings to return. 0 for none."
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢compare_funds(a, b)

Two covered US ETFs: holdings overlap measured three ways (by weight, and the share of each fund held in common), the largest shared holdings, the correlation and covariance of weekly returns, and the cost, return and risk of each. Two fixed income funds overlap by issuer; another layer's fund is refused, with the reason.

輸入結構描述

{
  "type": "object",
  "properties": {
    "a": {
      "type": "string",
      "description": "A US ETF ticker, for example VOO. Case does not matter."
    },
    "b": {
      "type": "string",
      "description": "The other US ETF ticker."
    }
  },
  "required": [
    "a",
    "b"
  ],
  "additionalProperties": false
}
🟢overlap_matrix(tickers)

Every pair in a list of 2 to 30 US ETFs, ranked by overlap by weight, to see which funds in a portfolio duplicate each other. Fixed income funds are paired by issuer overlap, listed apart. Uncovered tickers are listed and skipped.

輸入結構描述

{
  "type": "object",
  "properties": {
    "tickers": {
      "type": "array",
      "minItems": 2,
      "maxItems": 30,
      "items": {
        "type": "string",
        "description": "A US ETF ticker, for example VOO. Case does not matter."
      },
      "description": "2 to 30 US ETF tickers."
    }
  },
  "required": [
    "tickers"
  ],
  "additionalProperties": false
}
🟢look_through(positions, currency, top)

Look through a list of US ETFs to the companies underneath: how much of each company the portfolio holds, in percent and in money when amounts are given, and which funds it comes through. Uncovered funds are listed and left out of the percentages.

輸入結構描述

{
  "type": "object",
  "properties": {
    "positions": {
      "type": "array",
      "minItems": 1,
      "maxItems": 60,
      "description": "The funds in the portfolio. Amounts are optional; with none, every fund counts equally.",
      "items": {
        "type": "object",
        "required": [
          "ticker"
        ],
        "additionalProperties": false,
        "properties": {
          "ticker": {
            "type": "string",
            "description": "A US ETF ticker, for example VOO. Case does not matter."
          },
          "amount": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "What this line is worth, in one currency for all lines."
          }
        }
      }
    },
    "currency": {
      "type": "string",
      "description": "The currency of the amounts, for example USD. Echoed back; nothing is converted."
    },
    "top": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 25,
      "description": "How many companies to return."
    }
  },
  "required": [
    "positions"
  ],
  "additionalProperties": false
}
🟢risk_decomposition(positions, currency)

For a list of US ETFs: portfolio volatility, each position's share of the risk (Euler decomposition, summing to 100), the diversification ratio, and the correlation and covariance matrices of weekly returns over up to three years.

輸入結構描述

{
  "type": "object",
  "properties": {
    "positions": {
      "type": "array",
      "minItems": 1,
      "maxItems": 60,
      "description": "The funds in the portfolio. Amounts are optional; with none, every fund counts equally.",
      "items": {
        "type": "object",
        "required": [
          "ticker"
        ],
        "additionalProperties": false,
        "properties": {
          "ticker": {
            "type": "string",
            "description": "A US ETF ticker, for example VOO. Case does not matter."
          },
          "amount": {
            "type": "number",
            "exclusiveMinimum": 0,
            "description": "What this line is worth, in one currency for all lines."
          }
        }
      }
    },
    "currency": {
      "type": "string",
      "description": "The currency of the amounts, for example USD. Echoed back; nothing is converted."
    }
  },
  "required": [
    "positions"
  ],
  "additionalProperties": false
}
🟢stock_exposure(ticker, top, compact)

For one stock, the covered US ETFs that hold it and the weight in each, heaviest first. Each holder carries its holdings date, its source (the issuer's daily file or an SEC filing), the stock's rank in the fund and the dollars held. Returns the largest holders and the total count, how many funds have it as their largest holding, and the funds with the most dollars in it. It also says whether the stock is in VOO, SPY, IVV, QQQ, VTI, SCHD and the largest sector funds. It adds the issuers holding the most, the cheapest exposure per $1,000, funds whose name only shares the company's, and one sentence to quote. Leveraged, inverse and option-income funds that reference the stock through swaps, futures or options are listed apart, as notional exposure, never shares held.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "A stock ticker, for example NVDA. 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 funds)."
    },
    "top": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "default": 50,
      "description": "How many funds to return, heaviest first."
    },
    "compact": {
      "type": "boolean",
      "default": false,
      "description": "true for the counts, rank_summary, name_collision and the sentence to quote, without top_by_value, membership, by_issuer and fee_per_1000 and without each fund's rank, positions and value: about half the length."
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢compare_stocks(a, b)

Two US stocks with three years of prices: market cap, valuation, returns, worst fall, volatility, beta, the correlation of weekly returns, and the covered US ETFs holding both. A fund ticker works on one side and returns whether the fund holds the stock, at what weight and rank.

輸入結構描述

{
  "type": "object",
  "properties": {
    "a": {
      "type": "string",
      "description": "A US stock ticker, for example NVDA. An ETF ticker also works."
    },
    "b": {
      "type": "string",
      "description": "The other ticker."
    }
  },
  "required": [
    "a",
    "b"
  ],
  "additionalProperties": false
}
🟢etf_ownership(ticker)

For one US stock, the share of its shares outstanding held by the covered US ETFs, as a lower bound: at least this percent, from this many funds. It gives the shares held, the SEC's count of shares outstanding and its date, the holdings dates and the method. The basis says whether the percent is of the whole company, every class counted, or of the ticker's class alone. Also where the figure ranks by percent among those measured, and the share of the covered US stock ETFs' money in the ten largest US companies they hold, a company without a stock file here included. A stock without a figure comes back with the reason.

輸入結構描述

{
  "type": "object",
  "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."
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢fund_history(ticker, since)

One US ETF read from its issuer's own files: every file date the archive holds, with the position count and the top 10 weight. Each step from a file to the next says how many lines entered, exited and moved, the weight of the names that changed and the weight that moved. The share-count turnover follows once enough files carry share counts. It also shows how the fund's overlap by weight with its ten closest funds moved over those dates. Each step names the file it is compared with; a step across a change of the keys or of the reading of the file is marked restated.

輸入結構描述

{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "A US ETF ticker, for example VOO. Case does not matter."
    },
    "since": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Only the steps to a file dated on or after this date, YYYY-MM-DD."
    }
  },
  "required": [
    "ticker"
  ],
  "additionalProperties": false
}
🟢fund_changes(ticker, since, limit)

The changes in one US ETF's holdings from one issuer file to the next: the lines that entered and exited with their weights, largest first, and the lines whose weight moved by 0.05 points or more, before and after. It covers every step since a date, or the latest step when no date is given. Each step names the file it is compared with and gives its turnover measures. Lines held two files earlier are marked as reverted; a step across a change of the keys or of the reading of the file is marked restated and lists no trades.

輸入結構描述

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

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本11 個工具
已驗證未記錄版本8 個工具