Token导航 LogoToken导航TokenDH.com
Tradingview Chart MCP logo
金融服务stdio官方级别未说明来源级核验

Tradingview Chart MCP

MCP Server

MCP服务器提供基于浏览器池优化的TradingView图表图像抓取工具,支持高性能并发请求和多种时间间隔配置。

工具数

2

提示词数

0

GitHub Stars

93

资源数

0
PythonClaude金融数据Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

ertugrul59

提供方

ertugrul59

最后核验

2026/5/17 20:20

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv .venv

详细介绍

MCP服务器-TradingView图表图像抓取器

🚀 现在,通过浏览器池优化,并发性能提高了70-80%!

此MCP服务器提供了基于股票代码和时间间隔获取TradingView图表图像的工具,并具有高级浏览器池,以实现最大的并发性能。

Demo — AI analyzing a BTCUSDT daily chart via MCP

🔥 性能优化

浏览器池技术

  • 生产版本:用途 main_optimized.py 通过浏览器池实现最大并发性能
  • 性能改进:并发请求速度提高70-80%
  • 并发处理:最多支持4个具有预初始化浏览器实例的同时请求
  • 预期性能:

- 1个请求:~6-8s(基线) - 2个并发:每个约3-4s(快60-70%) - 3个并发:每个约2.5-3.5秒(快70-80%)

版本比较

  • main_optimized.py (生产):浏览器池、并发优化、性能跟踪
  • main.py (遗留):简单的单浏览器方法,用于调试/回退

特性

  • 🚀 优化图表图像工具: 通过浏览器池获取直接图表图像,以实现最大的并发性能
  • 📊 性能统计: 内置性能监控和统计
  • 🔄 浏览器池管理: 预初始化浏览器实例,实现零开销并发请求
  • 🎯 自然语言提示: 使用间隔映射轻松进行图表请求
  • ⚙️ 环境配置: 通过环境变量完全可配置
  • 🔐 TradingView身份验证: 基于会话的安全身份验证
  • 💾 剪贴板捕获: 直接base64图像捕获,性能更快

工具

get_tradingview_chart_image

说明: 获取具有优化并发性能的TradingView图表快照的直接图像URL。

演出 使用浏览器池技术,此优化版本在并发请求方面的性能提高了70-80%。

论据:

  • ticker (str):TradingView股票代码(例如,“BYBIT:BTCUSDT.P”,“NASDAQ:AAPL”)。 必需.
  • interval (str):图表时间间隔(例如,“1”、“5”、“15”、“60”、“240”、“D”、“W”)。 必需.

