MCP.Market

Qmax MCP server

online · 100% uptime
by profitphil·io.github.profitphil/qmax·v1.0.0

Qubic DEX aggregator: best-price quotes across QX and QSwap, order books, candles, trade plans.

B81/100grade B
What users say
No reviews yet
Be the first
Safety scan
B81/100

full report

Adoption
Growing

0 stars

Reviews

Write one

Nobody has reviewed Qmax yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Qmax tools (19, 2 write)

write = sends, deletes, buys or posts
  • qmax_backtestFree

    Replays a strategy over real hourly trade data with the venues' real fees and reports what it would have done: final value, return, buy-and-hold comparison, max drawdown, fees paid, trades. Decisions are made on an hour's close and filled at the next hour's open; hours with no trades cannot be traded. Strategies: 'hold' (buy once, hold), 'dca' (spend amountQu every everyHours), 'bands' (buy fractionPct of the QU when the price is bandPct below its lookbackHours average, sell fractionPct of the holding when above, with a cooldown). The result's 'warnings' note that there is no order book depth in the history, so large amounts are optimistic, and QSwap's flat 100,100 QU fee can swallow small trades. Past results do not predict future ones.

  • qmax_build_planFree

    Quotes an order and returns the exact transactions a wallet must sign to carry it out, in order. QMax signs nothing and sends nothing: you (or the user) sign each step with your own wallet and broadcast it. Steps (in order): any share-management move needed first (selling shares that the other market manages), then one call per market. Each step: kind, description, destination (a smart contract by index), inputType (procedure number), amountQu to attach (QU that may leave the wallet; unused QU is refunded by the contracts) and payloadBase64 (the call's input bytes). 'maxOutlayQu' is the most QU that can leave the wallet across all steps, so it is the figure to compare with a spending limit before signing. Signing and sending a step moves real funds. For a sell, pass how many shares the wallet holds under QX management and under QSwap management (holdings_qx, holdings_qswap) so the right moves are planned. Buys need no holdings.

  • qmax_check_arbitrageFree

    Searches, live and at full depth, for a profitable buy-on-one-market, sell-on-the-other loop after every venue fee, and returns the most profitable size or null. It is two separate transactions, so the second leg can fill worse than shown; this is a snapshot, not a guarantee. Only assets on both markets can have one. Free on qmax.exchange; a QMax server run with metered billing can charge a small fee for a found result.

  • qmax_get_candlesFree

    Open, high, low, close, QU volume, units and trade count per candle, built from every trade QX and QSwap logged (a minute wide at the finest; about six months back, which is all the Qubic archive has: its trade records begin in April 2026). A candle exists only where something traded, so a gap means no trades. The response also gives the last 24 hours of volume across both markets. Returns: { asset, range, interval, venue, candles: [{ t (ms), o, h, l, c, volumeQu, volumeQty, trades }], truncated?, available?, volume24hQu, trades24h }. Prices are QU per unit.

  • qmax_get_flowwrite actionFree

    Buy and sell volume (QU and units), trade counts and net pressure (positive = more buying) over the last hour or 24 hours, for one asset or the whole market. Direction is the taker's side. 'partial' is true while the server is still loading the window.

  • qmax_get_healthFree

    A 0 to 100 score and A to E grade for an asset, from its QX order book, its QSwap pool and six months of trades, with flags and plain-English reasons (most important first). Flags include thin-book, wide-spread, quiet, few-trades, new-listing, volume-spike, one-sided, pool-dominated and wash-suspected / bot-burst (a single wallet churning tiny same-size swaps against itself, which inflates trade counts but not volume). Many assets grade D or E because QX markets are thin: that is information, not an error. It is an automated estimate from public data and NOT advice; the absence of 'wash-suspected' is not proof of a clean market (large wash trades are not detectable from this data). Omit 'asset' to get every asset's grade in one call.

  • qmax_get_liquidity_poolFree

    A QSwap pool's reserves (QU and tokens), total liquidity units and price, read from the contract. It shows how deep a pool is. Adding or removing liquidity each cost a flat 100,000 QU on top of any deposit. Read-only.

  • qmax_get_liquidity_positionsFree

    Every QSwap pool a wallet has liquidity in (public chain data, so any 60-letter identity works): its liquidity units, share of the pool, what removing it all would pay (QU and tokens, before QSwap's flat 100,000 QU fee) and its value in QU at the pool's own price, read live from the contract. Read-only. Adding or removing liquidity is done in the QMax app with a wallet; this tool never builds or signs one. 'complete' is false when a pool could not be read and its positions are missing. 'earnedFeesQu' is already inside what removing pays, nothing pays it separately. Values are estimates at the pool's price, which can be far from what the tokens sell for on a thin market.

  • qmax_get_order_bookwrite actionFree

    What is resting on the QX order book (grouped by price, with cumulative size and cost from the best price outward, best bid/ask, spread) and the QSwap pool (reserves, price, and how far trades of 0.1% to 5% of the pool would move the price). It shows the depth available at each price.

  • qmax_get_price_historyFree

    The asset's price over time as points (ms timestamp, price in QU, and for recently recorded points the best bid, ask and pool price). Points before 'recordedSince' were rebuilt from past trades as hourly volume-weighted averages (marked src 'trades'); after it QMax recorded the price about every 10 minutes. OHLC and volume are in qmax_get_candles.

  • qmax_get_quoteFree

    Prices an order and finds the cheapest route across the QX order book and the QSwap pool, splitting the order across both when that is cheaper. Nothing is placed. Returns an openInQMax link (when the order can be filled) that opens QMax with this order filled in, for the person to review and sign in their own wallet. Also returns the total in QU, the average price, each leg (venue, quantity, price range, fees, price impact), what each single market alone would cost, a plain-English line saying what the routing saved, and warnings. All amounts are QU; quantities are whole units. The quote is a snapshot: prices move, so it can differ a moment later.

  • qmax_get_sellersFree

    For the last 7 days: the wallets that sold the asset on QX or QSwap, how long each had held the units (each unit sold is matched, first in first out, to the purchase it came from), what they paid and whether they sold above or below that, with a plain-language reading ("what the numbers say"). Read from the public Qubic archive, so the first call for an asset starts the reading and answers status "working" with its progress and what is known so far; a reading takes a minute or two, after which the status is "ready" and the answer is kept for six hours. The chain shows who sold and what they paid, not why. Free.

  • qmax_get_tapeFree

    The most recent trades on both markets in one feed, newest first: time, market, asset, quantity, QU, price and direction. The direction is the TAKER's side (the person who started the trade): 'buy' or 'sell'. Rows also carry the transaction hash. The answer includes 'flow24h', the last 24 hours of buy versus sell volume, and 'latestId', the id to give as 'since' to get only newer trades. Served from memory, so cheap to poll.

  • qmax_get_wallet_ledgerFree

    Every QX and QSwap buy and sell a wallet made (read from public on-chain transfers, so any 60-letter identity works): price, QU net of fees, estimated fees, running position, and average-cost realized profit, plus current positions with unrealized profit and loss. ESTIMATED. The 'warnings' and 'truncated' fields say that the archive has no events for about 10 to 14 June 2026, units that arrived before the window or by transfer have no known cost (selling them is not counted as profit), and QSwap liquidity changes appear as transfers. Unrealized P&L uses the mid or pool price, which can mislead on thin markets. Takes a few seconds and many archive reads, so it is rate limited per address. Not tax advice.

  • qmax_list_assetsFree

    Lists assets that trade on QX and/or QSwap, most liquid first, or searches by symbol. Gives each asset's symbol and which markets it trades on ('QX', 'QSwap' or both: only assets on both can be split for a better price). Returns: { count, assets: [{ id, symbol, category ('contract' shares or 'token'), venues, priceQu, liquidityQu, activity }] }. Prices are QU per unit.

  • qmax_list_poolsFree

    Every QSwap liquidity pool with its TVL, trailing swap volume, estimated fee APR (from real swap volume; only 0.192% of each swap's volume reaches liquidity providers), price change and impermanent loss over the window. A trailing estimate: past fees do not predict future fees, and volume that looks inflated (wash trading) is flagged in each pool's notes.

  • qmax_pool_detailFree

    One pool's numbers explained, and for a deposit size (position_qu, the QU value of both sides together) an estimate of fees per day, per 30 days and the impermanent loss for price moves of 10%, 25% and 50%. Adding and removing liquidity each cost a flat 100,000 QU.

  • qmax_swap_quoteFree

    Plans swapping one token for another as two linked trades: sell 'from' for QU (leg 1), then buy 'to' with the QU (leg 2), each routed across QX and QSwap by the best route. Read-only: nothing is signed. Returns both quotes, 'upfrontQu' (QU the wallet must hold before leg 1 for its flat fees), 'expectedOutQty' (what the swap should return) and 'minOutQty' (guaranteed by the limits only if neither price moves past the slippage limit), plus warnings. Leg 2 can only be sized exactly after leg 1 settles, from the wallet's real balance, so a swap is never one atomic transaction: if leg 1 completes and leg 2 cannot proceed you are left holding QU. Both tokens must trade on QX or QSwap; QU itself is not a swap leg (qmax_get_quote prices a plain purchase or sale for QU).

  • qmax_venue_premiumFree

    Hour by hour, the gap between the asset's QX and QSwap prices (positive = QSwap dearer) and how often it was wider than the trading costs for a trade of 'reference_qu'. This is an UPPER BOUND on arbitrage, not a profit: it uses hourly average prices, so it leaves out the QX bid-ask spread (often wider than the costs) and the delay between the two transactions. Returns { bothVenues, breakEvenPct, points, summary, note }.

Public scan report

scanner v0.1.10 · 2026-10-28 · same rubric, same numbers if you re-run it

1 high
  • –Code scanremote-only server, no package to scann/a
  • Live reliabilityremote reachable in 1641ms20/20
  • Tool poisoning19 tool descriptions checked15/15
  • Auth qualityopen endpoint exposes 2 write-action tools with no auth3/15
  • Maintenancelast push 11 days ago15/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10

Findings (1)

  • highWrite-action tools reachable without authenticationauth.open-write
Overall 81/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Qmax compares

Against every graded E-commerce MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
81/100
higher than 73% of 2,174 E-commerce servers
Tools
19
the typical E-commerce server has 6
Tools that change things
11%
typical: 0%. Fewer write tools means less an agent can break
Uptime
100%
of our recent checks; the typical remote E-commerce server answers 100%
Response time
695 ms
faster than 21% of 1,527 E-commerce servers

What its tools let an agent do: 17 read · 2 change

Install Qmax in Claude Code, Cursor or VS Code

claude mcp add --transport http qmax https://qmax.exchange/api/mcp
Add to Cursor

What the publisher says

From the Qmax repository's README, as published. We do not edit it. Read it on GitHub

QMax

About this repository. This is the open part of QMax: the router, the HTTP API, the website, the SDK, the MCP server and the x402 helpers. Some parts of QMax's own deployment are not included: the Max planner, the Max pass logic, the Discord bot (apart from its QU price feed), the server deployment files and every secret. Where code here depends on a withheld part there is a small stand-in file that keeps the types and says so, so the rest builds and runs. All rights reserved: no license is granted.

QMax finds the best route to get you the max for your money on Qubic. Given buy 5000 ASSET, it prices the order on the QX order book and the QSwap pool (fees, price impact and transfer costs included) and routes to the cheaper venue, or splits across both.

npm i
npm run qmax -- buy 100000 [--snapshot file.json] [--no-split]
npm test

What costs money (and what does not)

Almost everything is free, to help adoption, since other Qubic sites are free: the website (no pass, no per-trade fee), the HTTP API (no key, no billing), the SDK, the MCP server and agents. The one thing sold is Max quotes for agents (GET /v1/max, APIMAXPRICEQU, 100 QU a plan on the live server): an agent pays from a prepaid key's balance or holds an x402 session, while the website's own Max and QMax's own keys never pay (below). The Discord bot's subscription exists in the code but is switched off. "Free" is not "unlimited": callers without QMax's own key are limited per IP on the market endpoints (APIFREEPERMIN, default 60 a minute) so one of them cannot swamp the Qubic node, and QMax's own key (the Discord bot) is not limited. Income is therefore the Max quotes agents buy (and any support tips), and the Discord subscriptions if they are ever switched back on, which is also what the subscribers' profit share is made from (below).

  • APIACCESS=free (default): everyone, no key. billing: the old prepaid per-call prices and x402 sessions, kept but off. private: only APIKEY gets in.
  • APIMAXPRICEQU (default 0: Max quotes are free; 100 on the live server) sells Max plans to agents inside APIACCESS=free: the meter then serves only GET /v1/max, and keys and top-ups work (POST /v1/keys, GET /v1/topup, POST /v1/topup/claim, GET /v1/account) but nothing else is charged. Who pays: an agent with a prepaid key (x-api-key) is charged the price after the plan is made, so a request that cannot be planned costs nothing (and one whose balance was spent meanwhile gets a 402, not the plan); an agent with an x402 session (GET /v1/x402, APISESSIONPRICEQU for APISESSIONSECONDS) pays nothing per plan; anyone else gets a 402 that names the price and both ways to pay. Never charged: QMax's own keys (APIKEY, ADMIN_KEY) and requests the website's own page makes (a browser marks them Sec-Fetch-Site: same-origin, which a page's script cannot change, so another site's page is charged). That is a soft check, not a lock: a program outside a browser can send the same header and save the price, which is why the price is small. A per-plan payment is not offered on purpose: QPayhub keeps at least 100 QU of every payment and a payment takes about ten seconds, so a 100 QU payment per call would lose all its value to the fee. A top-up of 10,000 QU buys 100 plans for a fee of about 1%.
  • The website's pass is off. Build the site with VITEREQUIREPASS=on to ask for it again (PAYWALL in src/config.ts sets its price).
  • The sections below on the pass, prepaid API keys and x402 sessions describe those optional modes.

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Qmax: common questions

Is Qmax MCP server safe?
Mostly: it is graded B (81/100). Read the Qmax safety report
How do I install Qmax?
It runs remotely at qmax.exchange. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does Qmax need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Qmax maintained?
The last commit was 17 days ago (2026-10-17). The latest release is v1.0.0.
Is Qmax up?
100% of our last 28 checks got an answer. We check remote servers about four times a day.
What can I use instead of Qmax?
Servers from other publishers that do the same job: Iran Crypto Exchanges MCP server, Polymarket Paper Trader MCP server and Tiny MCP server.
How does Qmax compare with other E-commerce MCP servers?
safety score 81/100 (higher than 73% of 2,174 E-commerce servers); tools 19 (the typical E-commerce server has 6); tools that change things 11% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to Qmax

Same job from other publishers: the closest match first, then the best rated.

  • Iran Crypto Exchanges
    Unofficial read-only Iranian crypto exchanges: prices in Toman, order books, trades, candles.
    A
  • Polymarket Paper Trader
    Polymarket paper trading for AI agents: $10k paper money, real order books, official fees.
    A
  • Tiny
    MCP server for Tiny ERP — products, stock, warehouses, price lists, orders, invoices, AP/AR
    B
  • Esimfly
    eSIMfly Business API: search eSIM plans, check usage, diagnose eSIMs, optionally order (confirmed)
    A
  • Robinhood Crypto
    Robinhood Crypto Trading API for AI agents: quotes, holdings, orders read-only; opt-in trading.
    B