LightWeightChartsMCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@LightWeightChartsMCPsearch for price scale options in v5.0"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
LightWeightChartsMCP
Complete TradingView Lightweight Charts reference documentation MCP server with 6 tools for semantic search, JS/TS code validation, and template generation.
Quick Start | Tools | Configuration | Development
pip install lwcmcp
lwcmcpThat's it. On first run, the server auto-builds the ChromaDB vector store from shipped JSON data (takes 30-60 seconds for embedding model download + indexing). Subsequent runs start instantly.
What you get:
6 MCP tools for Lightweight Charts docs lookup, JS/TS code validation, and template generation
~1617 entries indexed in a local ChromaDB vector store (100% offline)
Sub-millisecond hot cache for priority lookups
Regex-based JS/TS validator (no Node.js runtime required)
Works with Claude Desktop, Cursor, Windsurf, OpenCode, and any MCP client
What you need:
Python 3.10+
Any MCP-compatible AI client
Features
6 tools: lookup, search, browse, validate, repair, scaffold
1 resource:
lwc://stats100% local: ChromaDB vector store, no network calls at runtime
Fast: Hot cache for instant lookups, name index for fuzzy matching, semantic search (warm)
5 versions: 3.8, 4.0, 4.1, 4.2, 5.0 plus tutorials and framework integrations
Validator: Regex-based JS/TS validation (no Node.js runtime required)
7 templates: basic_chart, realtime_updates, react_integration, vue_integration, web_components, custom_styling, multi_series
Version filtering: Every tool accepts
versionparam to filter by LWC versionProduction-ready: Health endpoint, circuit breakers, error masking, response capping, response caching middleware
Related MCP server: mcp-tradingview-server
Coverage
LWC API: functions, interfaces, enumerations, type-aliases, variables (all 5 versions)
Guides: getting-started, series-types, price-scale, time-scale, time-zones, plugins, migrations, android, ios, release-notes
Tutorials: customization, a11y, react, vuejs, webcomponents, how-to, demos
Total: ~1617 entries across 5 versions + tutorials
ChromaDB: all entries indexed (JSON = ChromaDB, zero dedup loss)
Setup
pip install lwcmcpOr from source:
git clone https://github.com/TheFractalyst/LightWeightChartsMCP.git
cd LightWeightChartsMCP
pip install -e ".[dev]"Run the server
# stdio (for MCP clients like Claude, Cursor, opencode)
lwcmcp
# SSE (HTTP)
lwcmcp --transport sse --port 8080
# Build ChromaDB manually (auto-builds on first run otherwise)
lwcmcp buildMCP Client Configuration
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"lightweightchartsmcp": {
"command": "lwcmcp",
"transport": "stdio"
}
}
}Cursor / Windsurf / OpenCode
Add to your project's .mcp.json or global MCP config:
{
"mcpServers": {
"lightweightchartsmcp": {
"command": "lwcmcp",
"transport": "stdio"
}
}
}SSE (HTTP)
lwcmcp --transport sse --port 8080Connect to http://localhost:8080.
Tools
+--------------+-----------+------------------------------------------+
| Tool | Type | Description |
+--------------+-----------+------------------------------------------+
| lwc_lookup | read-only | Exact name lookup with fuzzy fallback |
| lwc_search | read-only | Semantic search across all entries |
| lwc_browse | read-only | List namespace members |
| lwc_validate | read-write| Validate JS/TS for Lightweight Charts |
| lwc_repair | read-write| Fix common Lightweight Charts issues |
| lwc_scaffold | read-write| Generate chart template (7 kinds) |
+--------------+-----------+------------------------------------------++----------------+----------------------------------------------------+
| Tool | Signature |
+----------------+----------------------------------------------------+
| lwc_lookup | (name, kind?, version?) |
| lwc_search | (query, category?, namespace?, version?, n_results?)|
| lwc_browse | (namespace, category?, style?, version?) |
| lwc_validate | (code?, file_path?, file_content?, version?) |
| lwc_repair | (code, context, version?) |
| lwc_scaffold | (kind, name, description?, version?) |
+----------------+----------------------------------------------------+Version Filtering
Every tool accepts an optional version parameter:
"3.8","4.0","4.1","4.2","5.0"- filter to specific versionNone(default) - search across all versions (prefers latest 5.0)
Configuration
+------------------------+------------------+--------------------------------------------+
| Env Var | Default | Description |
+------------------------+------------------+--------------------------------------------+
| TRANSPORT | stdio | Transport: stdio or sse |
| PORT | 8080 | Port for SSE transport |
| LWC_DB_PATH | ~/.lwc_mcp/db | ChromaDB path |
| LWC_COLLECTION | lwc_reference | ChromaDB collection name |
| LWC_EMBED_MODEL | all-MiniLM-L6-v2 | Sentence transformer model |
| LWC_MAX_RESULTS | 100 | Max results returned |
| VALIDATION_CACHE_TTL | 300 | Validation cache TTL (seconds) |
| VALIDATION_CACHE_SIZE | 500 | Validation cache max entries |
| LWC_INDEX_BATCH_SIZE | 25 | Indexing batch size |
| LAZY_MODEL | (empty) | Set to 1/true to defer model loading |
| LOG_DIR | ~/.lwc_mcp/logs | Log directory (SSE transport) |
| LOG_LEVEL | INFO | Logging level |
+------------------------+------------------+--------------------------------------------+Namespaces
API Namespaces
+----------------+----------------------------------------------+
| Namespace | Description |
+----------------+----------------------------------------------+
| enumerations | Enums (LineStyle, CrosshairMode, etc.) |
| functions | Functions (createChart, addSeries, etc.) |
| interfaces | Interfaces (IChartApi, ISeriesApi, etc.) |
| type-aliases | Type aliases (SeriesType, Time, etc.) |
| variables | Variables and constants |
+----------------+----------------------------------------------+Guide Namespaces
+------------------+------------------------------------------+
| Namespace | Description |
+------------------+------------------------------------------+
| getting-started | Getting started guides |
| android | Android platform integration |
| ios | iOS platform integration |
| price-scale | Price scale configuration |
| release-notes | Version release notes |
| series-types | Series types (candlestick, line, etc.) |
| time-scale | Time scale configuration |
| time-zones | Time zone handling |
| migrations | Version migration guides |
| plugins | Plugin system (v4.1+) |
+------------------+------------------------------------------+Tutorial Namespaces
+----------------+----------------------------------------------+
| Namespace | Description |
+----------------+----------------------------------------------+
| customization | Chart customization tutorials |
| a11y | Accessibility tutorials |
| react | React framework integration |
| vuejs | Vue.js framework integration |
| webcomponents | Web Components integration |
| how-to | How-to guides |
| demos | Demo applications |
+----------------+----------------------------------------------+Scaffold Templates (7 kinds)
+--------------------+----------------------------------------------+
| Kind | Description |
+--------------------+----------------------------------------------+
| basic_chart | Basic chart with createChart + setData |
| realtime_updates | Real-time data streaming with series.update |
| react_integration | React component with useRef + useEffect |
| vue_integration | Vue.js component with ref |
| web_components | Web Components custom element wrapper |
| custom_styling | Custom chart and series options/styling |
| multi_series | Multiple series (candlestick + volume) |
+--------------------+----------------------------------------------+Development
ruff check . --line-length 120 # lint
pytest tests/ -v # testArchitecture
FastMCP 3.4 with FileSystemProvider for auto-discovery
ChromaDB vector store (cosine, all-MiniLM-L6-v2, 384-dim)
3 composable lifespans: db | model | cache
Auto-build ChromaDB from shipped JSON on first run
Response caching middleware (lookup/browse 1h, search 5m)
Response limiting middleware (80KB cap)
Circuit breaker on validator and ChromaDB
Hot cache for fast lookups
Error masking (no internal details leaked)
Health endpoint at
/health
Database
~1617 entries across 5 versions (3.8, 4.0, 4.1, 4.2, 5.0) + tutorials
Auto-built on first run from shipped JSON data (1.5MB)
Stored at
~/.lwc_mcp/db(survives project updates)
To rebuild the database:
lwcmcp buildData Pipeline
pipeline/scrape_lwc.py- Direct HTTP scraper for Lightweight Charts docs sitemap (github.io, no ScraperAPI needed)pipeline/merge_and_index.py- Merge + index into ChromaDB
Re-scrape from TradingView
pip install -e ".[pipeline]"
python pipeline/scrape_lwc.py
python pipeline/merge_and_index.py --resetTech Stack
FastMCP 3.4 - MCP server framework with FileSystemProvider auto-discovery
ChromaDB - Local vector database for semantic search
SentenceTransformers -
all-MiniLM-L6-v2embedding model (384-dim)RapidFuzz - Fuzzy string matching for name lookups
Loguru - Structured logging with daily rotation (SSE mode)
Links
fractalyst.dev - Author homepage
TradingView - Public PineScript indicators
@TheFractalyst - X / Twitter
License
MIT - see LICENSE
This server cannot be deployed
Maintenance
Related MCP Connectors
Search GitHub, npm, PyPI, StackOverflow, ArXiv from one MCP — built for coding agents.
65+ AI tools as MCP: research, write, code, scrape, translate, RAG, agent memory, workflows
100+ MCP tools for AI agents: content metadata, trade intelligence, business-expertise analysis.
Render, verify, describe, and safely edit Mermaid diagrams through MCP.
Related MCP Servers
- AlicenseAqualityCmaintenanceA type-safe MCP server that enables AI agents to control TradingView Desktop via Chrome DevTools Protocol, allowing chart state reading, symbol/timeframe changes, and OHLCV data fetching.1176 npm1MIT
- FlicenseNot gradedqualityDmaintenanceExposes TradingView technical indicators and OHLCV data through MCP tools for Claude Desktop or any MCP-aware client.23-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to search code by meaning, explore codebase structure, store and query knowledge with temporal facts, and read source code through a set of MCP tools.267 npm7MIT
- AlicenseNot gradedqualityDmaintenanceMCP server providing 29 tools across 5 layers for semantic TypeScript/JavaScript code intelligence, enabling AI agents to find references, trace impacts, guard APIs, and explain errors without text-search false positives.16 npm1MIT