Connect NoxarQuant to an AI assistant, or call it yourself.
The MCP server lets an assistant such as Claude or Cursor import your trades, read your groups and verdicts, run a Monte Carlo and save a trading plan. It is a thin wrapper over a REST API you can call with the same token. Everything it returns describes your own past trades; none of it is a forecast or advice.
Who can use it
Pro and Elite, and the 7-day free trial. On Basic, or once a trial has ended, every call answers 403 with a message naming the plan. A token only ever reads and writes the account it was made for.
What it can change
Two things, and nothing else:
- importing trades adds them to your journal;
- saving a trading plan replaces the checklist you have saved.
Every other call is a read. Nothing here places a trade, connects to an exchange or moves money, and the verdicts, scores and thresholds are worked out on our side, never by the assistant.
Set it up
1. Get a token. In the app, Settings → Account → Connect an assistant makes a token that starts dvt_ and shows a config block to paste. It is shown once, so copy it then. You can revoke it in the same place. From a terminal, npx @noxarquant/mcp pair prints a code to confirm at noxarquant.com/devices/pair while signed in, then prints the token.
2. Add it to your client. For Claude Desktop, in claude_desktop_config.json:
{
"mcpServers": {
"noxarquant": {
"command": "npx",
"args": ["-y", "@noxarquant/mcp"],
"env": { "NOXAR_DEVICE_TOKEN": "dvt_..." }
}
}
}Restart the client and ask it something like: import these trades into NoxarQuant and tell me which groups lost money. Keep the token secret: it opens your account.
MCP tools
| Tool | What it does |
|---|---|
| noxar_import_trades | Adds trades to your journal. Give every trade of one strategy the same strategy label; that label is how results are grouped and filtered. NoxarQuant works out the market conditions itself, usually within a few minutes. |
| noxar_get_risk_map | Your groups: one coin in one set of conditions each, with its verdict (CORE, PROMISING, FORMING or NDC), a 0 to 100 score, trade count and P&L. Filter by strategy or symbol. |
| noxar_run_monte_carlo | Starts a resampling run on your later test-window trades in the groups you choose, labelled on the earlier training window. Returns a job_id straight away. |
| noxar_get_monte_carlo_result | The run's status while it works, then the training and test summaries, drawdown percentiles and risk of ruin. |
| noxar_get_trading_plan | Reads your saved do / caution / review checklist, with the group figures behind it. |
| noxar_save_trading_plan | Saves a checklist of up to 30 items. This replaces your saved plan. |
| noxar_list_prop_firms | The prop firm challenges that can be simulated: each firm, its evaluation models, account sizes and published fees. Gives the exact values noxar_prop_survival needs. |
| noxar_prop_survival | Replays your past trades through one challenge's rules many times: how often attempts passed, hit a loss limit or were unresolved, which rule ended them, and the expected fees to pass. Needs at least 30 closed trades. |
All eight are in version 0.2.0 of the package. If your assistant lists only six, it is running 0.1.0: use @noxarquant/mcp@latest in the config above and restart it.
REST API
Base address https://noxarquant.com. Send the token as a bearer token on every request. Responses are JSON.
curl https://noxarquant.com/api/v1/me/risk-map?symbol=BTC \
-H "Authorization: Bearer dvt_..."| Method | Path | What it does |
|---|---|---|
| POST | /api/v1/me/trades/import | Import trades (the import tool). Body: { trades: [...], timezone }. |
| GET | /api/v1/me/risk-map | Your groups and verdicts. Optional ?strategy= and ?symbol=. |
| GET | /api/v1/me/clusters/summary | Counts of each verdict and your top CORE group, if any. |
| POST | /api/v1/me/monte-carlo | Start a run. Returns { job_id }. |
| GET | /api/v1/me/monte-carlo/{job_id} | A run's status, then its result. |
| GET | /api/v1/me/trading-plan | Your saved checklist. |
| PUT | /api/v1/me/trading-plan | Replace your saved checklist. Body: { checklist: [...] }. |
| GET | /api/v1/me/prop-catalog | The prop-firm challenges that can be simulated, with each firm's published rules and fees. |
| POST | /api/v1/me/prop-survival | Your closed trades replayed through one challenge's rules. Body: { firm, account_size, model?, num_simulations? }. Needs at least 30 closed trades. |
| GET | /api/v1/me/trades/open | Your open positions and their unrealised P&L. |
Verdict names
The API and the MCP tools return the stored verdict names. The app shows the plain words beside them.
| In the API | In the app | Rule |
|---|---|---|
| CORE | Strong | SQN of 2.5 or more, shown from 30 trades |
| PROMISING | Promising | SQN of 1.6 or more on 30 or more trades, short of strong |
| FORMING | Too early, or No clear edge | no verdict yet: under 30 trades it reads too early; at 30 or more, no clear edge |
| NDC | Lost money | SQN of minus 1 or lower on 12 or more trades |
Trade format for imports
| Field | Notes |
|---|---|
| symbol | Required. The ticker, for example BTC or ETH. |
| side | Required. long or short (buy and sell are accepted). |
| entry_price | Required. A number. |
| exit_price | Optional. Leave it out for an open trade. |
| open_time, close_time | Optional. ISO 8601, for example 2026-01-15T14:30:00Z. Times without a zone are read in the timezone you send. |
| quantity, pnl, fees | Optional numbers. Positive fees are a cost, negative ones a rebate. |
| r_multiple | Optional. |
| strategy | Optional, but set it: the same label on every trade of one strategy. |
| notes | Optional text. |
Send a timezone alongside the trades, for example Europe/London, for any times written without one. Do not send market-condition fields: they are worked out from price data, so a caller cannot set them.
Importing a CSV file
On the import page, pick your source and drop the file. Three formats are read directly: the Noxar template, a TradingView Strategy Tester list of trades, and a Hyperliquid fills export. For anything else, fill in the template: download it here. It has one row per closed trade with the columns symbol, side, open_time, close_time, entry_price, exit_price, quantity, pnl, pnl_pct, r_multiple, fees, strategy and notes, and two example rows.
If your export lists fees separately, put them in the fees column and give pnl before fees: the fees are taken off before anything is graded, and both figures are kept. If your pnl already has fees taken off, leave fees empty.
Errors and limits
| Status | When |
|---|---|
| 401 | No token, or one we do not recognise. Body: { "error": "Unauthorized" }. |
| 403 | The account's plan does not include MCP and the REST API. The body's error says which plan and what to do. |
| 429 | Too many requests. Body: { "error": "Too many requests" }. Wait and try again. |
Reads allow 30 requests in 10 seconds. Saving a plan and running a prop survival check allow 10 in 10 seconds. Imports allow 30 in a minute, and count towards your plan's monthly trade allowance like any other import. Monte Carlo runs count towards your plan's runs.
Help
Questions about the API go to help@noxarquant.com.
NoxarQuant describes your own past trades. It does not give trading advice, and past results do not guarantee future ones.