qdf-mcp
Two MCP servers that let a QuantDataForge subscriber drive the platform from their own Claude Code / Claude Desktop:
qdf-mcp-strategy— StrategyCreator: author trading strategies in Python, backtest them against QDF's 5-year 1-minute futures history (ES, NQ), and read the metrics + equity curve back — all in your Claude session.qdf-mcp-cockpit— Open Cockpit: a live, read-only window into the open — which levels are armed, how each is defended tick-by-tick, plus market-state, options and catalyst reads.
Both are thin HTTPS clients. All the heavy lifting (data, backtest engine, sandbox) runs on the QDF server. Each server scopes everything to your personal API token.
Setup
1. Install uv (one time)
uvx runs the servers in an isolated environment and pulls all dependencies
automatically — you do not need to install any Python packages by hand.
- Windows:
powershell -ExecutionPolicy Bypass -c "irm https://astral.sh/uv/install.ps1 | iex" - macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
(Or pip install uv if you already have Python.)
2. Get your token
On the website, open Strategy Lab → API Tokens, click Generate, and copy
the qdf_sk_… token (shown once). The same token works for both servers.
3. Add the servers to your Claude config
Paste this into your MCP client config — Claude Desktop's
claude_desktop_config.json, or a project .mcp.json for Claude Code — with your
token in both places:
{
"mcpServers": {
"strategy-creator": {
"command": "uvx",
"args": ["--from", "qdf-mcp", "qdf-mcp-strategy"],
"env": {
"QDF_API_TOKEN": "qdf_sk_…your token…",
"QDF_API_URL": "https://quantdataforge.com"
}
},
"qdf-cockpit": {
"command": "uvx",
"args": ["--from", "qdf-mcp", "qdf-mcp-cockpit"],
"env": {
"QDF_API_BASE": "https://quantdataforge.com",
"COCKPIT_READ_TOKEN": "qdf_sk_…your token…"
}
}
}
}
Don't need both? Keep just the block you want — they're independent and the same token authorizes either.
4. Restart your client and ask Claude
- "Scaffold a breakout strategy and backtest it on ES 1m."
- "Watch the cockpit and tell me when a level breaks."
The cockpit's live tools only return data during the watch window (~08:00–10:30 ET) with the feed up; outside that they report the feed is offline rather than erroring.
Requirements
Python ≥ 3.10 (uv manages this for you). The only dependencies are mcp and
httpx, installed automatically by uvx.
Metadata
Release files for qdf-mcp 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qdf_mcp-0.3.0.tar.gz | 13.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qdf_mcp-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 30.1 kB
Release files / qdf_mcp-0.3.0.tar.gz
| Download URL | qdf_mcp-0.3.0.tar.gz |
|---|---|
| Size | 13.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d0577dd0ecb2e147e0159dd10b838e0e4b06f2f92bde6cbc60afffa803fd7bf8
|
|
BLAKE2b-256 checksum How to use checksums |
4fcdc7cb50d9a6eefcc6f5cd674cd1611380686ecad776d34b7b766f55fd05e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.5
|
Release files / qdf_mcp-0.3.0-py3-none-any.whl
| Download URL | qdf_mcp-0.3.0-py3-none-any.whl |
|---|---|
| Size | 16.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a396253b5d89efd45e577fb3344932d5e89d54a2e36c696352369b2e04730be8
|
|
BLAKE2b-256 checksum How to use checksums |
9a2d9927f354490f2e8ba17369ddde967948ffc95bad2001075ea994cec2dbc3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.5
|