History of Market
Read-only U.S. stock market history: S&P 500 since 1928, CAPE, drawdowns, index changes.
我该使用它吗
质量与安全性
发现(1)
- LOW在 annual_returns 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"market-history": {
"url": "https://historyofmarket.com/mcp"
}
}
}远程端点
https://historyofmarket.com/mcpstreamable-http它能做什么
工具清单
工具(5)
🟢get_latest(id)
Current headline readings (value, unit, observation date) for the site's charts: S&P 500 level, Shiller CAPE, forward P/E for the S&P 500, Nasdaq 100, SOX and sector ETFs, VIX, drawdown from the high, breadth, Magnificent 7 weight and more. Pass `id` for one chart, or omit it for all.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Chart id, e.g. \"pe\" (Shiller CAPE), \"forward-pe\", \"ndx-forward-pe\", \"drawdown\", \"vix\". Omit for every reading."
}
},
"additionalProperties": false
}🟢annual_returns(index, from_year, to_year)
Calendar-year returns by year, price return and total return (dividends reinvested), with the arithmetic mean and compound annual rate over the complete years in the range. Indexes: sp500 (from 1928), ndx, sox, xlk, xlf, xly, xlp. The current year is year-to-date and flagged `ytd`.
输入模式
{
"type": "object",
"properties": {
"index": {
"type": "string",
"enum": [
"sp500",
"ndx",
"sox",
"xlk",
"xlf",
"xly",
"xlp"
],
"description": "Which index or ETF. Default sp500."
},
"from_year": {
"type": "integer",
"description": "First year to include."
},
"to_year": {
"type": "integer",
"description": "Last year to include."
}
},
"additionalProperties": false
}🟢index_changes(index, since, ticker, limit)
Constituent changes with effective date, the company added, the company removed and the reason. sp500 from 2016, ndx from 2020. Newest first.
输入模式
{
"type": "object",
"properties": {
"index": {
"type": "string",
"enum": [
"sp500",
"ndx"
],
"description": "Default sp500."
},
"since": {
"type": "string",
"description": "Only changes effective on or after this date (YYYY-MM-DD)."
},
"ticker": {
"type": "string",
"description": "Only changes that add or remove this ticker."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 300,
"description": "Default 20."
}
},
"additionalProperties": false
}🟢search_charts(query, limit)
Search the site's charts by topic or question (e.g. "bear markets", "Shiller CAPE", "Nasdaq 100 drawdown", "monthly seasonality"). Returns each chart's title, the question it answers, its page and the dataset path to pass to get_dataset.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Words to match against chart titles and the questions they answer."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"description": "Default 10."
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢get_dataset(path, since, until, tail)
Read one published dataset (the JSON behind a chart), e.g. "sp500/drawdowns", "sp500/pe", "ndx/forward-pe", "recessions". Rows can be filtered by `since`/`until` on their `date` (or `year`). A result is capped at about 60,000 characters: when a file is larger (long daily series), each array keeps its most recent rows and the cut is reported under `windowed`. Scalars and summary fields are always included.
输入模式
{
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "Dataset path without /api/ and .json, as returned by search_charts."
},
"since": {
"type": "string",
"description": "Keep rows dated on or after this (YYYY-MM-DD or YYYY)."
},
"until": {
"type": "string",
"description": "Keep rows dated on or before this (YYYY-MM-DD or YYYY)."
},
"tail": {
"type": "integer",
"minimum": 1,
"maximum": 2000,
"description": "Rows kept per array after filtering, from the end. By default every row is returned when the result fits; long daily series are cut to their most recent rows and reported under `windowed`."
}
},
"required": [
"path"
],
"additionalProperties": false
}社区
证据