🧠 Quant Brain MCP
Turn Claude into a quantitative analyst for US and Indian equities.
Ask in plain English. Get sized trade plans, portfolio optimization, backtests, and price alerts — grounded in real market data, not vibes.

You: "Scan my watchlist and build a trade plan for whatever looks most actionable.
₹2,00,000 equity, 1% risk."
Claude: RELIANCE.NS flagged (at 20-DMA, volume 1.8x average).
TRADE PLAN — RELIANCE.NS (long)
Entry ₹1,310.00
Stop ₹1,270.10 (swing low, 2.1 ATR)
Size 50 shares (₹65,500 — 32.8% of equity)
Max loss ₹1,995 (1.0% of equity)
Targets 1R ₹1,349.90 · 2R ₹1,389.80 · 3R ₹1,429.70
Invalidation Thesis invalid below ₹1,270.10 — exit without debate.
No API keys. No accounts. Connect one URL and start asking.
⚡ Quickstart
Claude Desktop / Claude Web → Settings → Connectors → Add custom connector → Streamable HTTP:
https://mcp-quant-brain.onrender.com/mcp
That's the whole setup. Try: "What's RELIANCE trading at, and is it overbought?"
Free-tier note: the server sleeps when idle and takes ~50 s to wake. If the first request times out, retry once. Details in Getting Started.
| Tools | What they answer |
|---|
| 📋 Trader workflow | get_quote · get_news · build_trade_plan · scan_watchlist · price_alert | What's it at? What happened? What do I do? What moved this week? Tell me when it hits my level. |
| 📊 Indicators | 6 grouped analyze_* tools — 38 curated indicators | Is it overbought? Trending or chopping? How volatile? |
| 💼 Portfolio | generate_optimized_verdict — 7 optimization methods | How do I split my money? What's my risk? |
| 🧪 Backtests | 7 rule-based strategies | Does this strategy actually work, or does it just feel like it? |
| 🔭 Intelligence | Sector ranking · sector→stock pipeline · company profiles | Which sector is leading? Which stocks inside it? |
| 📈 Charts | Institutional chart pack, rendered as images | Show me. |
Full reference with every parameter: docs/tools.md
🔄 The workflow it's built around
flowchart LR
S["🔍 <b>scan_watchlist</b><br/>what moved this week?"] --> N["📰 <b>get_news</b><br/>why did it move?"]
N --> P["📐 <b>build_trade_plan</b><br/>entry · stop · size · targets"]
P --> A["🔔 <b>price_alert</b><br/>watch my levels"]
A -.->|level breaks → notified| P
subgraph deeper["go deeper anytime"]
I["📊 indicators"] ~~~ B["🧪 backtests"] ~~~ O["💼 optimizer"]
end
S -.-> deeper
🔔 Price alerts that survive restarts
You: "Alert me if RELIANCE drops below ₹1,270" → stored server-side (Postgres)
...
Bot: "PRICE ALERT FIRED — RELIANCE.NS moved below 1270.00, now at 1268.20"
Alerts are one-shot, persist across server restarts, and pair with a scheduled Claude task that checks hourly during market hours and pushes to your phone. Setup in docs/price-alerts.md.
🎯 Why this instead of a stock screener?
- It answers the trading question, not just the data question. Indicators tell you RSI is 43.
build_trade_plan tells you entry, stop, how many shares, and where your thesis dies — sized to your account.
- India is a first-class citizen. NSE tickers, NIFTY benchmarking, 8 Indian sector indices, ₹ formatting. Not a US tool with
.NS bolted on.
- The numbers are audited. Every calculation was adversarially tested against textbook references and live data — 161 automated tests pin the math, including regression tests for 11 real bugs found and fixed along the way. See docs/architecture.md.
- Honest about its data. Delayed quotes are labeled with timestamps. Stale feeds are flagged, not hidden. FX limitations are disclosed, not papered over.
📚 Documentation
⚠️ Honest limits
- Data: Yahoo Finance. US quotes near-real-time; NSE/BSE ~15 min delayed. Daily bars for analysis.
- No options chains, futures, intraday candles, or tick data.
- Not investment advice. Educational analysis tooling. Every trade plan says so and means it.
License
MIT — use it, fork it, ship it.