MCP Pionex Management
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PIONEX_API_KEY | No | API key for private Pionex tools. Optional; public market data works without credentials. | |
| PIONEX_API_SECRET | No | API secret for private Pionex tools. Optional; public market data works without credentials. | |
| PIONEX_API_BASE_URL | No | Pionex API base URL. | https://api.pionex.com |
| PIONEX_ALLOWED_SYMBOLS | No | Comma-separated allowlist of symbols, e.g. BTC_USDT,ETH_USDT. Default is unlimited. | |
| PIONEX_MAX_BATCH_ORDERS | No | Maximum number of orders in a batch order. | 10 |
| PIONEX_MAX_BOT_INVESTMENT | No | Maximum bot investment. Default is unlimited. | |
| PIONEX_REQUEST_TIMEOUT_MS | No | Request timeout in milliseconds. | 15000 |
| PIONEX_MAX_ORDER_BASE_SIZE | No | Maximum base amount for an order. Default is unlimited. | |
| PIONEX_MAX_ORDER_QUOTE_AMOUNT | No | Maximum quote volume for an order. Default is unlimited. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| pionex_market_get_symbol_infoC | Get symbols info Get trading pair information. Weight: 5. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_market_get_tradesB | Get market trades Get recent trades. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_market_get_depthB | Get order book depth Get order book snapshot. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_market_get_tickersB | Get 24hr tickers Get 24-hour price change statistics. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_market_get_book_tickersC | Get book tickers Get best bid/ask prices. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_market_get_klinesB | Get klines (candlestick data) Get OHLCV candlestick data. Weight: 1. Maximum 10,000 records. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_account_get_balanceA | Get account balances Get trading account balances (excludes bot and earn accounts). Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_orders_get_orderB | Get order Get order details by order ID. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_orders_new_orderC | New order Place a new order. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_orders_cancel_orderB | Cancel order Cancel an existing order. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_orders_new_multiple_ordersB | New multiple orders Place multiple orders at once (up to 20, LIMIT only). Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_orders_get_order_by_client_order_idB | Get order by client order ID Get order details by client order ID. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_orders_get_open_ordersA | Get open orders Get all open orders for a symbol. Maximum 200 open orders per symbol. Weight: 5. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_orders_get_all_ordersB | Get all orders Get all orders (open and closed) for a symbol. Weight: 5. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_orders_cancel_all_ordersA | Cancel all orders Cancel all open orders for a symbol. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_orders_get_fillsB | Get fills Get trade fills for a symbol. Returns latest 100 fills when exceeding limit. Weight: 5. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_orders_get_fills_by_order_idC | Get fills by order ID Get trade fills for a specific order. Weight: 5. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_wallet_get_balance_fullB | Get full account balances overview Query all account balances overview including Spot (Bot Account) and Futures (Trader Account) dimensions, with price information for each coin and total USDT/BTC valuations. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_get_bot_ordersA | Get bot order list Query bot order list with optional filters by order type, status, and trading pair. Supports pagination. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_get_futures_grid_orderB | Get futures grid order Query a futures grid bot order by ID. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_create_futures_grid_orderC | Create futures grid order Create a new futures grid bot order. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_check_futures_grid_paramsA | Check futures grid parameters Validate futures grid bot creation parameters and estimate investment values without creating an order. Weight: 1. Pass a positive Extra Margin Modes (controlled by
FailedWithData: For errors marked "Yes" below, the response includes a Validation error messages (returned in
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_adjust_futures_grid_paramsB | Adjust futures grid (add investment / modify range) Add investment, modify grid range, or set trigger investment for a futures grid order. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_reduce_futures_gridB | Reduce futures grid position Reduce position size of a futures grid order. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_cancel_futures_grid_orderB | Cancel futures grid order Close and cancel a futures grid bot order. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_adjust_futures_grid_params_checkA | Check futures grid adjust parameters (dry-run) Validate adjust params / invest-in parameters and return estimated data without executing. Use this before calling adjustParams to preview the impact. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_reduce_futures_grid_checkA | Check futures grid reduce (dry-run) Validate reduce parameters and return estimated data without executing. Use this before calling reduce to preview the impact. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_pause_futures_grid_checkA | Check futures grid pause (dry-run) Validate whether a futures grid order can be paused ( | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_pause_futures_gridA | Pause futures grid order Pause a running futures grid order. Runs the same validation as | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_resume_futures_grid_checkA | Check futures grid resume (dry-run) Validate whether a paused futures grid order can be resumed and return the estimated
liquidation prices after resuming, without executing. Order must be in | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_resume_futures_gridA | Resume futures grid order Resume a paused futures grid order. Runs the same validation as | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_add_margin_futures_grid_checkA | Check futures grid add margin (dry-run) Validate whether the add-margin amount is valid and return the estimated liquidation
prices before and after the change, without executing.
Does not accept | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_add_margin_futures_gridA | Add margin to futures grid order Transfer margin into a futures grid order. Runs the same validation as | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_reduce_margin_futures_grid_checkA | Check futures grid reduce margin (dry-run) Validate whether the reduce-margin amount is valid (subject to the | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_reduce_margin_futures_gridA | Reduce margin of futures grid order Transfer margin out of a futures grid order. Runs the same validation as
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_update_trigger_profit_loss_futures_gridA | Set / update / clear take-profit & stop-loss Set, update, or clear the take-profit and/or stop-loss of an already running futures grid order. Weight: 1. This does NOT create triggers for a not-yet-started order — use Request field naming: unlike the other
Clearing a trigger: pass
Neutral grid (
Use Asynchronous write: a successful response only means the request was accepted
and forwarded. The take-profit / stop-loss is persisted onto the order record
asynchronously — poll Restrictions (return
Examples — request bodies for common combinations: Set a stop-loss at a fixed price: Set a take-profit at a fixed price: Set both take-profit and stop-loss in one call: Stop-loss by loss ratio (−20%) and take-profit by profit ratio (+50%): Take-profit by profit amount, settled to USDT: Take-profit as a limit order (place a limit at 149000 when 150000 is hit), with a 30s trigger delay: Neutral grid ( Clear a previously set stop-loss (empty | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_get_spot_grid_orderB | Get spot grid order Query a spot grid bot order by ID. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_get_spot_grid_ai_strategyC | Get spot grid AI strategy Query AI-recommended grid strategy parameters for a trading pair. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_create_spot_grid_orderC | Create spot grid order Create a new spot grid bot order. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_check_spot_grid_paramsA | Check spot grid parameters Validate spot grid bot creation parameters and estimate investment values without creating an order. Weight: 1. Pass a positive FailedWithData: For errors marked "Yes" below, the response includes a Validation error messages (returned in
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_adjust_spot_grid_paramsB | Adjust spot grid parameters Modify grid range (top/bottom/row) or adjust investment for a running spot grid order. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_invest_in_spot_gridC | Add investment to spot grid Add additional investment to a running spot grid order. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_cancel_spot_grid_orderB | Cancel spot grid order Close and cancel a spot grid bot order. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_profit_spot_gridC | Extract profit from spot grid Extract accumulated grid profit from a running spot grid order. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_get_smart_copy_orderB | Get smart copy order Query a smart copy bot order by ID. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_check_smart_copy_paramsA | Check smart copy parameters Validate smart copy bot creation parameters and check the maximum investment limit. Weight: 1. Requires Returns the maximum allowed investment, maximum leverage, and notional/available limits for the given base/quote/signal combination. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_create_smart_copy_orderC | Create smart copy order Create a new smart copy bot order. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_cancel_smart_copy_orderB | Cancel smart copy order Close and cancel a smart copy bot order. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_get_kol_select_copy_trade_listA | Get KOL curated copy-trade order list Query a KOL's curated/pinned copy-trade order list by share code, with optional filters by symbol, trend, and leverage. Supports pagination and sorting. Weight: 1. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_signal_listenerC | Push custom trading signal Push a custom trading signal to drive smart copy orders. Weight: 1. Requires | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_list_user_signalsA | List user custom signals Return a paginated list of user-defined signals. Weight: 1. Requires | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_create_user_signalA | Create user custom signal Create a new user-defined signal. Each user can have at most 100 signals. Weight: 1. Requires | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_get_user_signalA | Get user custom signal detail Return detail of a specific user-defined signal including webhook URL and message template. Weight: 1. Requires | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_edit_user_signalA | Edit user custom signal Update the title and/or description of an existing user-defined signal. Weight: 1. Requires At least one of | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_bot_delete_user_signalA | Delete user custom signal Delete a user-defined signal. Weight: 1. Requires Deletion is rejected if the signal has any non-cancelled orders. Error code | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_arbitrage_fetch_productsA | List Arbitrage products Returns the list of Term Arbitrage products currently available. Requires Example request: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_arbitrage_fetch_user_balancesA | Get user Arbitrage balances Returns the authenticated user's Term Arbitrage positions and balances. Requires Example request: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_arbitrage_stakeA | Stake into an Arbitrage product Subscribes to a Term Arbitrage product. Requires Validation:
Example request body: Example response: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_arbitrage_un_stakeA | Redeem from an Arbitrage product Redeems from a Term Arbitrage product. Requires Validation:
Example request body: Example response: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_dual_symbolsA | List supported trading pairs Returns all trading pairs supported by Dual Investment, optionally filtered by base currency. Weight: 1. Supported quote currencies include: Example request: Example response: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_dual_productsA | List open products Returns currently open Dual Investment products for a specific trading pair and type. Weight: 1. Type semantics:
Quote currency rules:
Example request (BTC, DUAL_BASE): Example request (XRP, DUAL_BASE): Example response: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_dual_pricesA | Get product prices Returns the latest yield rate and investability status for Dual Investment products. Weight: 1. All three parameters are required:
When
Example request (USDT pair): Example request (USDXO pair): Example response: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_dual_indexA | Get underlying index price Returns the real-time index price for a Dual Investment underlying asset. Weight: 1. Both The index price is the reference price used at settlement to determine whether the strike price was hit. Example request (USDXO pair): Example request (USDT pair): Example response: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_delivery_pricesA | Get historical delivery prices Returns historical settlement delivery prices for a Dual Investment pair. Weight: 1. The delivery price is the index price recorded at the exact moment of each product's expiry, used to determine the settlement direction (base or quote currency payout).
Example request (BTC/USDXO): Example request (XRP/USDT): Example response: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_dual_balancesA | Get user balances Returns the authenticated user's Dual Investment account balances. Requires Example request: Example response: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_dual_investA | Create investment order Creates a new Dual Investment order. Requires Provide either
Example request body: Example response: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_dual_revoke_investA | Revoke investment order Revokes a pending Dual Investment order before it is matched. Requires Parameters are passed as a JSON request body, not query string. Only orders in a pending/unmatched state can be revoked. Example request body: Example response: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_dual_get_investsC | Batch query investment orders Returns details for a batch of Dual Investment orders by client order ID list. Requires Example request body: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_dual_invest_recordsA | Get investment history Returns paginated Dual Investment history for the authenticated user. Requires Example request: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| pionex_earn_dual_collectA | Collect settled earnings Collects settled Dual Investment earnings into the user's spot account. Requires Only orders in a settled state can be collected. Example request body: Example response: |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 70 tools
Most tools have clear resource+action boundaries (market data vs. orders vs. bots vs. earn), and the many dry-run variants are marked with a `_check` suffix. However, there are several easily confused pairs: `get_bot_orders` vs. `get_futures_grid_order`/`get_spot_grid_order`, `adjust_futures_grid_params` vs. `add_margin_futures_grid`, and `reduce_futures_grid` vs. `reduce_margin_futures_grid`.
The server broadly follows a `pionex_<domain>_<action>` snake_case pattern, which is readable and predictable. But verb conventions are mixed: `new_order` vs. `create_*`, `fetch_products` vs. `get_*`, several earn endpoints lack a verb (`dual_symbols`, `dual_products`, `dual_prices`), and `signal_listener` is a noun rather than an action.
With 70 tools, the server is far beyond a reasonable MCP surface and exceeds the 50+ threshold for extreme mismatch. Even though the domain is broad (market, orders, wallet, bots, earn), this should be split into several focused servers or consolidated.
Coverage is broad: market data, order lifecycle, balances, grid/copy bots, signals, and earn products are all represented. Minor gaps remain, such as wallet deposit/withdraw/transfer operations and order modification, but core trading workflows are largely complete.