内容
# Clawby TradingView MCP
> 由 [Clawby](https://www.openclawby.com) 维护。基于 tradesdontlie 的 [tradingview-mcp](https://github.com/tradesdontlie/tradingview-mcp),遵循 Apache-2.0 许可。
允许 AI 助手(Claude Code、Codex 等)**读取和控制实时 TradingView Desktop 图表**,通过 Chrome DevTools 协议 — 并 **与 Clawby 替代数据融合**:暗池、空头兴趣、期权最大痛点、Reddit 情绪和加密货币衍生品(资金 / 开仓兴趣 / 清算 / 多空 / 做市商,来源于 Coinglass)。
读取图表,切换符号/时间范围,开发 Pine 脚本,运行回测,绘制水平线 — 并将价格图表无法显示的机构数据直接叠加到图表上。
**[中文文档 →](README.zh-CN.md)**
---
## 本分支新增内容
本分支由 Clawby 维护。在原 TradingView MCP 的基础上,它添加了:
| 领域 | 新增 / 修复内容 |
|---|---|
| **🐼 Clawby 数据融合** | 10 个新的 `clawby_*` 工具 — 暗池叠加、空头挤压上下文、期权最大痛点、Reddit 情绪(美国股票)+ **加密货币衍生品**(资金、开仓兴趣、清算、多空、做市商,来源于 Coinglass) |
| **🎨 图表美学** | `chart-aesthetics` 技能 + 按重要性加权的默认样式,使叠加层/脚本更清晰(语义色板、线宽层次、重复标签去重) |
| **🔑 首次运行设置** | `clawby_set_api_key` 工具 + `tv setup` 向导 + 环境变量 — 密钥与 Clawby 账户验证并存储为 `0600`;三种配置方式,交互式最简单 |
| **⚙️ 可靠性** | 声明 `zod` 为 phantom 依赖;基于事件的 CDP 存活检测(无需逐次 ping,自动重连);`bringToFront()` 以便后台标签页的绘图实际渲染 |
| **🧰 上下文控制** | `TV_TOOL_GROUPS` 环境变量,注册仅使用的工具组(90 个工具 → 精简为少数),减少模型上下文的架构占用 |
| **📦 打包** | 紧凑的 JSON 响应(大型数据 payload 减少 20-30%);版本从 `package.json` 读取;Apache-2.0 的 NOTICE / 属性 |
| **🤝 Codex** | 也可在 Codex CLI 中作为标准 stdio MCP 使用(配置示例见下) |
## 架构
```
AI 助手(Claude Code / Codex)
│ MCP 通过 stdio · 90 个工具组(图表、数据、Pine、捕捉、绘图、
│ 警报、重放、指标、监控列表、UI、面板、标签页、clawby)
▼
server.js ──> tools/*.js (薄 MCP 工具定义,zod 模式)
│
▼
core/*.js (所有逻辑;也可通过 `tv` CLI 使用)
│
┌────────┴─────────────┐
▼ ▼
connection.js core/clawby.js · core/crypto.js
(Chrome DevTools (Clawby 中继:暗池、空头数据、
协议客户端, 期权、情绪、加密货币衍生品)
评估 / 截图) │
│ ▼
▼ api.openclawby.com ──> Coinglass, 暗池,
TradingView Desktop SEC, 社交,… (364 个接口)
(localhost:9222 CDP)
```
```
src/
server.js MCP 入口 — 注册工具组(支持 TV_TOOL_GROUPS)
connection.js CDP 客户端:连接、评估、截图、bringToFront
wait.js 图表就绪 / 渲染稳定轮询
core/ 所有业务逻辑(可导入 + CLI 支持)
chart, data, pine, capture, drawing, indicators, replay, alerts,
watchlist, ui, pane, tab, batch, health, stream, update
clawby.js Clawby 中继客户端 + 美国股票数据工具 + 叠加层
crypto.js 加密货币衍生品(Coinglass via Clawby)
config.js API 密钥持久化(~/.config,0600)+ 验证
tools/ MCP 工具定义(每个组一个文件)→ 封装核心
cli/ `tv` CLI 镜像每个工具(设置、图表、Pine 等)
skills/ Claude 技能 playbook(见下)
tests/ node:test 套件(单元测试 + 端到端测试)
scripts/ 启动辅助脚本,Pine 推送 / 拉取
```
## 要求
| 要求 | 说明 |
|---|---|
| **Node.js ≥ 18** | 服务器 + CLI |
| **TradingView Desktop** | 使用 `--remote-debugging-port=9222` 启动 |
| **Google Chrome / Chromium** | 用于某些截图 / PDF 路径(可选) |
| **Clawby API 密钥** | `clawby_*` 数据工具所需 — 在 [openclawby.com](https://www.openclawby.com) 免费获取 |
## 安装
```bash
git clone <your-fork-url> && cd tradingview-mcp
npm install
```
使用调试端口启动 TradingView(macOS):
```bash
open -a TradingView --args --remote-debugging-port=9222
```
(Linux/Windows 助手位于 `scripts/`。在 macOS 上使用 `open -a` — 它不会像直接二进制启动那样阻塞 shell。)
### 添加到 Claude Code
```bash
claude mcp add clawby-tradingview \
-e CLAWBY_API_KEY=pk_… \
-e TV_TOOL_GROUPS=chart,data,capture,drawing,clawby \
-- node /abs/path/to/tradingview-mcp/src/server.js
```
### 添加到 Codex CLI
`~/.codex/config.toml`:
```toml
[mcp_servers.clawby-tradingview]
type = "stdio"
command = "node"
args = ["/abs/path/to/tradingview-mcp/src/server.js"]
startup_timeout_sec = 60
[mcp_servers.clawby-tradingview.env]
CLAWBY_API_KEY = "pk_…"
TV_TOOL_GROUPS = "chart,data,capture,drawing,clawby"
```
使用 `codex mcp list` 验证。注意:Codex 不会自动加载 `skills/` playbook(这些是 Claude 机制)— 在提示中描述工作流。
### 配置 Clawby 密钥(任意一种)
1. **交互式** — 使用任意 `clawby_*` 工具;助手会询问您的密钥并通过 `clawby_set_api_key` 保存(验证 + 存储 `~/.config/clawby-tradingview-mcp/config.json`,`0600`)。
2. **向导** — `tv setup`(或 `tv setup --key pk_…`)。
3. **环境变量** — `CLAWBY_API_KEY`(始终优先)。使用 `clawby_account` 工具检查状态。
## Clawby 工具与用例
十个工具(组 `clawby`)。美国股票符号自动映射为 `NASDAQ:AAPL → US:AAPL`;加密货币符号接受 `BTC` 或 `BINANCE:BTCUSDT`。空白符号 = 当前图表。
| 工具 | 数据 |
|---|---|
| `clawby_darkpool_overlay` | 获取暗池成交量水平 **并将其绘制到图表上** |
| `clawby_darkpool_levels` / `_summary` | 暗池水平分布 / 大宗交易摘要 |
| `clawby_short_context` | 空头兴趣、交割日、IBKR 借贷成本、FTDs — 一次调用 |
| `clawby_options_maxpain` | 最大痛点价格 + ITM/OTM 开仓兴趣 |
| `clawby_reddit_sentiment` | 14 天提及次数 + 最近帖子 |
| `clawby_crypto_derivs` | **加密货币**:跨交易所资金、开仓兴趣、24 小时清算(多空)、全球多空比率、4 小时做市商流量 — 一次调用 |
| `clawby_crypto_funding_history` | 资金费率时间序列(现货趋势 / 峰值) |
| `clawby_set_api_key` / `clawby_account` | 密钥设置与状态 |
**用例**(均与实时数据验证):
1. **图表上的暗池水平** — *"叠加 AAPL 的最近 30 天暗池水平。"* 拉取每日水平,按价格桶求和,以 2px 实线绘制最重叠部分,以 1px 虚线绘制其余部分(样式)。$283 的五日集群(7.96 千万股)和 327/333 天花板成为可见的支撑/阻力。
2. **加密货币杠杆读取** — *"拉取 BTC 的衍生品数据。"* 一次调用返回资金 -0.0005%(空头支付 → 拥挤的空头),开仓兴趣 $48.9B,24 小时清算 $167M(多头 $96M / 空头 $72M),账户 55.5% 多头 / 44.5% 空头,4 小时做市商 48% 买入 / 52% 卖出 — 另附一行 `summary`。
3. **空头挤压雷达** — *"GME 有任何挤压设置吗?"* 空头兴趣 13.65%,交割日 10.75,借贷费率 0.38% / 7.6M 可借贷,最近的 FTDs — 一次调用。
4. **期权最大痛点磁铁** — *"SPY 在这个星期五的最大痛点在哪里,画出来。"* 最大痛点价格在一根干净的蓝线上。
5. **情绪 vs. 价格** — *"AAPL 的 Reddit 讨论是否与价格出现分歧?"* 14 天提及次数与蜡烛图对比。
6. **长尾** — `clawby-fusion` 技能展示了如何通过 `curl` 访问 Clawby 的 364 个接口(SEC 财务数据、DEX 情报、X/Facebook/Instagram 搜索…),并将任何生成的水平带回图表。
## 技能(Claude)
| 技能 | 目的 |
|---|---|
| `chart-analysis` | 技术分析工作流(符号/时间范围/指标/注释/截图) |
| `chart-aesthetics` | **视觉设计系统**,用于叠加层和 Pine 脚本 — 调色板、权重层次结构、每种数据类型的样式 |
| `clawby-fusion` | 将 Clawby 数据与图表融合;暗池 / 挤压 / 最大痛点 / 情绪 + 长尾目录的 playbook |
| `pine-develop` | Pine 脚本编写 → 编译 → 修复 → 迭代循环 |
| `strategy-report` · `multi-symbol-scan` · `replay-practice` | 回测报告,多符号扫描,条形重放练习 |
## 安全
- 服务器驱动您的本地 TradingView 的 CDP(`localhost:9222`)— 不要将 9222 端口暴露到网络上;任何能访问它的人都可以控制该浏览器会话。
- Clawby 密钥存储在本地 `0600` 配置文件中(或环境变量);绝不回声或上传。
- 生成的 Pine 脚本和绘图由您审核。参见 `SECURITY.md`。
## 许可证
[Apache-2.0](LICENSE) · 属性参见 [NOTICE](NOTICE)。不隶属于 TradingView Inc.、OpenAI 或 Anthropic。