Install
$ agentstack add mcp-travis-clement-dev-quantower-mcp ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
About
Quantower MCP
Read-only access to your active Quantower chart for AI agents — over a localhost HTTP API and an MCP server.
A small C# indicator (ClaudeChartObserver.dll) loads into the Quantower desktop platform and hosts a localhost HTTP bridge exposing the current chart: symbol, timeframe, OHLCV bars, drawings (with coordinates), multi-timeframe history, and chart-panel screenshots. A thin Python MCP server wraps those endpoints as first-class tools for Claude Code (or any MCP client).
Think of it as what a TradingView MCP gives you — but for Quantower.
> Read-only by design. Every endpoint observes the chart. Nothing places, > modifies, or cancels orders, and the bridge touches no trading account. It > binds to 127.0.0.1 only.
See it in action
Ask Claude about your live chart in plain English — it calls the read-only tools and reasons over both the numbers and the picture. Here it reads a live MNQ session and returns a full ICT breakdown:
> You: Read the current MNQ session — market structure, order blocks, FVGs, > and where we are in the dealing range. > > Claude: (calls get_state, get_history, get_screenshot) The session > MSS was a bearish CHoCH at 12:45Z (character shift, bull → bear), followed > by three displacement BOS legs down — 30243 → 30181 → 29937.50. Dealing range > 29876.00–30380.00 (EQ 30128.00); OTE short zone 30231–30274; a key > open-imbalance bearish FVG left at 30153.75–30181.00.
Because the chart is exposed as structured data plus a screenshot, the agent reads exact OHLCV / quote / drawings and sees the rendered chart — the same two views you have. The bridge is just a Quantower indicator you attach to any chart:
How it works
Claude Code / MCP client
│ JSON-RPC over stdio
▼
mcp-server/server.py
│ HTTP GET on 127.0.0.1:5555
▼
ClaudeChartObserver.dll ← C# indicator, runs inside Quantower
│ reads (single-builder pattern, atomic snapshot)
▼
Active Quantower chart
The indicator does all Quantower API access on its own update thread and publishes an immutable snapshot; the HTTP handlers serve that snapshot. This "single-builder" pattern keeps reads thread-safe without assuming Quantower's API is reentrant.
HTTP endpoints
| Endpoint | Returns | |---|---| | GET / | Endpoint index | | GET /health | Liveness + version + bound port | | GET /state | Symbol, period, account, newest/prior OHLCV, drawings, observer metadata | | GET /drawings | Just the drawings array (lighter than /state) | | GET /screenshot | Chart-panel PNG | | GET /history | Historical bars — three paths (see below) |
/history has three forms:
?count=N— last N bars at the chart's native timeframe (cached, sub-ms).?count=N&period=X— fresh fetch of N bars at any standard timeframe
(1m, 5m, 15m, 30m, 1h, 4h, 1d, 1w).
?from=ISO&to=ISO&period=X— only the bars inside a UTC window (avoids
pulling a whole day when you want one session; gives previous-day access).
Full reference with response shapes and validation: [HTTP-API.md](HTTP-API.md).
MCP tools
| Tool | Wraps | Returns | |---|---|---| | get_state | /state | JSON | | get_history | /history | JSON (chronological bars) | | get_drawings | /drawings | JSON | | get_screenshot | /screenshot | inline PNG (base64) |
Setup and registration: [mcp-server/README.md](mcp-server/README.md).
Quick start
Requirements
- Windows with Quantower installed
(developed against v1.146.7).
- .NET 10 SDK (
dotnet --list-sdks
shows a 10.x line).
- Python 3.10+ (only needed for the MCP server; the HTTP bridge works without it).
> Don't have Quantower yet? It's free to start. I earn a referral commission > if you sign up with my > referral link and > later buy a license — at no extra cost to you. Totally optional; nothing here is > gated behind it. See [Support this project](#support-this-project).
1. Point the build at your Quantower install
The build references Quantower's proprietary TradingPlatform.BusinessLayer.dll at build time (linked, never copied or redistributed). Tell it where Quantower lives via the QUANTOWER_ROOT environment variable — the versioned platform folder that contains a bin\ directory:
setx QUANTOWER_ROOT "C:\Quantower\TradingPlatform\v1.146.7"
Restart your shell so the variable is visible.
2. Build and deploy the indicator
.\deploy.ps1
This builds ClaudeChartObserver.dll and copies it into Quantower's bin\Scripts\Indicators\Utilities\ folder. (Use .\deploy.ps1 -BuildOnly to build without deploying.)
3. Attach it in Quantower
Open a chart → right-click → Add Indicator → Custom → Claude Chart Observer. The bridge starts on 127.0.0.1:5555. Confirm:
curl http://127.0.0.1:5555/health
> After any C# change, fully restart Quantower before re-attaching — the > .NET AppDomain caches the old assembly, so a remove/re-add alone runs stale code.
4. (Optional) Wire up the MCP server
See [mcp-server/README.md](mcp-server/README.md) for the venv setup and Claude Code registration (project-scoped .mcp.json for the CLI/VS Code extension, or claude mcp add for the desktop app).
Or, in Claude Code, run the [/setup](.claude/commands/setup.md) command to be walked through the whole flow.
Full deploy + verify procedure: [TESTING.md](TESTING.md).
Repository layout
| Path | What | |---|---| | ClaudeChartObserver/ | The C# indicator (HTTP bridge host). | | mcp-server/ | Python stdio MCP server wrapping the bridge. | | probe/ | MetadataLoadContext reflection tool for inspecting Quantower APIs without executing the assembly. | | Directory.Build.props | Resolves QUANTOWER_ROOT and fails the build early with a clear message if it's unset or wrong. | | deploy.ps1 | Build + copy the DLL into Quantower. | | HTTP-API.md | Endpoint reference. | | TESTING.md | Smoke-test procedure. |
A note on Quantower's proprietary DLL
This repo references TradingPlatform.BusinessLayer.dll with false — it is linked at build time but never copied into output or committed. This project neither bundles nor redistributes any Quantower proprietary binaries; you supply your own via your licensed Quantower install.
Support this project
This bridge is free and MIT-licensed, and built in the open. If it's useful to you and you don't already have a Quantower account, the best way to support continued development is to sign up through my Quantower referral link.
Disclosure: Quantower is free to start. If you later purchase a Quantower license, I receive a small referral share — at no extra cost to you. Nothing in this project is gated behind the referral; it's an optional way to say thanks.
License
[MIT](LICENSE) © 2026 Travis Clement.
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: Travis-Clement-Dev
- Source: Travis-Clement-Dev/quantower-mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.