LightWeightChartsMCP
БесплатноНе проверенProvides 6 MCP tools for semantic search, JS/TS code validation, and template generation based on TradingView Lightweight Charts documentation.
Описание
Provides 6 MCP tools for semantic search, JS/TS code validation, and template generation based on TradingView Lightweight Charts documentation.
README
PyPI Python ChromaDB MCP License: MIT Tests
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
lwcmcp
That'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://stats - 100% 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 version - Production-ready: Health endpoint, circuit breakers, error masking, response capping, response caching middleware
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 lwcmcp
Or 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 build
MCP 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 8080
Connect 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 # test
Architecture
- 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 build
Data 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 --reset
Tech 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
Установка LightWeightChartsMCP
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/TheFractalyst/LightWeightChartsMCPFAQ
LightWeightChartsMCP MCP бесплатный?
Да, LightWeightChartsMCP MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для LightWeightChartsMCP?
Нет, LightWeightChartsMCP работает без API-ключей и переменных окружения.
LightWeightChartsMCP — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить LightWeightChartsMCP в Claude Desktop, Claude Code или Cursor?
Открой LightWeightChartsMCP на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare LightWeightChartsMCP with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