退货:

  • (str):直接TradingView快照图像URL(例如。, data:image/png;base64,...https://s3.tradingview.com/snapshots/...).

加薪:

  • Error (MCP型):如果刮刀遇到错误。错误代码:

- 400:输入错误(无效的股票代码/区间格式) - 503:刮刀错误(刮刀过程中出现故障) - 500:意外的内部服务器错误

get_performance_stats

说明: 获取优化的TradingView MCP服务器的性能统计数据。

退货:

  • 关于请求性能、基线改进和浏览器池状态的详细指标

输出示例:

🚀 OPTIMIZED TRADINGVIEW MCP SERVER PERFORMANCE STATS
• Total Requests: 12
• Average Time: 3.30s
• Performance Improvement: 70.8%
• Browsers in Pool: 4
• Max Concurrent: 4

提示

  • Get the {interval} chart for {ticker}

- 将常用时间段名称(例如“1分钟”、“5分钟”、”1小时“、”每日“)映射到TradingView代码

  • Show me the daily TradingView chart for {ticker}

- 特别要求提供每日(“D”)图表

  • Fetch TradingView chart image for {ticker} on the {interval} timeframe

- 具有时间框架映射的全面提示

设置

  1. 创建虚拟环境:
   # Navigate to the project directory
   cd tradingview-chart-mcp
   # Create the venv (use python3 if python is not linked)
   python3 -m venv .venv
  1. 激活虚拟环境:

- macOS/Linux:

     source .venv/bin/activate

- Windows(Git Bash/WSL):

     source .venv/Scripts/activate

- Windows(命令提示符):

     .venv\\Scripts\\activate.bat

- Windows(PowerShell):

     .venv\\Scripts\\Activate.ps1

_(注意:您可能需要调整PowerShell执行策略: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser)_

您的终端提示现在应该表明您处于 (.venv).

  1. 安装依赖项(在venv中):
   pip install -r requirements.txt
  1. 配置环境(用于本地测试):

- 复制 .env.example.env. - 填写您的 TRADINGVIEW_SESSION_IDTRADINGVIEW_SESSION_ID_SIGN.env 文件。您可以在登录TradingView后从浏览器的Cookie中获取这些信息。 - 这 .env 当直接运行服务器时使用文件(例如。, python main.py)用于本地测试。 - 调整可选刮刀设置(MCP_SCRAPER_HEADLESS等等) .env 如果需要进行本地跑步。

  1. 确保ChromeDriver: 确保 chromedriver 已安装并可在系统的PATH中访问,或配置 tview-scraper.py 因此,如果它允许指定路径。

运行服务器

生产(优化)

python main_optimized.py

传统(简单)

python main.py

命令行选项

# HTTP transport with custom port
python main_optimized.py --transport streamable-http --port 8003

# Enable authentication (default for TradingView)
python main_optimized.py --auth

# Adjust concurrency
python main_optimized.py --max-concurrent 6

# Disable browser pooling (fallback to traditional)
python main_optimized.py --disable-pooling

🧪 性能测试

代理风格测试

使用与生产代理相同的方法测试服务器:

cd tests/

# Sequential performance test
python test_mcp_agent_style.py --runs 5 --ticker BYBIT:BTCUSDT.P --interval 240

# Concurrent performance test
python test_mcp_agent_style.py --concurrent 3 --ticker BYBIT:BTCUSDT.P --interval 240

# Test different symbols and timeframes
python test_mcp_agent_style.py --concurrent 4 --ticker NASDAQ:AAPL --interval 15
python test_mcp_agent_style.py --concurrent 2 --ticker BYBIT:ETHUSDT.P --interval D

预期结果

  • 顺序的:每个请求约6-8s(基线)
  • 并发(3x):每个请求约2.5-3.5秒(改进70-80%)
  • 成功率:负载下100%可靠性
  • 吞吐量:高效处理多达4个并发请求

🔧 技术细节

浏览器池架构

  • 预初始化浏览器:4个浏览器实例可立即使用
  • 线程安全池:具有适当锁定的并发访问
  • 异步信号量:最佳请求限制
  • 性能跟踪:实时统计和监控
  • 优雅的清理:适当的浏览器生命周期管理

保存快捷方式功能

MCP_SCRAPER_USE_SAVE_SHORTCUT 该功能允许您将图表图像作为base64数据URL直接捕获到剪贴板:

优点:

  • 更快的性能:不需要HTTP请求
  • 可靠的:不依赖TradingView的CDN
  • 离线能力:加载图表后即可工作
  • 直接集成:立即使用Base64数据URL

配置:

# Enable clipboard image capture (DEFAULT)
MCP_SCRAPER_USE_SAVE_SHORTCUT=True

# Disable and use traditional screenshot links
MCP_SCRAPER_USE_SAVE_SHORTCUT=False

使用示例

可用工具:

  • get_tradingview_chart_image(ticker: str, interval: str):通过浏览器池优化图表获取

示例提示:

  • “获取纳斯达克股票代码AAPL的15分钟图表”
  • “显示BYBIT:BTCUSDT.P的日线图”
  • “获取COINBASE:ETHUSD在60时间范围内的交易视图图表图像”

停用虚拟环境

完成后:

deactivate

🔄 后备选项

如果您在优化版本中遇到问题:

  1. 禁用浏览器池:
   python main_optimized.py --disable-pooling
  1. 使用旧版本:
   python main.py
  1. 调试模式:
   python main_optimized.py --log-level DEBUG

📊 性能监控

优化后的服务器内置了性能监控功能:

  • 请求成功率
  • 平均响应时间
  • 绩效改进指标
  • 浏览器池利用率
  • 并发请求处理统计

通过以下方式访问这些指标 get_performance_stats 工具或通过服务器日志。

🔌 与MCP客户端(克劳德桌面/光标)一起使用

此服务器支持两种提供配置的方式:

  1. 经由 .env 文件(用于本地测试): 跑步时 python main.py 服务器将直接从加载凭据和设置 .env 项目目录中的文件。
  2. 通过客户端环境变量(建议集成): 当由MCP客户端(如Claude/Cursor)运行时,您应该配置客户端以直接注入所需的环境变量。 这些将覆盖在 .env 文件。

克劳德桌面

  1. 打开您的Claude Desktop配置文件:

- 窗户: %APPDATA%\\Claude\\claude_desktop_config.json - macOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json

  1. 在中添加或合并以下内容 mcpServers 对象。在中提供您的凭据 env 块:
   {
     "mcpServers": {
       "tradingview-chart-mcp": {
         "command": "/absolute/path/to/your/tradingview-chart-mcp/.venv/bin/python3",
         "args": ["/absolute/path/to/your/tradingview-chart-mcp/main.py"],
         "env": {
           "TRADINGVIEW_SESSION_ID": "YOUR_SESSION_ID_HERE",
           "TRADINGVIEW_SESSION_ID_SIGN": "YOUR_SESSION_ID_SIGN_HERE"
           // Optional: Add MCP_SCRAPER_* variables here too if needed
           // "MCP_SCRAPER_HEADLESS": "False"
         }
       }
       // ... other servers if any ...
     }
   }
  1. 替换占位符路径(command, args)你的实际绝对路径。
  1. 替换 YOUR_SESSION_ID_HEREYOUR_SESSION_ID_SIGN_HERE 使用您的实际TradingView凭据。
  1. 重新启动克劳德桌面。

光标

  1. 首选 Settings -> Cursor Settings -> MCP -> Edit User MCP Config (~/.cursor/mcp.json).
  1. 在中添加或合并以下内容 mcpServers 对象。在中提供您的凭据 env 块:
   {
     "mcpServers": {
       "tradingview-chart-mcp": {
         "command": "/absolute/path/to/your/tradingview-chart-mcp/.venv/bin/python3",
         "args": ["/absolute/path/to/your/tradingview-chart-mcp/main.py"],
         "env": {
           "TRADINGVIEW_SESSION_ID": "YOUR_SESSION_ID_HERE",
           "TRADINGVIEW_SESSION_ID_SIGN": "YOUR_SESSION_ID_SIGN_HERE"
           // Optional: Add MCP_SCRAPER_* variables here too if needed
           // "MCP_SCRAPER_HEADLESS": "False"
         }
       }
       // ... other servers if any ...
     }
   }
  1. 替换占位符路径(command, args)你的实际绝对路径。
  1. 替换 YOUR_SESSION_ID_HEREYOUR_SESSION_ID_SIGN_HERE 使用您的实际TradingView凭据。
  1. 重新启动游标。

通过Smithery安装

通过以下方式自动安装克劳德桌面版TradingView图表图像抓取器 史密瑟里:

npx -y @smithery/cli install @ertugrul59/tradingview-chart-mcp --client claude

配置

环境变量

可以设置以下环境变量来配置刮刀:

  • TRADINGVIEW_SESSION_ID:您的TradingView会话ID(必填)
  • TRADINGVIEW_SESSION_ID_SIGN:您的TradingView会话ID签名(必填)
  • MCP_SCRAPER_HEADLESS:在无头模式下运行浏览器(默认: True)
  • MCP_SCRAPER_WINDOW_WIDTH:浏览器窗口宽度(默认值: 1400)
  • MCP_SCRAPER_WINDOW_HEIGHT:浏览器窗口高度(默认值: 1400)
  • MCP_SCRAPER_USE_SAVE_SHORTCUT:使用剪贴板图像捕获而不是屏幕截图链接(默认值: True)
  • MCP_SCRAPER_CHART_PAGE_ID:自定义图表页面ID(可选)

保存快捷方式功能

MCP_SCRAPER_USE_SAVE_SHORTCUT 该功能允许您将图表图像作为base64数据URL直接捕获到剪贴板,而不是获取屏幕截图链接。这消除了从URL下载图像的需要。

优点:

  • 更快的图表捕获(无需HTTP请求)
  • 更可靠(不依赖于TradingView的CDN)
  • 加载图表后脱机工作
  • 直接使用base64数据URL

它是如何工作的:

  • 启用时(True):用途 Shift+Ctrl+S (或 Shift+Cmd+S 在Mac上)直接将图表图像捕获到剪贴板
  • 禁用时(False):使用传统 Alt+S 获取截图链接,然后转换为图像URL

配置:

# Enable clipboard image capture (DEFAULT)
MCP_SCRAPER_USE_SAVE_SHORTCUT=True

# Disable and use traditional screenshot links
MCP_SCRAPER_USE_SAVE_SHORTCUT=False

目录标签

目录标签

PythonClaude金融数据TradingView图表抓取本地部署浏览器池优化金融数据分析并发性能优化图像捕获工具

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosessionlocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP