by ertugrul59
MCP server that captures TradingView chart images via Selenium — supports any ticker/interval with browser pooling for concurrent performance
# Add to your Claude Code skills
git clone https://github.com/ertugrul59/tradingview-chart-mcpGuides for using mcp servers skills like tradingview-chart-mcp.
Last scanned: 8/2/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-08-02T06:32:06.177Z",
"npmAuditRan": true,
"pipAuditRan": false,
"promptInjectionRan": true
}tradingview-chart-mcp is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by ertugrul59. MCP server that captures TradingView chart images via Selenium — supports any ticker/interval with browser pooling for concurrent performance. It has 101 GitHub stars.
Yes. tradingview-chart-mcp passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/ertugrul59/tradingview-chart-mcp" and add it to your Claude Code skills directory (see the Installation section above).
tradingview-chart-mcp is primarily written in Python. It is open-source under ertugrul59 on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh tradingview-chart-mcp against similar tools.
No comments yet. Be the first to share your thoughts!
Top skills in this category by stars
🚀 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 performancemain_optimized.py (Production): Browser pooling, concurrent optimization, performance trackingmain.py (Legacy): Simple single-browser approach, kept for debugging/fallbackget_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: 4
Get the {interval} chart for {ticker}
Show me the daily TradingView chart for {ticker}
Fetch TradingView chart image for {ticker} on the {interval} timeframe
Create Virtual Environment:
# Navigate to the project directory
cd tradingview-chart-mcp
# Create the venv (use python3 if python is not linked)
python3 -m venv .venv
Activate Virtual Environment:
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).
Install Dependencies (inside venv):
pip install -r requirements.txt
Configure Environment (for Local Testing):
.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.Ensure ChromeDriver: Make sure 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.py
python 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-pooling
Test 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 D
The 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=False
Available Tools:
get_tradingview_chart_image(ticker: str, interval: str): Optimized chart fetching with browser poolingExample Prompts:
When finished:
deactivate
If you encounter issues with the optimized version:
Disable Browser Pooling:
python main_optimized.py --disable-pooling
Use Legacy Version:
python main.py
Debug Mode:
python main_optimized.py --log-level DEBUG
The 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:
.env file (for local testing): When running python main.py directly, the server will load credentials and settings from a .env file in the project directory..env file.Open your Claude Desktop configuration file:
%APPDATA%\\Claude\\claude_desktop_config.json~/Library/Application\ Support/Claude/claude_desktop_config.jsonAdd or merge the following within the 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 to