Chart Library MCP Server — 19 tools for chart pattern intelligence, regime analysis, and trading signals for AI agents
Project description
Chart Library MCP Server
Ask your AI agent "what happened the last 10 times a chart looked like this?" and get a real answer.
24 million pattern embeddings. 10 years of history. 15,000+ stocks. One tool call.
> "What does NVDA's chart look like right now?"
Found 10 similar historical patterns for NVDA (2026-04-04, RTH timeframe):
Closest match: AAPL 2023-05-12 (distance: 0.41)
Forward returns across all 10 matches:
1-day: +0.8% avg (7/10 positive)
5-day: +3.1% avg (8/10 positive)
10-day: +4.7% avg (7/10 positive)
Summary: NVDA's current consolidation near highs mirrors 10 historical
setups, most notably AAPL's May 2023 pre-breakout pattern. 8 of 10
resolved higher within a week, with a median 5-day gain of +2.8%.
No hallucinated predictions. No refusals. Just factual historical data your agent can cite.
Quick Start
pip install chartlibrary-mcp
Claude Code
claude mcp add chart-library -- chartlibrary-mcp
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"chart-library": {
"command": "chartlibrary-mcp",
"env": {
"CHART_LIBRARY_API_KEY": "cl_your_key"
}
}
}
}
Cursor / VS Code
Add to .cursor/mcp.json or VS Code MCP settings:
{
"servers": {
"chart-library": {
"command": "chartlibrary-mcp",
"env": {
"CHART_LIBRARY_API_KEY": "cl_your_key"
}
}
}
}
Free tier: 200 calls/day, no credit card required. Get an API key at chartlibrary.io/developers or use basic search without one.
What Can Your Agent Do With This?
"Should I be worried about my TSLA position?"
> get_exit_signal("TSLA")
Signal: HOLD (confidence: 72%)
Similar patterns that exited early: 3/10 would have avoided a drawdown
Similar patterns that held: 7/10 gained an additional +2.1% over 5 days
Recommendation: Pattern suggests continuation. No exit signal triggered.
"What sectors are rotating in right now?"
> get_sector_rotation()
Leaders (30-day relative strength):
1. XLK Technology +4.2%
2. XLY Cons. Disc. +3.1%
3. XLC Communication +2.8%
Laggards:
9. XLU Utilities -1.4%
10. XLP Cons. Staples -2.1%
11. XLRE Real Estate -3.3%
Regime: Risk-On (growth > defensives)
"What happens to AMD if SPY drops 3%?"
> run_scenario("AMD", spy_change=-3.0)
When SPY fell ~3%, AMD historically:
Median move: -5.2%
Best case: +1.1%
Worst case: -11.4%
Positive: 18% of the time
AMD shows 1.7x beta to SPY downside moves.
19 Tools
Core Search (7 tools)
| Tool | What it does |
|---|---|
analyze_pattern |
Full analysis in one call: search + returns + AI summary |
search_charts |
Find the 10 most similar historical patterns for any ticker |
get_follow_through |
1/3/5/10-day forward returns from matches |
get_pattern_summary |
Plain-English AI summary of pattern implications |
get_discover_picks |
Today's top patterns ranked by interest score |
search_batch |
Analyze up to 20 symbols in parallel |
get_status |
Database coverage and health stats |
Market Intelligence (7 tools)
| Tool | What it does |
|---|---|
detect_anomaly |
Is this pattern unusual vs the stock's own history? |
get_volume_profile |
Intraday volume breakdown vs historical norms |
get_sector_rotation |
Sector leadership rankings with regime classification |
get_crowding |
Signal crowding: are too many stocks pointing the same way? |
get_earnings_reaction |
How has this stock historically reacted to earnings? |
get_correlation_shift |
Stocks breaking from their usual SPY correlation |
run_scenario |
Conditional returns: "what if the market does X?" |
Trading Intelligence (4 tools)
| Tool | What it does |
|---|---|
get_regime_win_rates |
Win rates filtered by current VIX/yield regime |
get_pattern_degradation |
Are signals losing edge vs historical accuracy? |
get_exit_signal |
Should you hold or exit based on pattern data? |
get_risk_adjusted_picks |
Sharpe-ranked picks from today's pattern scan |
Utility (1 tool)
| Tool | What it does |
|---|---|
report_feedback |
Report errors or suggest improvements |
How It Works
Chart Library uses 24 million pre-computed pattern embeddings (multi-channel numerical encodings of price, volume, volatility, and VWAP) indexed with pgvector for sub-10ms similarity search.
When your agent calls analyze_pattern("NVDA"), the server:
- Computes NVDA's current embedding from the latest market data
- Finds the 10 nearest neighbors by L2 distance across all stocks and dates
- Looks up what happened 1, 3, 5, and 10 days after each historical match
- Generates a plain-English summary via Claude Haiku
The result: factual, citation-ready statements like "8 of 10 similar patterns gained over 5 days" that your agent can present without hallucinating or hedging.
API Key
| Tier | Calls/day | Price |
|---|---|---|
| Sandbox | 200 | Free |
| Builder | 5,000 | $29/mo |
| Scale | 50,000 | $99/mo |
Get your key at chartlibrary.io/developers.
export CHART_LIBRARY_API_KEY=cl_your_key
Links
Chart Library provides historical pattern data for informational purposes. Not financial advice.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file chartlibrary_mcp-1.1.1.tar.gz.
File metadata
- Download URL: chartlibrary_mcp-1.1.1.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
638fe940b097a798a0384fa857b98c980122bc5cd30d743fcbfe59ad62b80793
|
|
| MD5 |
c7bb4be5ea9a5180eeac9796c90e7e8a
|
|
| BLAKE2b-256 |
dd02632b860383f1aaa4e3ad95b0d22f2aca70122856d87dd11c71e3122e4e6c
|
File details
Details for the file chartlibrary_mcp-1.1.1-py3-none-any.whl.
File metadata
- Download URL: chartlibrary_mcp-1.1.1-py3-none-any.whl
- Upload date:
- Size: 16.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a21f7a46c370fdae960eba4fd6ee231790f89eb7b9f8f0a3480fe281377e39f
|
|
| MD5 |
02af4536e96fb6a23887af2a5dddb594
|
|
| BLAKE2b-256 |
d5c7768f848dcee947e1f4578d8500ac5dc5785ba95f7c8039ec55208f76a647
|