tradingview-mcp-review
tradingview-mcp-review
一个仅用于审核的衍生产品,源自 tradesdontlie/tradingview-mcp:提供 9 个 MCP 工具,用于在 127.0.0.1:9222 上通过 Chrome DevTools 协议,对照实时 TradingView 桌面图表审核交易记录。
这不是通用桥接器。上游项目暴露了 84 个工具,包括 Pine Script 编辑、警报、自选列表、回放交易、UI 自动化、任意 JS 评估、进程控制和自动更新。此版本在代码层面移除了所有这些功能,只保留交易记录审核所需的内容:导航到交易发生时的图表位置、读取价格上下文、标记入场/出场点位、截图。
与 TradingView Inc. 或 Anthropic, PBC 无关联,未经其认可或授权。以编程方式与 TradingView 交互可能违反 TradingView 的服务条款——您需自行确保使用方式合规。上游项目的免责声明在此完全适用。
安全边界(按设计)
仅限本地主机。 CDP 端点硬绑定到
127.0.0.1:9222——无环境变量或配置覆盖。无高权限原语。 无自动更新、无进程启动/终止、无任意 JS 评估、无 Pine 编辑器、无警报/自选列表/回放/订单功能。已在源代码层面删除(文件已移除),不仅仅是取消注册。
无任意输入。 无调用者控制的文件路径(截图保存到
generated/screenshots/,使用程序生成的名称),时间周期为枚举类型,代码长度有限制。布局更改被视为可能持久化。 更改代码/时间周期可能弄脏已保存的 TradingView 布局(如果布局自动保存开启,则会持久化)。请在专用的草稿布局上操作。
仅本地健康检查。 移除了上游 GitHub 更新检查;服务器除本地调试端口外不发出任何网络请求。
CI 强制检查。
tests/tool_surface.test.js断言工具列表恰好等于 7 个工具的允许列表,并且命名的高级上游能力不存在,因此上游合并无法静默地重新引入它们。
Related MCP server: TradingView MCP Jackson
7 个工具
工具 | 审核中的用途 |
| 验证本地 CDP 连接和当前图表 |
| 读取代码 / 时间周期 / 指标 |
| 切换到交易的工具 |
| 切换到交易的分辨率(枚举) |
| 跳转/缩放到交易的时间窗口(翻页到更早的历史) |
| 价格上下文。传递 |
| 截图保存到 |
图表注释(draw_shape / draw_clear)未包含在此版本中。安全地移除注释需要证明哪些绘图是由本次会话创建的;在 TradingView 布局切换过程中,无法可靠地建立所有权,而无法证明所有权的清除操作会删除用户自己的绘图。该功能将在拥有可证明的合约后返回,而不是附带警告。
预期架构:您的交易记录是真相来源 → 分析在本地进行 → TradingView 调试实例仅提供视觉上下文。
设置
要求:TradingView Desktop(含您的订阅)、Node.js 18+。
git clone https://github.com/F-e-u-e-r/tradingview-mcp-review.git
cd tradingview-mcp-review
npm ci --ignore-scripts自行启动 TradingView Desktop 并开启调试端口(服务器故意无法为您执行此操作):
./scripts/launch_tv_debug_mac.sh # macOS
# or manually, any platform:
/path/to/TradingView --remote-debugging-port=9222仅在审核会话期间启用调试端口——当它开启时,任何本地进程都可以控制该 TradingView 实例。完成后正常关闭并重新启动。请使用 TradingView 桌面版,不要使用带有远程调试的 Chrome 标签页(那会暴露您的整个浏览器配置文件)。
添加到您的 MCP 客户端配置(例如项目中的 .mcp.json):
{
"mcpServers": {
"tradingview-review": {
"command": "node",
"args": ["/path/to/tradingview-mcp-review/src/server.js"]
}
}
}门控
npm run lint # eslint no-undef guard (catches unfinished refactors)
npm test # tool-surface allowlist/denylist gate + sanitization + unit tests (all offline)来源
从经过安全审查的提交点分叉自上游仓库;此后每一项更改均在 UPSTREAM.md 中列出,该文件也定义了拉取上游更新时的重新审查流程。许可证:MIT(参见 LICENSE,版权归上游作者所有)。
Available Tools
7 toolscapture_screenshotA
Take a screenshot of the TradingView chart. Saves to the fixed generated/screenshots/ directory with a program-generated name and returns the path. No path or name input is accepted.
| Name | Required | Description | Default |
|---|---|---|---|
| region | No | Capture region (default full) | |
| wait_for_render | No | Wait for the chart canvas to stabilize first — use after symbol/timeframe/range changes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits. It does mention the fixed output directory and that no path/name input is accepted, which adds transparency. However, it does not clarify side effects (e.g., file creation, potential overwrites) or performance implications, leaving gaps given the absence of annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, with the main action stated first. Every sentence earns its place: it covers functionality, output location, and a parameter hint. It is not overly verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (2 parameters, no output schema, no annotations), the description is quite complete: it explains the output path and parameter usage. The lack of details about return format or error handling is acceptable since no output schema exists, but the description adequately covers the essential usage aspects.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already has 100% coverage with descriptions for both parameters. The description adds value by explaining the 'wait_for_render' parameter's purpose in the context of chart changes, which goes beyond the schema's basic description. It also clarifies the region role implicitly through 'Capture region (default full)'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states what the tool does: 'Take a screenshot of the TradingView chart.' It also specifies the output behavior ('Saves to the fixed generated/screenshots/ directory... and returns the path') and distinguishes it from sibling tools by focusing solely on screenshot capture, unlike health checks or state retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (to capture a screenshot) and includes a specific usage hint for the 'wait_for_render' parameter ('use after symbol/timeframe/range changes'). However, it does not explicitly state when NOT to use it or mention alternative tools, but the sibling list makes the purpose distinct enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chart_get_stateA
Get current chart state (symbol, timeframe, chart type, indicators)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It correctly signals a read operation and names what is returned, but does not disclose prerequisites (e.g., whether a chart/tab must be open) or whether the indicators list is full details or just names. Adequate for a zero-parameter read, but not riich 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with zero waste: the verb and resource come first, and the parenthetical enumerates the return contents economically. Every word carries meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter getter with no output schema, the description gives a usable summary of what comes back. The main gaps are the lack of an explicit return shape (a booleans? strings? a structure?) and any prerequisite about an active chart, but the complexity is low enough that this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, which is the baseline-4 case per the rubric. There is nothing for the description to explain, and it correctly avoids inventing param information.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Get') and resource ('current chart state') and enumerates the exact contents: symbol, timeframe, chart type, indicators. This clearly distinguishes it from the chart_set_* siblings (mutators) and chart_get_visible_range (a narrower getter for a different aspect of the chart).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the 'Get' verb and the listed state components, but the description never explicitly says when to choose this over related getters like symbol_info, tv_ui_state, or chart_get_visible_range. There are no exclusions or alternative routing, so it sts at implied usage rather than explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chart_set_symbolC
Change the chart symbol
| Name | Required | Description | Default |
|---|---|---|---|
| symbol | Yes | Symbol to set (e.g., BTCUSD, AAPL, ES1!, NYMEX:CL1!) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavioral traits. It does not state whether the change is persistent, if it triggers any side effects (e.g., resetting timeframes), or if it requires specific permissions. The agent is left guessing about the impact of this mutation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise. However, it could be slightly more informative without losing brevity (e.g., noting the chart context). It is front-loaded with the action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description provides minimal context. It does not explain success/failure indicators, whether the chart is expected to exist, or how this interacts with sibling tools like chart_set_timeframe. The agent lacks sufficient information to use it reliably.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with a single well-documented parameter (symbol includes examples). The description adds no extra meaning beyond the schema, so a baseline of 3 is appropriate given the low parameter count and complete schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Change the chart symbol', which is a specific verb and resource. It distinguishes itself from siblings like chart_set_timeframe and chart_set_visible_range by focusing on the symbol aspect of chart configuration.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention prerequisites (e.g., a chart must be open), nor does it exclude usage in certain scenarios. The description is minimal and lacks context for the AI agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chart_set_timeframeC
Change the chart timeframe/resolution
| Name | Required | Description | Default |
|---|---|---|---|
| timeframe | Yes | Timeframe: 1, 3, 5, 15, 30, 45, 60, 120, 240 (minutes), D, W, M |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It fails to indicate whether this is a read or write operation, whether it affects other chart state, or if there are side effects like resetting visible range. The description adds minimal behavioral context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is efficient and front-loaded with the action, though it could be slightly more descriptive without losing brevity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (1 param, no output schema), the description is somewhat adequate but lacks critical context such as whether the change is reversible, what the visual feedback is, or if it requires a chart to be already set (chart_set_symbol). The sibling tools suggest a trading platform context, but missing usage coordination hurts completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and 1 parameter has enum values, so the baseline is 3. The description does not add any meaning beyond what the schema already provides, but since coverage is complete, no deduction is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Change' and the resource 'chart timeframe/resolution', which is specific enough to distinguish it from siblings like chart_set_symbol or chart_set_visible_range. It does not explicitly distinguish from data_get_ohlcv, but the resource is distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no explicit guidance on when to use this tool vs alternatives, such as when to change timeframe vs getting the current state. Among siblings, chart_get_state and data_get_ohlcv are related, but no exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
chart_set_visible_rangeA
Zoom the chart to a specific date range (unix timestamps in seconds). Pages in older history as needed, so this also serves as jump-to-date for reviewing a past trade: pass a window around the trade time.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | End of range (unix seconds, must be greater than from) | |
| from | Yes | Start of range (unix seconds) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses a key behavioral trait: 'Pages in older history as needed, so this also serves as jump-to-date.' This is valuable. However, it does not mention side effects (e.g., whether the chart range is permanently changed), error handling for invalid ranges, or any required state (e.g., chart must be loaded). The disclosure is partial but non-trivial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action, and wastes no words. The first sentence states the core functionality, and the second adds a practical use case and behavioral insight. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema, no annotations), the description provides sufficient context: purpose, input format, a key behavior (paging), and a use case. It does not mention prerequisites (e.g., chart must be active) or return values, but those are not critical given the tool's nature. The description is complete enough for an agent to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% — both parameters already have clear descriptions in the schema (e.g., 'unix seconds'). The tool description only repeats the unit and adds a behavioral note about paging history, which does not add semantic meaning to the parameters themselves. The description does not improve upon the schema's parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's primary action: 'Zoom the chart to a specific date range (unix timestamps in seconds).' It also provides a concrete use case (reviewing a past trade). While it doesn't explicitly distinguish from sibling tools like chart_set_timeframe, the verb 'zoom' and the focus on a date range make its purpose distinct enough.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by giving an example: 'pass a window around the trade time' for reviewing trades. However, it does not provide explicit guidance on when to use this tool versus alternatives (e.g., chart_set_timeframe for setting intervals) or when not to use it. The context is implied but not formalized.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
data_get_ohlcvA
Get OHLCV bar data from the chart. TWO MODES: pass from+to (unix seconds) to get bars from THAT window — required when reviewing a past trade, because without it you get the newest bars regardless of where the chart is navigated. Omit both for the newest count bars. A window with no loaded bars is refused rather than answered with the latest data; call chart_set_visible_range for that window first. Defaults to summary=true (compact stats + last 5 bars).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Window end (unix seconds, greater than `from`). Must be given together with `from`. OMIT it for the latest-bars mode — do not send null. | |
| from | No | Window start (unix seconds). Must be given together with `to`. OMIT it for the latest-bars mode — do not send null. | |
| count | No | Number of bars to consider (max 500, default 100) | |
| summary | No | Summary stats instead of all bars (default true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reveals important behavioral traits: it refuses a window with no loaded bars, defaults to summary=true (compact stats + last 5 bars). With no annotations provided, the description carries the full burden for behavioral disclosure. However, it does not mention authentication requirements, rate limits, or the full return format, which would be helpful for a data retrieval tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is moderately brief but front-loads the core action and modes. Each sentence adds distinct value: mode explanation, use-case guidance, error handling, and defaults. Subtracting one point for slightly dense structure that could be broken into clearer lists for the two modes.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations and no output schema, the description covers the key aspects: what the tool does, its two modes, when to use each, default behavior, and a usage pitfall. It is complete enough for an agent to select and invoke correctly. However, it could mention whether the data is for the active symbol or pass a symbol parameter, and what the 'stats' in summary include.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description adds context about the modes (from+to vs omit both) and the default for summary, which maps to the parameters. However, it does not explain the meaning of 'summary' beyond contrasting 'compact stats + last 5 bars' vs 'all bars', and could clarify what 'stats' includes. The description also does not compensate for the lack of parameter enum details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get OHLCV bar data from the chart', specifying the verb (get), resource (OHLCV bar data), and source (chart). It distinguishes two modes (from+to vs omit both) and explains when each is appropriate, helping differentiate from sibling tools like chart_set_visible_range or chart_get_state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use each mode: 'pass from+to ... when reviewing a past trade' and 'Omit both for the newest count bars.' It also warns against using the wrong mode: 'because without it you get the newest bars regardless of where the chart is navigated.' Additionally, it advises to call chart_set_visible_range for a window with no loaded bars instead of receiving a refusal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tv_health_checkA
Check the local CDP connection (127.0.0.1:9222) to TradingView Desktop and return current chart state. Local-only: performs no external network requests.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose all behavioral traits. It specifies the local address (127.0.0.1:9222) and network behavior (no external requests). However, it does not describe failure modes (e.g., connection refused) or the exact format of 'current chart state', leaving some behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words. It front-loads the primary purpose and connection details in the first sentence, then adds constraints in the second. Every sentence serves a distinct purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple, parameterless tool, the description covers the core action and constraints. However, it lacks details on the return format of 'current chart state' and does not mention error behavior, which would improve completeness given no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so the schema already defines all parameters. The description adds no parameter-level meaning, but the baseline according to rules is 3. The tool has no parameters, so no further semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs ('Check') and identifies the resource ('local CDP connection to TradingView Desktop', 'current chart state'). It clearly distinguishes from siblings like chart_get_state by emphasizing the connection check aspect in the tool name and description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool is 'Local-only' and 'performs no external network requests', providing context for when to use it. However, it does not explicitly mention when to avoid it or suggest alternative tools like chart_get_state for just reading chart state without a health check.
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.
7 tool updates
v0.1.0- First observed
capture_screenshot - First observed
chart_get_state - First observed
chart_set_symbol - First observed
chart_set_timeframe - First observed
chart_set_visible_range - First observed
data_get_ohlcv - First observed
tv_health_check
TDQS
Scored across 7 tools
Each tool targets a distinct action: health check, state retrieval, setting symbol/timeframe/visible range, getting OHLCV data, and screenshots. No functional overlap.
Naming mixes prefixes: 'tv_' for health check, 'chart_' for state and settings, 'data_' for OHLCV, and no prefix for screenshot. While still readable, the pattern is inconsistent.
Seven tools are well-scoped for chart review and navigation, fitting the recommended 3-15 range. Each tool serves a clear purpose without redundancy.
Core trade review workflows are covered (navigate to date, get historical OHLCV, capture screenshot). A minor gap is the absence of a tool to change chart type (e.g., candlestick to line), which could be useful but is not critical.
Maintenance
Related MCP Connectors
- FensoryOAuthcom.fensory
Trading MCP server for AI agents, with live market data, account reads and controlled execution.
MCP server with quote and live cryptocurrency price tools, local and cloud-deployed transports.
Hosted MCP server for MT4 and MT5: read accounts, prices and candles, and place or close orders.
MCP server for OpenMM — exposes market data, account, trading, and strategy tools to AI agents
Related MCP Servers
- AlicenseAqualityCmaintenanceA type-safe MCP server that enables AI agents to control TradingView Desktop via Chrome DevTools Protocol, allowing chart state reading, symbol/timeframe changes, and OHLCV data fetching.1145 npm1MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server that connects to TradingView Desktop via Chrome DevTools Protocol, enabling chart control, Pine Script development, and a morning brief workflow with AI-driven analysis.45 npm-
- FlicenseBqualityDmaintenanceA TradingView-style market research and charting MCP server that provides tools for market data, indicators, watchlists, and local HTML chart rendering without scraping TradingView.9-
- AlicenseNot gradedqualityAmaintenanceA local MCP server that connects TradingView Desktop to AI assistants via Chrome DevTools Protocol, enabling Pine Script development, multi-timeframe analysis, and Wyckoff scanning with a rules engine.44 npm1MIT