Skip to main content
Glama
aidenhecker

claude-tradingview-mcp

by aidenhecker

claude-tradingview-mcp

Let Claude see your TradingView charts. Never let it trade them.

read-only by construction license: MIT MCP platform: macOS python zero write tools

An MCP server that lets Claude analyze the chart you're looking at in the TradingView desktop app — by reading the window with AppleScript and screenshotting it. It has no order tools, no alert-write tools, no money-movement tools, and it refuses to boot if anyone adds one.


2. Demo

GIF placeholder: docs/media/demo.gif — Claude Desktop receiving a screenshot_chart() of an AAPL daily, then calling extract_indicators() and giving a plain-language read. (Record a 12–20s loop: ask "what's on my screen?" → Claude shows the chart back + the RSI/EMA/MACD read.)

Related MCP server: traderspost-mcp

3. Install

# 1) install the server (pipx keeps it isolated)
pipx install claude-tradingview-mcp        # or: uv tool install claude-tradingview-mcp

# 2) register it with Claude
claude mcp add tradingview claude-tradingview-mcp

Then grant macOS Accessibility + Screen Recording to the app running the server (Terminal / Claude Desktop) — see docs/install.md.

4. Quickstart

Drop the snippet from examples/claude-desktop-config.json into your Claude Desktop config, chart any symbol in TradingView, and ask:

"What's on my screen?"

Claude calls get_symbol()screenshot_chart()extract_indicators() and tells you what it sees.

5. Why

Claude can already analyze prose. Now it can analyze your charts — the exact ones on your screen, with your indicators and your layout. The chart stays on your machine: the screenshot is captured from your window, handed to Claude, and the temp file is deleted immediately. Nothing is uploaded by this tool, and nothing it exposes can place a trade.

6. The tools (all read-only)

Tool

What it returns

get_symbol()

the charted symbol + timeframe (from the window title)

screenshot_chart()

a base64 PNG of only the TradingView window

extract_indicators()

RSI, EMA20/50/200, MACD, ATR, Bollinger, VWAP, Supertrend + a verdict

get_watchlist()

symbols TradingView currently exposes

read_alerts()

read-only view of visible alert configs

resource tradingview://current

current symbol + open windows snapshot

Tools this server will never have

place_order · modify_alert · paper_trade · withdraw · buy · sell · cancel_order · close_position · transferregistration of any of these raises at boot. See safety.py and tests/test_safety.py.

7. Demo video

Placeholder: a 60-second screencast (link here). Show the boot-time safety abort when a write tool is added — that's the moment that sells the project.

8. FAQ

Will it ever execute a trade? No. There is no code path that can. Tools are registered through a hardcoded allowlist in safety.py; any tool whose name even contains a trade/write verb raises SafetyViolation before the server starts. The test suite asserts the registry is exactly the five read-only tools.

Does my chart get uploaded anywhere? The screenshot is captured locally and deleted from disk right after it's encoded. This tool uploads nothing. (Your MCP client — Claude — receives the image to analyze; that's the point.)

Does it work on Windows/Linux? Not yet — it relies on macOS AppleScript + screencapture. PRs welcome for a Windows/Linux read path, as long as they stay read-only.

Do I need a TradingView API key / paid plan? No. There is no TradingView API here — it reads the desktop app's window. Indicator math uses free public OHLC from yfinance.

9. Comparison

claude-tradingview-mcp

ccxt MCP servers

tradingview-screener

Reads your actual on-screen chart

Can place orders

❌ never

