Skip to main content
Glama
Chefy3x

tradingview-mcp-chefy

by Chefy3x

tradingview-mcp-chefy

Token-efficient TradingView MCP for traders who actually backtest.

This is a fork built specifically for strategy testing. The existing TradingView MCPs work well for chart reading and morning workflows, but they burn tokens hard when you're iterating on Pine strategies — every backtest read dumps the full trade list, equity curve, and console output into your context. This fork rewrites those reads to aggregate inside TradingView's runtime before the data crosses the wire, returning summaries by default and detail on demand.

WARNING

Not affiliated with TradingView Inc. or Anthropic. This tool connects to your locally running TradingView Desktop app via Chrome DevTools Protocol. Review the Disclaimer before use.

IMPORTANT

Requires a valid TradingView subscription. This tool does not bypass any TradingView paywall. It reads from and controls the TradingView Desktop app already running on your machine.

NOTE

All processing is local. Nothing is sent anywhere. No TradingView data leaves your machine.


Credits

This project stands on two pieces of prior work:

If those repos help you, go star them.


What's Different in This Fork

Area

Upstream behavior

This fork

Status

data_get_strategy_results

Returns full strategy tester payload (~67K tokens)

In-browser aggregation: returns ~40 curated metrics + computed expectancy + first/last trade timestamps. verbose: true for the full raw payload

shipped (v0.1)

data_get_trades

max_trades cap only

Cursor-paginated. Default limit: 20. all: true for full list

planned

data_get_equity

Full curve point-by-point

Downsampled to N buckets (default 50). verbose: true for raw

planned

pine_get_console

All console output

New pine_console_errors filters server-side

planned

Strategy detector

Stops at first is_price_study === false source — latches onto Volume / EMA

Score-based: scans all sources and picks the one with strongest strategy signals (ordersData, _strategyOrdersPaneView, _reportData, is_strategy meta)

shipped (v0.1)

Measured token cost — data_get_strategy_results

Real numbers from a 121-week (255-trade) backtest of a Pine strategy on COMEX:GC1! 1H:

Mode

Output size

Approx tokens

Default (summary)

~1.7 KB

~425

verbose: true

268,792 chars

~67,000

~99% reduction per call in default mode. On a heavy iteration session (20+ runs), this is the difference between burning ~$20 of tokens on result reads alone vs ~$0.10.

The aggregation runs inside TradingView's Electron runtime — same CDP round-trip, ~150× less data crossing the wire.


Status

v0.1 — first aggregation tool (data_get_strategy_results) shipped, with hardened strategy detector and trade-aggregate computation in-browser. Other tools still match upstream behavior.

Roadmap:

  • Fork repo, set up structure

  • data_get_strategy_results summary mode + verbose escape hatch

  • Strategy detector hardening (score-based, no is_price_study gate)

  • In-browser trade-derived aggregates (win rate, PF, max DD, expectancy)

  • data_get_equity downsampling

  • data_get_trades cursor pagination

  • pine_console_errors filtered tool

  • Token-cost benchmark video

  • PR uncontroversial fixes back to LewisWJackson upstream

  • v0.2 release


Quick Start

Same setup as upstream for now. When the new tools land in v0.2, the install path stays identical — only the mcpServers config name might change.

Prerequisites

  • TradingView Desktop app (paid subscription required for real-time / strategy data)

  • Node.js 18+

  • Claude Code (or any MCP client)

  • macOS, Windows, or Linux

Install

git clone https://github.com/Chefy3x/tradingview-mcp-chefy.git ~/tradingview-mcp-chefy
cd ~/tradingview-mcp-chefy
npm install

Launch TradingView with debug port

Mac:

./scripts/launch_tv_debug_mac.sh

Windows:

scripts\launch_tv_debug.bat

Linux:

./scripts/launch_tv_debug_linux.sh

Add to Claude Code

Add to ~/.claude/.mcp.json (merge with existing servers):

{
  "mcpServers": {
    "tradingview": {
      "command": "node",
      "args": ["/Users/YOUR_USERNAME/tradingview-mcp-chefy/src/server.js"]
    }
  }
}

Replace YOUR_USERNAME with your actual username (echo $USER on Mac/Linux).

Verify

Restart Claude Code and ask: "Use tv_health_check to verify TradingView is connected."


Architecture

Claude Code  ←→  MCP stdio  ←→  src/server.js  ←→  CDP :9222  ←→  TradingView Desktop (Electron)
  • Connection: Chrome DevTools Protocol on localhost:9222

  • Aggregation: for backtest reads, the JS expression sent over CDP performs the reduction inside TradingView's runtime before returning. Same network hop, ~200x less data crossing the boundary.

  • No external network calls — everything runs locally

  • Zero added dependencies beyond what upstream uses


Contributing

Two-way street with upstream:

  • Token efficiency improvements to existing tools → I'll PR these back to LewisWJackson upstream so everyone benefits

  • New backtest_* family of tools → stays in this fork (changes the mental model of how the MCP is used)

If you spot a bug in shared code paths, open an issue here and I'll route it.


Disclaimer

This project is provided for personal, educational, and research purposes only.

This tool uses the Chrome DevTools Protocol (CDP), a standard debugging interface built into all Chromium-based applications. It does not reverse engineer any proprietary TradingView protocol, connect to TradingView's servers, or bypass any access controls. The debug port must be explicitly enabled by the user via a standard Chromium command-line flag.

By using this software you agree that:

  1. You are solely responsible for ensuring your use complies with TradingView's Terms of Use and all applicable laws.

  2. This tool accesses undocumented internal TradingView APIs that may change at any time.

  3. This tool must not be used to redistribute, resell, or commercially exploit TradingView's market data.

  4. The authors are not responsible for any account bans, suspensions, or other consequences.

Use at your own risk.

License

MIT — see LICENSE. Inherited from upstream. Applies to source code only, not to TradingView's software, data, or trademarks.

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Chefy3x/tradingview-mcp-chefy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server