# TradingViewMCPServer
> **Production-ready multi-asset trading assistant and Pine Script development server for Claude Desktop**
[](https://github.com/lev-corrupted/TradingViewMCPServer/actions)
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
[](https://hub.docker.com)
[](https://github.com/lev-corrupted/TradingViewMCPServer/releases)
Professional trading assistant supporting **Forex, Stocks, and Crypto** with **25+ technical indicators**, **Pine Script v6 development tools**, and **production-grade reliability**.
## ⨠Features
### šÆ Production-Ready (NEW in v3.4.0!)
- **š„ Health Monitoring**: Built-in health check tool with cache statistics and API status
- **š Auto-Retry Logic**: Exponential backoff for network failures (3 retries: 2s, 4s, 8s)
- **ā” LRU Cache**: Memory-bounded cache (1000 entries) with automatic eviction
- **š³ Docker Support**: Production-ready containerization with Docker Compose
- **š CI/CD Pipeline**: Automated testing across Python 3.10-3.12
- **ā
100% Test Coverage**: 44/44 tests passing
### š Trading & Market Analysis
- **Multi-Asset Support**: Forex (22+ pairs), US Stocks, Cryptocurrencies
- **25+ Technical Indicators**: Volume Profile, Market Profile, VWAP, Fibonacci, Bollinger Bands, MACD, Moving Averages, ATR, Support/Resistance, Pivot Points, Stochastic, **RSI, CCI, Williams %R**, ADX, Ichimoku Cloud, and more
- **Full Historical Data**: Live quotes and historical data for **all asset types** (Forex, Stocks, Crypto) via Alpha Vantage API
- **Smart Caching**: 70% reduction in API calls with intelligent caching
- **Claude Desktop Integration**: Seamless integration with Claude Desktop via MCP
### Pine Script Development Tools (NEW in v3.1)
- **Pine Script v6 Support**: Full support for latest Pine Script v6 with type, enum, and map! ā
- **Real-time Syntax Validation**: Comprehensive syntax and semantic error checking with line-by-line feedback
- **Intelligent Autocomplete**: Context-aware code completion with function signatures and documentation
- **Live Documentation Access**: Instant access to Pine Script function documentation with examples (110+ functions)
- **Version Detection**: Automatic detection of Pine Script version (v1-v6) with compatibility analysis
- **Version Conversion**: Automatic code conversion between Pine Script versions (v3āv4āv5āv6)
- **Code Testing Sandbox**: Safe testing environment with validation and performance metrics
- **Error Explanations**: Detailed error descriptions with causes, solutions, and code examples
- **Code Templates**: Ready-to-use templates for indicators, strategies, and overlays
## š Quick Start
### Prerequisites
- Python 3.10+ or Docker
- Claude Desktop
- Alpha Vantage API key ([Get free key](https://www.alphavantage.co/support/#api-key))
### Option 1: Docker (Recommended) š³
```bash
# 1. Clone repository
git clone https://github.com/lev-corrupted/TradingViewMCPServer.git
cd TradingViewMCPServer
# 2. Create .env file
echo "ALPHA_VANTAGE_API_KEY=your_key_here" > .env
# 3. Run with Docker Compose
docker-compose up -d
# 4. Check server health
docker-compose logs -f
```
### Option 2: Standard Installation
```bash
# 1. Clone repository
git clone https://github.com/lev-corrupted/TradingViewMCPServer.git
cd TradingViewMCPServer
# 2. Create virtual environment
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
# 3. Install dependencies
pip install -e .
# 4. Create .env file
echo "ALPHA_VANTAGE_API_KEY=your_key_here" > .env
```
4. Configure Claude Desktop:
Edit `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS) or `%APPDATA%\Claude\claude_desktop_config.json` (Windows):
```json
{
"mcpServers": {
"tradingview": {
"command": "/absolute/path/to/TradingViewMCPServer/.venv/bin/python",
"args": [
"/absolute/path/to/TradingViewMCPServer/tradingview_mcp/server.py",
"stdio"
]
}
}
}
```
Replace `/absolute/path/to/TradingViewMCPServer` with your actual installation path.
5. Restart Claude Desktop
## š” Usage
### Health Check (NEW!) š„
Monitor server health and performance:
```
Check server health
What's the cache hit rate?
Show me server statistics
```
**Returns:**
- Server version and status
- API key configuration
- Cache statistics (size, hit rate, evictions)
- Total API calls made
### Trading & Market Analysis š
Ask Claude Desktop natural language questions:
```
What's the current price of AAPL?
Show me Bollinger Bands for TSLA on 1h timeframe
Calculate Fibonacci levels for BTC
Get MACD for EURUSD with RSI
Show me support and resistance for NVDA
What's the volume profile for SPY?
Give me the Ichimoku Cloud for ETH
Calculate pivot points and CCI for GBPUSD
Analyze AAPL with Williams %R indicator
```
### Pine Script Development
Ask Claude to help with Pine Script code:
```
Validate this Pine Script code: [paste code]
Convert this v4 code to v5: [paste code]
Show me documentation for ta.macd
Test this indicator on AAPL 1h timeframe: [paste code]
Explain error E101
Detect the version of this Pine Script: [paste code]
Give me a Pine Script strategy template
```
## š ļø Available Tools
### Server Management (NEW in v3.4.0!)
- `health_check` - Server health and cache statistics
### Price & Market Data
- `get_price` - Get current price for any asset
- `get_multiple_prices` - Batch price quotes
- `list_available_pairs` - List forex pairs
- `list_supported_assets` - List all supported assets
### Technical Analysis
- `analyze_pair` - Comprehensive analysis
- `get_trading_recommendation` - Trading signals
- `calculate_correlation` - Pair correlation
### Volume & Profile Analysis
- `get_volume_profile` - Volume at price levels
- `get_market_profile` - Market profile with TPO and value areas
- `get_vwap` - Volume Weighted Average Price
- `get_volume_nodes` - High/low volume nodes
- `detect_unfilled_gaps` - Price gaps detection
### Momentum Indicators (NEW: RSI, CCI, Williams %R)
- `get_stochastic` - Stochastic oscillator (%K, %D)
- `get_rsi` - **NEW!** RSI (Relative Strength Index)
- `get_cci` - **NEW!** CCI (Commodity Channel Index)
- `get_williams_r` - **NEW!** Williams %R
### Trend Indicators
- `get_moving_averages` - Multiple SMAs/EMAs
- `get_macd` - MACD indicator
- `get_adx` - Average Directional Index (trend strength)
- `get_ichimoku_cloud` - Ichimoku Cloud
### Volatility Indicators
- `get_bollinger_bands` - Bollinger Bands
- `get_atr` - Average True Range
### Support/Resistance
- `get_fibonacci_retracement` - Fibonacci levels
- `get_support_resistance` - Auto-detected levels
- `get_pivot_points` - Daily pivot points
### Pine Script Development (NEW)
- `validate_pine_script` - Real-time syntax validation with detailed error reporting (v1-v6 support)
- `get_pine_documentation` - Function and topic documentation with examples (110+ functions)
- `test_pine_script` - Safe sandbox testing with metrics
- `explain_pine_error` - Detailed error explanations with solutions
- `detect_pine_version` - Automatic version detection (v1-v6)
- `convert_pine_version` - Automatic version conversion (supports v6!)
- `autocomplete_pine` - Intelligent code completion (includes v6 features)
- `get_pine_template` - Ready-to-use code templates
## Supported Assets
### Forex
Major pairs, crosses, exotics, and gold (XAUUSD)
### Stocks
US equities including AAPL, MSFT, GOOGL, AMZN, TSLA, NVDA, META, and more
### Crypto
BTC, ETH, BNB, XRP, ADA, SOL, and other major cryptocurrencies
## Configuration
### API Rate Limits
Alpha Vantage free tier:
- 25 requests per day
- 5 API calls per minute
For higher limits, upgrade to premium API key.
### Timeframes
Supported timeframes: `5m`, `15m`, `30m`, `1h`, `4h`, `1d`
## š Version History
### Version 3.4.0 - Production Ready (Current) š
**Major production-grade improvements:**
#### Performance & Reliability
- ā
**LRU Cache**: Memory-bounded cache with automatic eviction (1000 entries max)
- ā
**Auto-Retry**: Exponential backoff for network failures (3 retries: 2s, 4s, 8s)
- ā
**Health Check**: New MCP tool for monitoring and debugging
- ā
**100% Tests**: All 44 tests passing (was 93%)
#### Developer Experience
- ā
**Docker Support**: Production-ready Dockerfile and docker-compose.yml
- ā
**CI/CD Pipeline**: Automated testing across Python 3.9-3.12
- ā
**Requirements**: Separate runtime and dev dependencies
#### Bug Fixes
- Fixed version mismatch in pyproject.toml
- Fixed 3 failing tests (ATR, Bollinger Bands, Pine Script v5)
- Verified .env security (not in git)
**Test Results:** 44/44 passing (100%) | **Files Changed:** 12 | **Lines Added:** 661+
See [IMPROVEMENTS_v3.4.0.md](IMPROVEMENTS_v3.4.0.md) for full details.
---
### Version 3.3.0 - New Indicators
- Added RSI (Relative Strength Index) indicator
- Added CCI (Commodity Channel Index) indicator
- Added Williams %R indicator
- Full historical data support for Stocks and Crypto
- Updated README: 20+ ā 25+ indicators
### Version 3.1 - Pine Script v6 Support ā
Major update with full Pine Script v6 support:
### New Features
- **Pine Script v6**: Full support for the latest Pine Script version
- **V6 Data Structures**: type (structs), enum, and map collections
- **110+ Function Signatures**: Enhanced function database including map.* namespace
- **Enhanced Conversion**: v3āv4āv5āv6 automatic migration
- **8 Pine Script MCP Tools**: Complete development environment
- **3000+ Lines of Pine Script Code**: Lexer, parser, validator, and more
- **Version Support**: Full support for Pine Script v1-v6
- **Intelligent Analysis**: AST-based parsing and validation
- **Context-aware Completion**: Namespace-aware autocomplete (ta., math., str., map.)
- **Error Database**: Detailed explanations for common errors
See [PINE_SCRIPT.md](PINE_SCRIPT.md) for complete Pine Script documentation.
### Architecture
- **Modular Design**: Clear separation between TradingView analysis and Pine Script tools
- **Well-Organized Codebase**: Logical grouping by functionality
- **Unified MCP Server**: Single installation, seamless integration
See [ARCHITECTURE.md](ARCHITECTURE.md) for detailed architecture documentation.
## Version 3.0 - Pine Script Integration
Initial Pine Script development tools release:
- 8 comprehensive MCP tools
- Support for Pine Script v1-v5
- Automatic code conversion and validation
## Version 2.0 Improvements
This version included major improvements and refactoring:
### Architecture
- **Modular Structure**: Refactored from monolithic 1700-line file to organized modules
- `api/`: API client with caching and rate limiting
- `indicators/`: Technical indicators organized by type
- `utils/`: Utility functions and formatters
- `config.py`: Centralized configuration
### Performance & Reliability
- **Smart Caching**: In-memory cache with TTL reduces API calls by ~70%
- **Rate Limiting**: Automatic rate limit protection prevents API errors
- **Improved Error Handling**: Standardized error responses with helpful suggestions
- **Comprehensive Logging**: Debug and track all operations
### Code Quality
- **Type Hints**: Full type annotations throughout
- **Better Calculations**: Fixed MACD, Stochastic, and ADX formulas
- **Constants**: All magic numbers extracted to named constants
- **Test Suite**: pytest-based testing framework included
### Development
- **Lower Python Requirement**: Now works with Python 3.10+ (was 3.13+)
- **Development Tools**: Added black, mypy, pytest, and other dev dependencies
- **Better Documentation**: Improved docstrings and code comments
### API Improvements
- **Universal Asset Detection**: Automatically detects Forex, Stocks, or Crypto
- **Better Forex Detection**: Handles various formats (EUR/USD, EURUSD, etc.)
- **Cache Statistics**: View cache performance with `get_server_stats()` tool
## Testing
Run the test suite:
```bash
# Install development dependencies
pip install -r requirements-dev.txt
# Run all tests
pytest
# Run with coverage
pytest --cov=tradingview_mcp --cov-report=html
# Run specific test file
pytest tests/test_cache.py -v
# Run tests matching pattern
pytest -k "test_cache" -v
```
## Troubleshooting
### Claude Desktop Not Connecting
1. Verify config file path is correct
2. Check Python path in config
3. Ensure `.env` file exists with valid API key
4. Restart Claude Desktop
### API Rate Limit Errors
Wait 1 minute between requests or upgrade API key.
### Module Import Errors
Ensure virtual environment is activated and dependencies installed:
```bash
source .venv/bin/activate
pip install -e .
```
## š Repository Structure
```
TradingViewMCPServer/
āāā tradingview_mcp/ # Core Python package
ā āāā server.py # MCP server implementation
ā āāā config.py # Configuration management
ā āāā api/ # Alpha Vantage API client
ā āāā indicators/ # Technical indicators (25+)
ā āāā pine_script/ # Pine Script development tools
ā āāā utils/ # Utilities (cache, retry, etc.)
āāā tests/ # Test suite (44/44 passing)
āāā docs/ # Documentation
ā āāā ARCHITECTURE.md # System architecture
ā āāā CONTRIBUTING.md # Contribution guidelines
ā āāā PROJECT_SUMMARY.md # Project overview
ā āāā GITHUB_REPO_INFO.md # GitHub repo metadata
ā āāā guides/ # Usage guides
ā āāā releases/ # Release notes & checklists
āāā examples/ # Example code
ā āāā pine-scripts/ # Pine Script examples & templates
āāā .github/ # GitHub Actions CI/CD
āāā logs/ # Application logs
āāā README.md # This file
āāā CHANGELOG.md # Complete version history
āāā pyproject.toml # Project metadata
āāā requirements.txt # Dependencies
āāā Dockerfile # Docker configuration
```
### Key Directories
- **[tradingview_mcp/](tradingview_mcp/)** - Main Python package with all server logic
- **[tests/](tests/)** - Comprehensive test suite with 100% coverage
- **[docs/](docs/)** - All documentation, guides, and architecture docs
- **[examples/pine-scripts/](examples/pine-scripts/)** - Pine Script examples, strategies, and templates
- **[.github/](.github/)** - CI/CD workflows and issue templates
## License
MIT License - see LICENSE file for details
## Contributing
We welcome contributions! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for detailed guidelines.
### How to Contribute
- **Bug Reports**: Use the bug report template
- **Feature Requests**: Use the feature request template
- **Code Contributions**: Fork, create a branch, and submit a PR
- **Documentation**: Improvements to README, code comments, or examples
### Contribution Ideas
- New technical indicators (RSI, CCI, Williams %R, etc.)
- Performance optimizations
- Additional asset types or markets
- Better error handling
- Enhanced documentation
- Example use cases
See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and coding standards.
## Support
For issues or questions:
1. Check the [Troubleshooting](#troubleshooting) section
2. Review [CONTRIBUTING.md](CONTRIBUTING.md)
3. Search existing [GitHub Issues](https://github.com/lev-corrupted/TradingViewMCPServer/issues)
4. Open a new issue with the appropriate template