✅ (that's the point)

Needs API keys / exchange creds

Screenshot of your live window

Indicator bundle

✅ (local, MIT)

varies

scanner-based

Safety model

read-only by construction

you hold the keys

read-only

10. Contributing

PRs welcome — with one hard rule: we will not merge any PR that adds a write tool (orders, alert mutation, money movement, "just paper trading", anything). The CI safety test will fail it, and so will we. See docs/threat-model.md.

11. License & sponsors

MIT © 2026 Aiden Hecker. See LICENSE. Indicator formulas are pure pandas (no AGPL dependency). If this saves you time, sponsorship keeps it maintained.

12. Requirements

macOS · TradingView desktop app · Python 3.10+ · Accessibility + Screen Recording permission for the host app. How it works: docs/how-it-works.md.


Available Tools

5 tools
extract_indicatorsA

Compute a technical-indicator bundle for the charted (or given) symbol.

Reads PUBLIC historical candles (yfinance) and computes RSI, EMA20/50/200, MACD, ATR, Bollinger, VWAP, Supertrend — plus plain-language signals and a verdict. This reads market data only; it cannot and will not place a trade. If symbol/interval are omitted, they're read from the current TradingView window.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolNo
intervalNo
lookbackNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses it reads public historical candles via yfinance, cannot place trades, and defaults from TradingView window if omitted. Clearly read-only and safe. No annotations exist, so description carries full burden and does well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very concise: three sentences covering key points. Front-loaded with action and indicators. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given output schema exists and complexity of indicators, description covers data source, excluded actions (no trading), and default behavior. Could mention that lookback is the number of candles for computations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Briefly explains symbol and interval default behavior, but does not describe the 'lookback' parameter. Schema coverage is 0%, so some compensation is provided but incomplete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it computes a technical-indicator bundle, listing specific indicators (RSI, EMA, MACD, etc.) and signals. Distinguishes from siblings (get_symbol, get_watchlist, etc.) by being the only tool computing indicators.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies use when technical indicators are needed, but no explicit guidance on when to use vs alternatives or when not to. For example, no mention of alternative data sources or tools for other types of analysis.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_symbolA

Read the symbol + timeframe currently charted in the TradingView desktop app.

Returns {symbol, exchange, interval, raw_title}. On a permission/parse failure returns {error, hint, raw_title} — then just ask the user for the ticker.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses both success and error return structures, including a hint to ask the user on failure. No annotations, but description covers key behavioral aspects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with the main action. Every sentence provides necessary information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameter-less read tool, it covers both success and error cases. Could include more context on when to use, but is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so schema coverage is trivial. The description adds value by explaining return values, which supplements the output schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads the symbol and timeframe currently charted, distinguishing it from siblings like extract_indicators or get_watchlist.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when-to-use or alternatives guidance. While the siblings hint at different purposes, the description does not clarify when this tool should be chosen over them.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_watchlistA

Read the symbols TradingView currently exposes (one per open chart window).

Returns {symbols: [{symbol, exchange, interval, raw_title}], count}. Read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description explicitly declares the tool is read-only, which is a key behavioral trait. It also describes the output structure, but does not disclose potential edge cases (e.g., empty watchlist) or limitations (e.g., rate limits). Since no annotations exist, the description carries the full burden and does so reasonably well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise, using two sentences to convey purpose and return format. It is front-loaded and contains no fluff. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, no annotations, and an output schema described in text, the description is largely complete. However, it lacks explanation of what 'one per open chart window' entails in practice (e.g., if multiple windows with same symbol appear) and does not mention the possibility of an empty result. Minor gaps exist.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the input schema provides full coverage. The baseline for zero parameters is 4. The description does not add parameter info as it is unnecessary, but it does describe the return value, which indirectly aids understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reads symbols from TradingView exposed per open chart window. The verb 'Read' is specific, and the resource 'symbols TradingView currently exposes' is well-defined. It distinguishes from siblings like get_symbol (specific symbol retrieval) and read_alerts (alert management).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for retrieving the current watchlist of symbols, but it does not explicitly state when to use this tool versus alternatives (e.g., get_symbol for a single symbol). No exclusions or conditions are provided, leaving some ambiguity about context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_alertsA

READ-ONLY, best-effort read of your visible TradingView alert configs.

Returns {alerts, readable, note}. This tool can NEVER create, modify, arm, or delete an alert — there is no such code path.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It explicitly states it is read-only, best-effort, and cannot create/modify/delete alerts, providing clear behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with key information front-loaded ('READ-ONLY, best-effort'). No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and an existing output schema, the description fully explains what it does, its limitations (best-effort), and what it returns. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist (0 params), so baseline is 4. The description adds value by describing the return structure but doesn't add parameter-level info since there are none.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it reads TradingView alert configs, which is a specific verb and resource. It distinguishes from siblings which are unrelated tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not explicitly state when to use this tool versus alternatives. Siblings are different, so no confusion, but no guidance on context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

screenshot_chartA

Capture ONLY the TradingView window and return a base64 PNG of your chart.

The chart stays on your machine: the file is deleted from disk immediately after encoding, and this tool uploads nothing. Returns {format, base64, bytes, region, symbol, interval, note} or {error, hint}.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries full burden. It discloses that the file is deleted immediately after encoding and that nothing is uploaded, addressing privacy and side effects. It also specifies the return format, giving thorough behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two well-structured sentences. The first sentence front-loads purpose and output; the second adds behavioral transparency and return structure. No superfluous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters, no schema, and output schema explicitly described in the return values, the description is complete. It covers all necessary information for correct invocation and understanding of the tool's effect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is 100%. The description does not need to add parameter information. Baseline for 0 parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool captures the TradingView window and returns a base64 PNG, with a clear verb and resource. It naturally distinguishes from sibling tools (which handle data extraction, symbols, watchlists, alerts) by focusing solely on chart capture.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly indicates this tool is for capturing the TradingView chart window, but does not provide explicit when-not-to-use scenarios or alternative tools. Given the distinct sibling tools, the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv0.1.0
    • First observedextract_indicators
    • First observedget_symbol
    • First observedget_watchlist
    • First observedread_alerts
    • First observedscreenshot_chart

TDQS

A4.4/5.0

Scored across 5 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: extract_indicators computes technical indicators, get_symbol reads the current symbol, get_watchlist lists all open chart symbols, read_alerts reads alert configs, and screenshot_chart captures an image. No overlapping functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (extract_indicators, get_symbol, get_watchlist, read_alerts, screenshot_chart). The pattern is uniform and predictable.

Tool Count5/5

Five tools is well-scoped for a TradingView-focused server. Each tool serves a distinct function without unnecessary bloat or missing essentials for the declared read-only analysis purpose.

Completeness4/5

The tool set covers core needs: reading symbols, watchlist, alerts, indicators, and screenshots. However, a tool for raw historical price data (beyond indicators) or a search tool for symbols is absent, though extract_indicators partially fills that gap.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    A
    maintenance
    MCP server that lets AI agents directly control and interact with the TradingView desktop app via 88 chart-control tools, enabling automated chart reading, Pine Script compilation, strategy optimization, and replay control.
    4
    113
    332 npm
    41
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives Claude direct access to TradersPost webhook trading. Send trade signals, inspect strategy configs, query trade history, and monitor positions.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives Claude the ability to analyze trading setups across IDX, Forex, and Crypto markets without executing trades.
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that gives Claude the ability to watch any desktop window, detecting changes and providing compact image bundles for Claude's vision, enabling real-time screen-watching without API costs.
    -