bidouilles/mcp-tradingview-server
If you are the rightful owner of mcp-tradingview-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
An MCP server that provides access to TradingView technical indicators using the tradingview_scraper library.
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)
- Install uv and Python 3.11+
- Run the setup script:
./setup.sh
- Installs dependencies and creates virtual environment
- Automatically configures Claude Desktop with the MCP server
- Restart Claude Desktop to load the new configuration
Manual Setup
- Install uv and Python 3.11+
uv venv --python 3.11 && source .venv/bin/activate
uv pip install -e .
- 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; returnssuccess
,symbol
,exchange
,timeframe
, and anindicators
mapping.get_specific_indicators(symbol, indicators, exchange="BINANCE", timeframe="1h", export_result=False)
– filters the full snapshot to requested keys (case-insensitive) and echoesrequested_indicators
.get_historical_data(symbol, exchange="BINANCE", timeframe="1h", max_records=100, export_result=False)
– streams OHLCV candles viaStreamer
, returningrecords_collected
,data
, and optionalexport_file
.
Resources & Exports
- Resource
indicators/{symbol}
emits a formatted indicator report usingget_indicators
defaults. - When
export_result=True
, JSON payloads are written toexport/
; 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 intest_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.