icon for mcp server

TradingView

STDIO

MCP server providing TradingView technical indicators and OHLCV market data integration

MCP TradingView Server

FastMCP v2 server that exposes TradingView technical indicators and OHLCV data through the tradingview_scraper library. The mcp-tradingview console entry powers Claude Desktop or any MCP-aware client.

Quick Start

Automated Setup (Recommended)

  1. Install uv and Python 3.11+
  2. Run the setup script: ./setup.sh
    • Installs dependencies and creates virtual environment
    • Automatically configures Claude Desktop with the MCP server
  3. Restart Claude Desktop to load the new configuration

Manual Setup

  1. Install uv and Python 3.11+
  2. uv venv --python 3.11 && source .venv/bin/activate
  3. uv pip install -e .
  4. Configure Claude Desktop (see below)

Running

  • Stdio (Claude default): uv run mcp-tradingview
  • SSE service: uv run mcp-tradingview --transport sse --host 0.0.0.0 --port 8000
  • HTTP service: uv run mcp-tradingview --transport http --host 0.0.0.0 --port 8000 --path /mcp

FASTMCP_HOST, FASTMCP_PORT, and FASTMCP_PATH environment variables override the bind settings when present.

Tools

  • get_indicators(symbol, exchange="BINANCE", timeframe="1h", all_indicators=True, export_result=False) – full TradingView indicator snapshot; returns success, symbol, exchange, timeframe, and an indicators mapping.
  • get_specific_indicators(symbol, indicators, exchange="BINANCE", timeframe="1h", export_result=False) – filters the full snapshot to requested keys (case-insensitive) and echoes requested_indicators.
  • get_historical_data(symbol, exchange="BINANCE", timeframe="1h", max_records=100, export_result=False) – streams OHLCV candles via Streamer, returning records_collected, data, and optional export_file.

Resources & Exports

  • Resource indicators/{symbol} emits a formatted indicator report using get_indicators defaults.
  • When export_result=True, JSON payloads are written to export/; keep large archives out of version control.

Claude Desktop

Add the server to claude_desktop_config.json. Here are the recommended configurations:

Using Claude Code CLI (Easiest)

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

Or with uv run:

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

Manual Configuration

Stdio Transport (Recommended)

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

Alternative with uv run:

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

HTTP Transport

{ "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" } } }

Restart Claude Desktop after updating the configuration. The bundled CLAUDE.md provides extra guidance the model can reference while chatting.

Development

  • uv run pytest executes the asynchronous test suite in test_server.py.
  • Use logging.getLogger(__name__) for diagnostics; avoid printing secrets.
  • Refer to export/ for captured fixtures when updating tests or documentation.

License

This project is provided as-is for educational and research purposes.

Be the First to Experience MCP Now