tradingview-mesh
by omnibot007
README.md
# TradingView MCP Mesh — 200+ Repo Scan + Best-of Mashup
> Scanned 335 unique TradingView repos (11 queries × 20 evaluated = 220 evaluations) via `github-deepscan` surface+deep. Reports in `../.agents/skills/github-deepscan/reports/`.
## Top Finds (composite /5)
| Rank | Repo | Stars | What it does best | Composite |
|------|------|-------|-------------------|-----------|
| 1 | `LuxAlgo/PineTS` | 518 | Pine v5 → TypeScript transpiler, type-safe indicator dev | 4.0 |
| 2 | `atilaahmettaner/tradingview-mcp` | 4312 | **Data layer** — 37 tools: market data, screeners, TA, backtest, sentiment, Yahoo, futures, no browser/login needed | 3.4 (deep) |
| 3 | `tradesdontlie/tradingview-mcp` | 5936 | **Browser layer** — 78 tools via CDP to TradingView Desktop, chart control, drawings, alerts, screenshots, CLI `tv` | 3.2 (deep) |
| 4 | `FerroxLabs/tvcontrol` | 38 | Fresh 2026-08-31, JS CDP controller | 3.6 |
| 5 | `moondevonyt/Trading-View-MCP-for-AI-by-Moon-Dev` | <100 | **Real Chrome Pine injection** — drives real TradingView chart, Pine compile via `pine-facade.tradingview.com`, dedicated profile, only one that can put custom Pine on chart (invite-only visible via legend) | not ranked (too new) |
| 6 | `everget/tradingview-pinescript-indicators` | 887 | 100+ Pine example indicators | 3.2 |
Deep winner: `atilaahmettaner` (3.4) > `tradesdontlie` (3.2). Bus factor warning on jackson-video fork (≤2 contributors).
## Mesh Architecture
```
User → Mesh MCP (Python FastMCP) → routes by tool prefix
├─ tv_browser.* → moon-dev + tradesdontlie CDP (real chart, Pine injection, invite-only legend)
├─ tv_data.* → atila core (screener, TA, backtest, sentiment, price — no login)
├─ tv_pine.* → PineTS transpile + pine-facade compile-check + everget examples
└─ tv_alert.* → fabston webhook (TradingView → webhook → bot)
```
Why mesh: No single repo does all 4. Moon-dev is only one that can **write custom Pine to chart** (others only read data). Tradesdontlie has **78 chart tools + CLI** but needs TV Desktop. Atila has **37 data tools** with zero browser. PineTS makes Pine type-safe. Mesh = one MCP, all capabilities, invite-only supported via legend scrape.
## What Invite-Only Looks Like
- `tv_list_indicators` → reads `[data-name="legend-source-item"]` → invite-only shows same as public: `{"title":"My Invite Only v2","values":["42.1"]}` if **on chart**
- `tv_add_indicator(name="Exact Invite Name")` → searches Indicators dialog → TradingView returns your invite-only if you have access
- Cannot enumerate all invite-only you own without names, cannot decompile source (server-compiled)
## Install (Windows)
```powershell
cd C:\Users\LENOVO\tools\tradingview-mcp-mesh
python -m venv .venv; .\.venv\Scripts\activate
pip install -r requirements.txt
copy ..\Trading-View-MCP-for-AI-by-Moon-Dev\.env .env # set TV_MCP_CHROME_BINARY to real Chrome
# real Chrome 152 found at C:\Program Files\Google\Chrome\Application\chrome.exe
python -m tradingview_mcp_mesh.server # stdio MCP
```
MCP config for Claude/Kimi:
```json
{
"mcpServers": {
"tradingview-mesh": {
"command": "python",
"args": ["-m", "tradingview_mcp_mesh.server"],
"cwd": "C:/Users/LENOVO/tools/tradingview-mcp-mesh"
}
}
}
```
## Status
- Sources cloned to `sources/` (5 repos)
- Chrome CDP live at 9222 (real Chrome 152, not playwright) — but websocket `ws` hung before (even blank page). Needs retest after mesh wiring with `chrome-remote-interface` (tradesdontlie's lib is more robust than `websocket-client`).
- Next: wire `tradesdontlie/src/connection.js` CDP client + `moon-dev/cdp_client.py` fallback, expose unified `tv_list_indicators` that merges both.
## Scan Proof
- `tradingview mcp`: 33 candidates, 20 evaluated
- `tradingview pine script`: 34, 20
- `tradingview api`: 30, 20
- `tradingview indicator`: 30, 20
- `tradingview webhook`: 32, 20
- `tradingview strategy`: 32, 20
- `tradingview chart`: 30, 20
- `lightweight-charts`: 30, 20
- `pinescript`: 31, 20
- `tradingview lightweight`: 34, 20
- `tradingview alert`: 29, 20
Total unique ~335, evaluated 220 (>200 as requested).
This server cannot be deployed
Maintenance
ActivitySlowing
ResponsivenessNo issues