交易数据服务

通过tradingview_scraper库提供TradingView技术指标和OHLCV数据的FastMCP v2服务器,适用于金融数据分析和交易系统集成。

  • by bidouilles
  • Python
  • 本地部署
  • 25 星标
  • 更新于
在 GitHub 查看 bidouilles/mcp-tradingview-server

使用说明

MCP TradingView 服务器

FastMCP v2服务器,通过该服务器提供TradingView技术指标和OHLCV(开盘价、最高价、最低价、收盘价、成交量)数据 tradingview_scraper 图书馆。那 mcp-tradingview 控制台条目可启动 Claude Desktop 或任何支持 MCP(管理控制协议)的客户端。

快速入门

自动设置(推荐)

  1. 安装 紫外线 以及 Python 3.11+
  2. 运行安装脚本: ./setup.sh
    • 安装依赖项并创建虚拟环境
    • 自动将Claude Desktop与MCP服务器进行配置
  3. 重启 Claude 桌面以加载新配置

手动设置

  1. 安装 紫外线 以及 Python 3.11+
  2. uv venv --python 3.11 && source .venv/bin/activate
  3. uv pip install -e .
  4. 配置Claude桌面版(见下文)

跑步

  • Stdio(Claude默认): uv run mcp-tradingview
  • SSE服务: uv run mcp-tradingview --transport sse --host 0.0.0.0 --port 8000
  • HTTP服务: uv run mcp-tradingview --transport http --host 0.0.0.0 --port 8000 --path /mcp

FASTMCP_HOST, FASTMCP_PORT,以及 FASTMCP_PATH 当存在时,环境变量会覆盖绑定设置。

工具

  • get_indicators(symbol, exchange="BINANCE", timeframe="1h", all_indicators=True, export_result=False) – 完整的TradingView指标快照;收益 success, symbol, exchange, timeframe,以及一个 indicators 映射。
  • get_specific_indicators(symbol, indicators, exchange="BINANCE", timeframe="1h", export_result=False) – 过滤整个快照以提取请求的键(不区分大小写)并回显结果 requested_indicators。
  • get_historical_data(symbol, exchange="BINANCE", timeframe="1h", max_records=100, export_result=False) – 通过……传输OHLCV蜡烛图数据 Streamer,返回 records_collected, data,以及可选的 export_file。

资源与出口

  • 资源 indicators/{symbol} 使用(某种工具或方法)生成格式化的指标报告 get_indicators 默认值。
  • 当 export_result=TrueJSON有效载荷被写入到 export/; 将大型存档排除在版本控制之外。

克劳德桌面版

将服务器添加到 claude_desktop_config.json以下是推荐的配置:

使用Claude Code CLI(最简单的方法)

claude mcp add tradingview -- uvx --from /absolute/path/to/mcp-tradingview-server mcp-tradingview

或者使用UV运行:

claude mcp add tradingview -- uv run mcp-tradingview --cwd /absolute/path/to/mcp-tradingview-server

手动配置

标准I/O传输(推荐)

{
  "mcpServers": {
    "tradingview": {
      "command": "uvx",
      "args": ["--from", "/absolute/path/to/mcp-tradingview-server", "mcp-tradingview"]
    }
  }
}

使用紫外线运行的替代方案:

{
  "mcpServers": {
    "tradingview": {
      "command": "uv",
      "args": ["run", "mcp-tradingview"],
      "cwd": "/absolute/path/to/mcp-tradingview-server"
    }
  }
}

HTTP传输

{
  "mcpServers": {
    "tradingview": {
      "command": "uv",
      "args": ["run", "mcp-tradingview", "--transport", "http", "--host", "0.0.0.0", "--port", "8001", "--path", "/mcp"],
      "cwd": "/absolute/path/to/mcp-tradingview-server"
    }
  }
}

更新配置后重启Claude桌面版。附带的 CLAUDE.md 为模型在聊天时提供额外的参考指导。

发展

  • uv run pytest 执行异步测试套件 test_server.py。
  • 使用 logging.getLogger(__name__) 用于诊断;避免打印敏感信息。
  • 参考 export/ 在更新测试或文档时,针对已捕获的固定装置(或测试用例)。

许可证

此项目仅作为教育和研究之用,按原样提供。