Tradingview Chart Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Tradingview Chart Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
🚀 Now with Browser Pooling Optimization for 70-80% Better Concurrent Performance!
This MCP server provides tools to fetch TradingView chart images based on ticker and interval with advanced browser pooling for maximum concurrent performance.
main_optimized.py with browser pooling for maximum concurrent performanceget_tradingview_chart_imageDescription: Fetches the direct image URL for a TradingView chart snapshot with optimized concurrent performance.
Performance: This optimized version achieves 70-80% better performance for concurrent requests using browser pooling technology.
Arguments:
ticker (str): The TradingView ticker symbol (e.g., "BYBIT:BTCUSDT.P", "NASDAQ:AAPL"). Required.interval (str): The chart time interval (e.g., '1', '5', '15', '60', '240', 'D', 'W'). Required.Returns:
data:image/png;base64,... or https://s3.tradingview.com/snapshots/...).Raises:
Error (MCP type): If the scraper encounters an error. Error codes:400: Input error (invalid ticker/interval format)503: Scraper error (failure during the scraping process)500: Unexpected internal server errorget_performance_statsDescription: Get performance statistics for the optimized TradingView MCP server.
Returns:
Example Output:
🚀 OPTIMIZED TRADINGVIEW MCP SERVER PERFORMANCE STATS
• Total Requests: 12
• Average Time: 3.30s
• Performance Improvement: 70.8%
• Browsers in Pool: 4
• Max Concurrent: 4Get the {interval} chart for {ticker}Show me the daily TradingView chart for {ticker}Fetch TradingView chart image for {ticker} on the {interval} timeframe # Navigate to the project directory
cd tradingview-chart-mcp
# Create the venv (use python3 if python is not linked)
python3 -m venv .venv source .venv/bin/activate source .venv/Scripts/activate .venv\\Scripts\\activate.bat .venv\\Scripts\\Activate.ps1_(Note: You might need to adjust PowerShell execution policy: Set-ExecutionPolicy RemoteSigned -Scope CurrentUser)_
Your terminal prompt should now indicate you are in the (.venv).
pip install -r requirements.txt.env.example to .env.TRADINGVIEW_SESSION_ID and TRADINGVIEW_SESSION_ID_SIGN in the .env file. You can obtain these from your browser's cookies after logging into TradingView..env file is used when running the server directly (e.g., python main.py) for local testing.MCP_SCRAPER_HEADLESS, etc.) in .env if needed for local runs.chromedriver is installed and accessible in your system's PATH, or configure the tview-scraper.py accordingly if it allows specifying a path.python main_optimized.pypython 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-poolingTest the server using the same approach as the production agent:
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 DThe MCP_SCRAPER_USE_SAVE_SHORTCUT feature allows you to capture chart images directly to the clipboard as base64 data URLs:
Benefits:
Configuration:
# Enable clipboard image capture (DEFAULT)
MCP_SCRAPER_USE_SAVE_SHORTCUT=True
# Disable and use traditional screenshot links
MCP_SCRAPER_USE_SAVE_SHORTCUT=FalseAvailable Tools:
get_tradingview_chart_image(ticker: str, interval: str): Optimized chart fetching with browser poolingExample Prompts:
When finished:
deactivateIf you encounter issues with the optimized version:
python main_optimized.py --disable-pooling python main.py python main_optimized.py --log-level DEBUGThe optimized server includes built-in performance monitoring:
Access these metrics via the get_performance_stats tool or through the server logs.
This server supports two ways of providing configuration:
python main.py directly, the server will load credentials and settings from a .env file in the project directory.%APPDATA%\\Claude\\claude_desktop_config.json~/Library/Application\ Support/Claude/claude_desktop_config.jsonmcpServers object. Provide your credentials in the env block: {
"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 ...
}
}command, args) with your actual absolute paths.YOUR_SESSION_ID_HERE and YOUR_SESSION_ID_SIGN_HERE with your actual TradingView credentials.Settings -> Cursor Settings -> MCP -> Edit User MCP Config (~/.cursor/mcp.json).mcpServers object. Provide your credentials in the env block: {
"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 ...
}
}command, args) with your actual absolute paths.YOUR_SESSION_ID_HERE and YOUR_SESSION_ID_SIGN_HERE with your actual TradingView credentials.To install TradingView Chart Image Scraper for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @ertugrul59/tradingview-chart-mcp --client claudeThe following environment variables can be set to configure the scraper:
TRADINGVIEW_SESSION_ID: Your TradingView session ID (required)TRADINGVIEW_SESSION_ID_SIGN: Your TradingView session ID signature (required)MCP_SCRAPER_HEADLESS: Run browser in headless mode (default: True)MCP_SCRAPER_WINDOW_WIDTH: Browser window width (default: 1400)MCP_SCRAPER_WINDOW_HEIGHT: Browser window height (default: 1400)MCP_SCRAPER_USE_SAVE_SHORTCUT: Use clipboard image capture instead of screenshot links (default: True)MCP_SCRAPER_CHART_PAGE_ID: Custom chart page ID (optional)The MCP_SCRAPER_USE_SAVE_SHORTCUT feature allows you to capture chart images directly to the clipboard as base64 data URLs instead of getting screenshot links. This eliminates the need to download images from URLs.
Benefits:
How it works:
True): Uses Shift+Ctrl+S (or Shift+Cmd+S on Mac) to capture chart image directly to clipboardFalse): Uses traditional Alt+S to get screenshot links, then converts to image URLsConfiguration:
# Enable clipboard image capture (DEFAULT)
MCP_SCRAPER_USE_SAVE_SHORTCUT=True
# Disable and use traditional screenshot links
MCP_SCRAPER_USE_SAVE_SHORTCUT=False~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.