内容
# TickerDB - 预计算的代理市场数据
将您的代理连接到预计算的市场上下文中,从而提高推理能力并减少令牌使用量。
将您的代理连接到诸如 `trend_direction`、`support_level` 和 `analyst_consensus` 等数百种指标,以提高推理能力并减少令牌使用量。
## 可用工具
| 工具 | 描述 |
|---|---|
| `get_summary` | 单个股票的技术面和基本面摘要(支持日期范围、事件过滤和移动平均距离回看) |
| `get_ohlcv` | 分页的日终蜡烛图,用于精确回报、图表和回测 |
| `get_search` | 按类别状态或排名快照搜索资产,支持按 `market_cap` 等字段进行筛选 |
| `get_schema` | 发现可用的字段和筛选选项(始终免费,0积分) |
| `get_watchlist` | 您的已保存观察列表股票的实时数据 |
| `get_watchlist_changes` | 自上次管道运行以来的字段级差异 |
| `add_to_watchlist` | 将股票添加到您的观察列表 |
| `remove_from_watchlist` | 从您的观察列表中删除股票 |
| `get_account` | 账户详情、计划层级和用量 |
| `create_webhook` | 为观察列表更改注册 webhook |
| `list_webhooks` | 列出已注册的 webhook |
| `delete_webhook` | 删除 webhook |
所有工具在每个层级(免费、增强、专业)都可用 — 层级不同,积分限制、历史深度和观察列表大小也不同。有关详情,请参阅 [tickerdb.com/pricing](https://tickerdb.com/pricing)。
使用 `get_summary` 和 `start`/`end` 参数进行批量股票同步,跨越日期范围,或使用 `field`/`band` 参数查询事件发生情况。在事件模式下添加 `stats=true`,以获取聚合事件带和后续分布,而不是原始行。
付费事件后果包括确切的收盘价到收盘价字段,如 `return_5d_pct`、`return_20d_pct` 和 `return_100d_pct`,以及分类性能带。不完整的水平返回 `null`。
当需要确切的多栏日历史时,请使用_ohlcv`。`get_summary` 包括所照的相同蜡烛 `ohlcv` 对象;当 `has_more` 为真时,请在 `get_ohlcv` 中跟随 `next_cursor` 以检索其他条目。OHLCV 每次返回 100 条记录,费用为 1 积分,四舍五入,至少 1 积分。
`get_watchlist` 不需要时间范围。请使用 `get_watchlist_changes`或每周差异。
当前摘要快照还公开顶级新鲜方式为 `as_of,相同蜡烛的 `ohlcv.open/high/low/close/volume`,股票 `market_cap` / `market_cap_tier`(如果有),模式设置状态,位于 `patterns.bull_flag`、`patterns.bull_flag_breakout`、`patterns.bear_flag`、`patterns.bear_flag_breakdown`、`patterns.ascending_triangle`、`patterns.descending_triangle`、`patterns.symmetrical_triangle`、`patterns.rising_wedge` 和 `patterns.falling_wedge,更丰富的 `volume` 字段,如 `price_direction_on_volume`,付费层级元数据,如 `support_level.status_meta`,专业 `sector_context` 字段,如 `agreement` 和 `overbought_count`,以及仅股票的基本面,如 `fundamentals.free_cash_flow` 和嵌套 `fundamentals.insider_activity`(如果有)。
在整个堆栈中,均提供 MA 距离字段:
- 使用平面模式/搜索名称,如 `ma8`、`ma20`、`ma40`、`ma50`、`ma100`、`ma200`、`pattern_bull_flag`、`pattern_bull_flag_breakout`、`pattern_bear_flag`、`pattern_bear_flag_breakdown`、`pattern_ascending_triangle`、`pattern_descending_triangle`、`pattern_symmetrical_triangle`、`pattern_rising_wedge` 和 `pattern_falling_wedge`、`trend_ma50_slope`、`trend_ma_crossover_event`、`trend_distance_ma8`、`trend_distance_ma20`、`trend_distance_ma40`、`trend_distance_ma50`、`trend_distance_ma100` 和 `trend200`。
-快照在 `trend.ma_8` 到 `ma_200`嵌套的 MA率,在 `trend.distance_band.ma_8` 到 `ma_200` 下套的 MA 距,以及 `trend.ma_compression_band` 和 `trend.ma_crossover_event`。
- MA 距离事件查询支持分组的 `band=above` 和 `band=below` 别名,以及 `proximity_above` 等粒度值。
基本面带遵循相同的命名模式:在摘要字段选择中使用 `fundamentals.free_cash_flow`,在模式、搜索、观察列表更改和事件查询中使用 `fundamentals_free_cash_flow`。
仅专业的价值差异模型可在已验证的每周股票快照上使用。使用 `value_divergence_eligible`、`value_divergence_score`、`value_divergence_band` 和 `value_divergence_exclusion_reason` 与 `get_search`,或从 `get_summary` 请求相同的顶级字段。每日、ETF、加密货币和未经验证的历史记录返回 `null` 模型字段。
### 带稳定性元数据
`get_summary` 默认情况下会关闭兄弟 `_meta` 对象,以便主要带标签保持在前端。传递 `meta: true` 以在整个响应中包含付费层级的稳定性元数据,或请求您想要的特定 `*_meta` 字段。`get_watchlist` 仍然默认包含付费层级的 `_meta` 对象,而 `get_watchlist_changes` 在每个更改对象上返回内联稳定性字段。
稳定性标签是 `fresh`、`holding`、`established` 或 `volatile` 之一。完整的元数据包括 `periods_in_current_state`、`flips_recent` 和 `flips_lookback`,有助于代理区分新进入的状态和已持续许多时期的状态。
## 设置
### 选项 1:Claude.ai(OAuth)
`mcp.tickerdb.com` 上的远程服务器支持 Claude.ai 连接器的 OAuth 2.1。无需 API 密钥管理 — 使用您的 TickerDB 帐户登录,Claude.ai 处理其余部分。
### 选项 2:远程服务器(Bearer token)
将任何 MCP 客户端连接到 `https://mcp.tickerdb.com/mcp`,使用您的 API 密钥作为 Bearer token。
### 选项 3:ChatGPT 应用后端(OAuth)
使用托管的 MCP 端点 `https://mcp.tickerdb.com/mcp` 作为 TickerDB ChatGPT 应用的后端。第一个 ChatGPT 提交是仅限工具的,无需 Apps SDK iframe 小部件。
对于 ChatGPT 应用域验证,请在远程 Worker 上设置 `OPENAI_APPS_CHALLENGE_TOKEN`,并验证 `https://mcp.tickerdb.com/.well-known/openai-apps-challenge`。
### 选项 4:npm 包(Claude Desktop,Cursor 等)
添加到您的 Claude Desktop 配置(`claude_desktop_config.json`):
```json
{
cpServers": {
"tickerdb": {
"command": "npx",
"args": ["tickerdb-mcp"],
"env": {
"TICKERDB_KEY": "tdb_your_api_key_here"
}
}
}
}
```
在 [tickerdb](https://ticker/dashboard) 获取 API ## 结构
三包工作区:
- **`shared/`** — 共享工具定义、API 客户端和服务器工厂(内部,不公开)
- **`remote/`** — 部署在 `mcp.tickerdb.com` 的 Cloudflare Worker(可流式传输的 HTTP 传输 + OAuth 2.1)
- **`local/`** — npm 包 `tickercp`(stdio
远程服务器和 npm 包都使用 `shared/` 中的相同。MCP 服务器是一个薄代理 — 所有基于访问控制、速率限制和字段过滤都由 T HTTP API 处理。
份验证
远程服务器支持两种身份验证方法:
- **Bearer token** — 直接将您的 `tdb API 密钥作为 `Authorization: Bearer tdb_...
- **OAuth 2.1** —.ai 连接器使用。服务器实现动态客户端注册、PKCE、令牌交换和撤销。`/authorize` 端点到主 TickerDB 站点进行同意。
对于身份验证的 OAuth 支持 客户端,工作程序身份验证的 `initialize` 和 `tools/list`POST /mcp` 上进行发现,但需要身份执行实际的工具调用保护的工具调用返回 `401` Bearer 质询,其 `resource_metadata指向 `/.well-known/oauth-protected-resource/mcp便客户端可以重新干净地重新安装。
话策略
远程工作程序默认为 **无状态 MCP 传输**。这是故所有 TickerDB MCP都是请求/响应无状态的,而 Cloudflare Worker是隔离本地的,请求之间漂移使用无状态传输可以避免边缘会话丢失,这可能会在的 `link_...` 命名空间中途失效。在无状态模式下,工作程序只接受 `mcp` 请求,使用/响应模式,并拒绝 `GET`/`DELETE` 会话生命周期请求,以免连接器地拆除或重新绑定一个不打算是有状态的名称您需要调试显式的 MCP 会话行为,请MCP_SESSION_MODE=stateful`。在此模式时或丢失的 `-Session-Id` 头返回显式错误,而不是静默地降级为。
## 开发
# 安装依赖项 install
# 类型工作程序/共享源
npm run build
# 远程工作程序的开发服务器
npx wrangler dev
# 构建 npm 包
cd local && npm install && npm run build
```
## 部署
**远程服务器:**
```bash
npx wrangler deploy
```
**npm 包 + MCP 注册表(推荐):**
```bash
# 从 monorepo 根目录 MCP_PUBLISHER_KEY="your_saved_ticker_private_key_hex"
./release.sh mcp patch
会增加 `local/package.json`,保持 `server.json` 同步,发布 `tickerdb-mcp` 到刷新 `tickerdb.com` 的 DNS 身份验证,并将 MCP 服务器元数据发布 MCP 注册表。
npm 包(手动):**
```bash
cd local
npm version patch
npm run build
npm publish
```