这是一个基于Model Context Protocol (MCP) 的服务器实现,旨在为大型语言模型(LLM)客户端提供获取TradingView图表图片的能力。它通过模拟浏览器行为抓取TradingView图表并生成可直接访问的图片链接。
项目简介
本项目实现了一个MCP服务器,通过与MCP客户端(如某些支持MCP的LLM应用)通信,响应请求获取指定股票、加密货币或其他金融资产在TradingView上的图表快照。
主要功能点
- 获取图表图片: 根据用户指定的资产代码(Ticker,如'NASDAQ:AAPL')和时间周期(Interval,如'15'分钟、'D'日线),自动访问TradingView生成图表。
- 生成图片链接: 将抓取的图表转换为可直接嵌入或显示的图片URL。
- MCP协议支持: 作为标准的MCP服务器运行,通过JSON-RPC与兼容的LLM客户端交互,提供工具调用和Prompt模板。
安装步骤
- 克隆仓库: 将项目代码下载到本地计算机。
- 创建并激活虚拟环境: 在项目目录下创建一个Python虚拟环境并激活。这是为了隔离项目依赖。
- 安装依赖: 确保在已激活的虚拟环境中,使用'pip install -r requirements.txt'安装所有必需的库(如selenium, fastmcp等)。
- 配置TradingView会话信息: 从您的浏览器中登录TradingView后,获取您的'sessionid'和'sessionid_sign'这两个cookie值。
- 配置MCP服务器环境变量: 将获取到的TradingView会话信息设置为环境变量'TRADINGVIEW_SESSION_ID'和'TRADINGVIEW_SESSION_ID_SIGN'。推荐在MCP客户端的配置中直接设置这些环境变量,它们会覆盖项目'.env'文件中的同名设置。
服务器配置 (供MCP客户端使用)
要让MCP客户端连接并使用此服务器,您需要在客户端的MCP配置中添加此服务器的信息。配置通常是一个JSON对象,包含以下关键信息:
- 服务器名称 (server name): 'TradingView Chart Image' (这是服务器在代码中注册的名称)
- 启动命令 (command): 您的系统中用于运行此服务器的Python解释器路径。通常是虚拟环境内的Python可执行文件路径,例如 '/absolute/path/to/your/tradingview-chart-mcp/.venv/bin/python3' (macOS/Linux) 或 'C:\absolute\path\to\your\tradingview-chart-mcp.venv\Scripts\python.exe' (Windows)。
- 启动参数 (args): 传递给启动命令的参数列表。第一个参数应是服务器的主文件路径,即 'main.py' 的绝对路径,例如 '/absolute/path/to/your/tradingview-chart-mcp/main.py'。
- 环境变量 (env): 一个JSON对象,用于设置服务器运行所需的环境变量。至少需要包含 'TRADINGVIEW_SESSION_ID' 和 'TRADINGVIEW_SESSION_ID_SIGN',值为您获取到的TradingView会话信息。您也可以在此处设置其他可选配置,如 'MCP_SCRAPER_HEADLESS' ('"True"' 或 '"False"') 控制是否无头模式运行浏览器。
请参考您的具体MCP客户端(如Claude Desktop, Cursor等)的文档,找到MCP服务器配置入口,并填入上述信息。
基本使用方法
配置完成后,当您在LLM客户端中输入与图表相关的查询时,客户端应能识别并调用此MCP服务器提供的工具。
- 可用工具: 'get_tradingview_chart_image(ticker: str, interval: str)'
- 示例用户查询 (Prompt):
- "Get the 15 minute chart for NASDAQ:AAPL"
- "Show me the daily chart for BYBIT:BTCUSDT.P"
- "Fetch TradingView chart image for COINBASE:ETHUSD on the 60 timeframe"
服务器接收到请求后,会执行抓取过程,并将获得的图表图片链接返回给LLM客户端,LLM客户端通常会将该链接展示给您。
信息
分类
网页与API