MCP-Server

Quote.Trade MCP Adapter

trade.quote/mcp
Krypto & Web3 Finanzen & Investieren Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Connects to Quote.Trade for market data, account and position checks, order placement and cancellation, deposits, stablecoin withdrawals, and order history.

quote_trade_account
Quote.Trade account summary
Withdraw step 1 / anytime account check. GET /api/account with per-request X-MBX-APIKEY. Inspect available balances before withdraw. No live trading action.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_api_discovery
Quote.Trade direct API discovery
Read once to learn efficient direct REST/WebSocket use: routes, signing, streaming, cumulative depth, and client execution controls. Public guidance only; no upstream calls.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['schemaVersion', 'serverVersion', 'releaseDate', 'purpose', 'discoveryUrl', 'bases', 'documentation', 'workflow', 'rest', 'webSocket', 'depthSemantics', 'executionControls'], 'properties': {'rest': {'type': 'object', 'description': 'Routes and route-specific signing guidance.'}, 'bases': {'type': 'object', 'description': 'Configured REST, WebSocket, and MCP URLs.'}, 'purpose': {'type': 'string', 'description': 'How to use the guide.'}, 'workflow': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Efficient agent integration workflow.'}, 'webSocket': {'type': 'object', 'description': 'Subscriptions and reconnection guidance.'}, 'releaseDate': {'type': 'string', 'description': 'MCP implementation release date (YYYY-MM-DD).'}, 'discoveryUrl': {'type': 'string', 'description': 'Public HTTP discovery URL.'}, 'documentation': {'type': 'object', 'description': 'Canonical documentation links.'}, 'schemaVersion': {'type': 'string', 'description': 'Discovery document schema version.'}, 'serverVersion': {'type': 'string', 'description': 'MCP implementation version.'}, 'depthSemantics': {'type': 'object', 'description': 'Cumulative quantity and quote freshness.'}, 'executionControls': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Controls required in direct API clients.'}}, 'additionalProperties': False}
quote_trade_api_manifest
Quote.Trade API/MCP manifest
Explains that MCP is only a tool/schema adapter around the existing Quote.Trade APIs, and returns local servlet guardrail configuration.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['adapter', 'version', 'releaseDate', 'ordersExposedThroughMcp', 'withdrawalsExposedThroughMcp', 'depositsExposedThroughMcp', 'liveTradingExecutable', 'liveWithdrawExecutable', 'tradingEnabled', 'allowedSymbols', 'allowedSymbolsMode', 'maxNotionalUsd', 'maxNotionalMode', 'approvalFrictionOnly', 'credentialStatus', 'tools'], 'properties': {'tools': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Registered tool names.'}, 'wsBase': {'type': 'string', 'description': 'Quote.Trade WebSocket base.'}, 'adapter': {'type': 'string', 'description': 'MCP adapter name.'}, 'apiBase': {'type': 'string', 'description': 'Quote.Trade REST API base.'}, 'version': {'type': 'string', 'description': 'Adapter version.'}, 'releaseDate': {'type': 'string', 'description': 'Adapter release date (YYYY-MM-DD).'}, 'servletOnly': {'type': 'boolean', 'description': 'True when this adapter is servlet-hosted only.'}, 'mcpPublicUrl': {'type': 'string', 'description': 'Public MCP URL.'}, 'allowLeverage': {'type': 'boolean', 'description': 'Server-side leverage allowance.'}, 'depositAssets': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Supported deposit asset symbols (USDC, USDT, XUSDC).'}, 'allowedSymbols': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Trading symbol allowlist. Empty=deny-all; *=all instruments; else explicit symbols.'}, 'maxNotionalUsd': {'type': 'null', 'description': 'Null: no MCP per-order or per-withdrawal USD notional cap.'}, 'tradingEnabled': {'type': 'boolean', 'description': 'Server-side live trading/withdraw enablement.'}, 'withdrawAssets': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Supported withdraw asset symbols (stablecoins only: USDC, USDT, XUSDC).'}, 'maxNotionalMode': {'type': 'string', 'description': 'Always unlimited for MCP orders and withdrawals. Backend account controls still apply.'}, 'mcpEndpointPath': {'type': 'string', 'description': 'Local MCP path.'}, 'credentialStatus': {'type': 'object', 'required': ['mode', 'apiKeyHeader', 'apiSecretHeader', 'apiKey', 'apiSecret', 'outboundAuthHeaders', 'mcpHostSeesApiSecret', 'trustWarning'], 'properties': {'mode': {'type': 'string', 'description': 'Credential mode.'}, 'apiKey': {'type': 'string', 'description': 'Redacted per-request API key status.'}, 'apiSecret': {'type': 'string', 'description': 'Whether the per-request API secret is set.'}, 'apiKeyHeader': {'type': 'string', 'description': 'Inbound API key header name (X-MBX-APIKEY).'}, 'trustWarning': {'type': 'string', 'description': 'What possession of the API secret grants this MCP host.'}, 'accountDefault': {'type': 'string', 'description': 'Optional default account id.'}, 'apiSecretHeader': {'type': 'string', 'description': 'Inbound API secret header name (X-MBX-APISECRET).'}, 'outboundAuthHeaders': {'type': 'string', 'description': 'Headers sent to Quote.Trade private APIs.'}, 'mcpHostSeesApiSecret': {'type': 'boolean', 'description': 'True: this MCP host receives the raw API secret to compute the HMAC signature.'}}, 'additionalProperties': False}, 'liquidityApiBase': {'type': 'string', 'description': 'Configured and validated at startup, but no MCP tool currently routes a request through it - every tool (withdraw included) calls apiBase. Reported here for operator visibility only.'}, 'canonicalBehavior': {'type': 'string', 'description': 'Adapter behavior summary.'}, 'credentialMapping': {'type': 'string', 'description': 'How to map a logon/register response, or a web-app API key, onto MCP client headers.'}, 'credentialScoping': {'type': 'string', 'description': 'Wallet login optional. Trade-only key: no withdraw. Full-access key (trade+withdraw): withdraw allowed.'}, 'dailyNotionalUsed': {'type': 'number', 'description': 'Compatibility field, always zero: MCP does not track a daily USD budget.'}, 'maxCallsPerMinute': {'type': 'integer', 'description': 'Per-caller MCP call rate limit.'}, 'allowedSymbolsMode': {'type': 'string', 'description': 'deny-all | all-quote-trade-instruments (*) | allowlist.'}, 'mcpProtocolVersion': {'type': 'string', 'description': 'MCP protocol version.'}, 'withdrawAssetsOnly': {'type': 'string', 'description': 'stablecoins-only'}, 'maxDailyNotionalUsd': {'type': 'null', 'description': 'Null: no MCP cumulative daily USD cap on orders or withdrawals.'}, 'walletLoginOptional': {'type': 'boolean', 'description': 'True: agents can trade with a web-app API key without wallet logon.'}, 'withdrawDestination': {'type': 'string', 'description': 'Always own-wallet-login-only; no toAddress is ever accepted.'}, 'approvalFrictionOnly': {'type': 'boolean', 'description': 'True when humanApproved/approvalText are friction only.'}, 'approvalTextRequired': {'type': 'string', 'description': 'Exact approval friction text for live orders.'}, 'mcpHostSeesApiSecret': {'type': 'boolean', 'description': 'True when private tools accept X-MBX-APISECRET at this MCP host.'}, 'allowedWithdrawAssets': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Withdraw asset allowlist, independent of allowedSymbols. Empty=deny-all withdrawals; *=all stablecoins; else explicit assets (USDC, USDT, XUSDC).'}, 'directApiDiscoveryUrl': {'type': 'string', 'description': 'Public GET guide for efficient direct REST/WebSocket use.'}, 'liveTradingExecutable': {'type': 'boolean', 'description': 'Server configuration permits orders: trading enabled and a nonempty symbol allowlist. No MCP USD cap; caller credentials and backend account checks are still required.'}, 'liveWithdrawExecutable': {'type': 'boolean', 'description': 'Server configuration permits a supported withdrawal asset: trading enabled and USDC/USDT/XUSDC allowed. No MCP USD cap; caller withdrawal entitlement and backend balance checks are still required.'}, 'ordersExposedThroughMcp': {'type': 'boolean', 'description': 'True when order tools are registered in tools/list.'}, 'depositsExposedThroughMcp': {'type': 'boolean', 'description': 'True when deposit-address tools are registered in tools/list.'}, 'withdrawApprovalTextRequired': {'type': 'string', 'description': 'Exact approval friction text for live withdraws.'}, 'withdrawalsExposedThroughMcp': {'type': 'boolean', 'description': 'True when withdraw tools are registered in tools/list.'}}, 'additionalProperties': False}
quote_trade_cancel_order
Quote.Trade cancel a single live order
Cancel one order by orderId. POST /api/cancelOrder. Identifies exactly one order via the matching engine's single-order cancel path - NOT a mass-cancel. There is no quote_trade_cancel_all: the upstream mass-cancel action's scope for edge-case parameters could not be verified from this codebase alone and is intentionally not exposed through MCP. Requires tradingEnabled, allowedSymbols (same allowlist as quote_trade_place_order), and a trade-scoped API key. No notional check applies: a cancellation has none. humanApproved/approvalText are agent friction only.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['symbol', 'orderId', 'humanApproved', 'approvalText'], 'properties': {'side': {'type': 'string', 'description': 'Optional BUY or SELL, matching the original order. Passed through if given.'}, 'symbol': {'type': 'string', 'description': 'Instrument symbol the order was placed on, such as BTC.'}, 'account': {'type': 'integer', 'description': 'Quote.Trade account/user id. Optional (defaults to account init-param, QUOTE_TRADE_ACCOUNT, or 0).'}, 'orderId': {'type': 'integer', 'description': 'The order id returned by quote_trade_place_order.'}, 'approvalText': {'type': 'string', 'description': 'Agent-supplied confirmation friction (not a security control). Must exactly equal: APPROVE QUOTE.TRADE CANCEL ORDER'}, 'humanApproved': {'type': 'boolean', 'description': 'Agent-supplied confirmation friction (not a security control). Must be true; enableTrading remains authoritative.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_depth
Quote.Trade order depth
Trade step 3. GET /api/depth?symbol=SYMBOL&limit=N. Use depth quantity to choose a suitable limit price before placing an order.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['symbol'], 'properties': {'limit': {'type': 'integer', 'description': 'Optional maximum levels per side. Positive values are enforced by MCP; omitted/nonpositive uses upstream depth.'}, 'symbol': {'type': 'string', 'description': 'Instrument symbol from quote_trade_instruments, such as BTC or ETH.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_exchange_info
Quote.Trade exchange info
Call GET /api/exchangeInfo and return a paginated slice of trading symbols plus rate limits/server time. Upstream has no pagination, so this adapter filters/slices locally. Default limit=50, max=200. Prefer quote_trade_instruments for compact tradable-pair discovery.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'skip': {'type': 'integer', 'description': 'Number of matching symbols to skip before returning. Default 0.'}, 'limit': {'type': 'integer', 'description': 'Max symbols to return. Default 50, max 200.'}, 'symbols': {'type': 'string', 'description': 'Optional comma-separated symbol filter, e.g. BTC,ETH,SOL. When set, pagination applies to the filtered list.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_get_challenge
Quote.Trade get wallet auth challenge
Optional wallet login/register step 1 (not required for trading with an existing API key). POST /api/getChallenge with a wallet address (login). Returns challenge text and isNewUser. Step 2: sign the challenge with the wallet outside MCP. Step 3: quote_trade_logon. No API key required.
Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['login'], 'properties': {'login': {'type': 'string', 'description': 'Wallet address used as login, e.g. 0x15b65a49faf9a4047e912d7de4a77fe24c7cf483.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_get_deposit_address
Quote.Trade get deposit address
Deposit step 1. GET /api/getDepositAddress?symbol=ASSET and return chain + contract/address. Supported assets: USDC and USDT (mainnet), XUSDC (USDC on XDC). Step 2 is transferring funds to that address outside MCP (no backend call).
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'description': 'Deposit asset symbol: USDC or USDT (mainnet), or XUSDC (USDC on XDC network).'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_get_deposit_history
Quote.Trade deposit history
Anytime deposit check. POST /api/getDepositHistory with per-request X-MBX-APIKEY. Requires a trade-scoped API key (same scope as quote_trade_place_order). Read-only: no live trading action.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_get_index_positions
Quote.Trade index/basket positions
Anytime position check. POST /api/getIndexPositions with per-request X-MBX-APIKEY. Distinct from quote_trade_get_positions: index/basket instrument positions rather than regular instrument positions. Optional assetType filter. Read-only: no live trading action.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'assetType': {'type': 'string', 'description': 'Optional index/basket asset type filter. Omit for all.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_get_order_history
Quote.Trade order history
Anytime order check. POST /api/getOrderHistory with per-request X-MBX-APIKEY. Full order history, or one order's history with optional orderId. Requires a trade-scoped API key (same scope as quote_trade_place_order). Read-only: no live trading action.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'orderId': {'type': 'integer', 'description': "Optional order id to narrow to one order's history. Omit for the full order history."}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_get_orders
Quote.Trade current/open orders
Anytime order check. POST /api/getOrders with per-request X-MBX-APIKEY. Read-only: no live trading action. Requires read entitlement on API keys that carry one.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'limit': {'type': 'integer', 'description': 'Optional maximum number of orders to return.'}, 'symbol': {'type': 'string', 'description': 'Optional instrument symbol filter, such as BTC. Omit for all symbols.'}, 'endTime': {'type': 'integer', 'description': 'Optional inclusive end of a time range, epoch milliseconds.'}, 'startTime': {'type': 'integer', 'description': 'Optional inclusive start of a time range, epoch milliseconds.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_get_order_status
Quote.Trade single order status
Anytime order check. POST /api/orderStatus with per-request X-MBX-APIKEY. Query the status of an order previously placed with quote_trade_place_order. Read-only: no live trading action.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['orderId'], 'properties': {'orderId': {'type': 'integer', 'description': 'The order id returned by quote_trade_place_order.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_get_positions
Quote.Trade current positions
Anytime position check. GET /api/positions with per-request X-MBX-APIKEY. Reconcile current positions when starting or reconnecting, per the direct-discovery guide (quote_trade_api_discovery / rest.privateReads). No live trading action.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_get_risk
Quote.Trade account risk/margin summary
Anytime risk check. POST /api/getRisk with per-request X-MBX-APIKEY. Margin/equity/unrealized-PnL summary for the authenticated account. Read-only: no live trading action.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_get_user_wallets
Quote.Trade known deposit wallet addresses
Anytime wallet check. POST /api/getUserWallets with per-request X-MBX-APIKEY. On-chain addresses previously seen depositing to the authenticated account. Read-only: no live trading action.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_get_withdraw_requests
Quote.Trade withdraw request history
Anytime withdrawal check. POST /api/getWithdrawRequests with per-request X-MBX-APIKEY. Inspect the status of withdrawals already submitted (including via quote_trade_withdraw). Requires a trade-scoped API key. Read-only: no live trading action, and this tool cannot cancel a withdrawal.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_instruments
Quote.Trade instruments
Trade step 1. GET /api/getInstrumentPairs — paginated tradable symbols/instruments. Default limit=50, max=200. Use skip to page. Pick a symbol from this response for ticker/depth/order calls.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': [], 'properties': {'skip': {'type': 'integer', 'description': 'Number of instruments to skip before returning. Default 0.'}, 'limit': {'type': 'integer', 'description': 'Max instruments to return. Default 50, max 200.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_logon
Quote.Trade wallet logon / register
Optional wallet login/register step 3 (not required if the agent already has an API key). Pass challenge + wallet signature from steps 1–2. isNewUser=true -> POST /api/registerUser; else POST /api/logon. On success, map body.requestToken/requestSecret to X-MBX-APIKEY / X-MBX-APISECRET; use body.id as account. Wallet signing stays outside MCP.
Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['challenge', 'signature'], 'properties': {'challenge': {'type': 'string', 'description': 'Challenge text returned by quote_trade_get_challenge (Sign auth token: ...).'}, 'isNewUser': {'type': 'boolean', 'description': 'From quote_trade_get_challenge. true -> registerUser; false -> logon. If omitted, logon is tried first then registerUser on failure.'}, 'signature': {'type': 'string', 'description': 'Wallet signature of the challenge text (0x-prefixed hex).'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}, 'nextStep': {'type': 'string', 'description': 'Present on success only. What to configure before calling private tools.'}, 'credentialMapping': {'type': 'object', 'description': "Present on success only. Maps this response's requestToken/requestSecret/id to the MCP client headers and account field to use next."}}, 'additionalProperties': False}
quote_trade_order_preview
Quote.Trade order preview
Optional before live trade. Normalize/validate a BUY/SELL order locally without sending it.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['symbol', 'side', 'price', 'quantity'], 'properties': {'side': {'type': 'string', 'description': 'BUY or SELL.'}, 'type': {'type': 'string', 'description': 'LIMIT only in this adapter.'}, 'price': {'type': 'number', 'description': 'Limit price chosen after quote_trade_depth.'}, 'symbol': {'type': 'string', 'description': 'Instrument symbol from quote_trade_instruments, such as BTC.'}, 'account': {'type': 'integer', 'description': 'Quote.Trade account/user id. Optional for preview (defaults to account init-param, QUOTE_TRADE_ACCOUNT, or 0). Required for live place_order.'}, 'quantity': {'type': 'number', 'description': 'Order quantity.'}, 'timestamp': {'type': 'integer', 'description': 'Optional client timestamp in milliseconds.'}, 'disableLeverage': {'type': 'integer', 'description': '1 disables leverage; 0 enables leverage/shorting only if server allowLeverage is true.'}, 'paymentCurrency': {'type': 'string', 'description': 'Payment currency such as USDT.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['willSend', 'endpoint', 'requestBody', 'estimatedNotional', 'symbolAllowed', 'withinMaxNotional', 'tradingEnabled', 'credentialsPresent', 'approvalFrictionOnly', 'safety'], 'properties': {'safety': {'type': 'string', 'description': 'Preview safety notes.'}, 'endpoint': {'type': 'string', 'description': 'Target Quote.Trade order endpoint.'}, 'priceUsd': {'type': 'number', 'description': 'USD unit price used for withdraw notional.'}, 'willSend': {'type': 'boolean', 'description': 'Whether this preview would send a live order.'}, 'destination': {'type': 'string', 'description': 'Withdraw previews only: always own-wallet-login-only (no toAddress accepted).'}, 'priceSource': {'type': 'string', 'description': 'How priceUsd was obtained (stablecoin-peg|ticker|ticker-unavailable).'}, 'requestBody': {'type': 'object', 'description': 'Normalized order request body that would be posted.', 'additionalProperties': True}, 'symbolAllowed': {'type': 'boolean', 'description': 'Whether the order symbol or withdrawal asset passes its own allowlist (empty=deny-all; *=all supported).'}, 'tradingEnabled': {'type': 'boolean', 'description': 'Server-side trading enablement.'}, 'notionalWarning': {'type': 'string', 'description': 'Withdraw previews only: present when a USD price could not be resolved.'}, 'estimatedNotional': {'type': 'number', 'description': 'Estimated notional in USD (orders: price×qty; withdraws: USD price×human quantity).'}, 'estimatedQuantity': {'type': 'number', 'description': 'Withdraw human quantity only (quantity / 10^quantity_scale). Present on withdraw previews.'}, 'withinMaxNotional': {'type': 'boolean', 'description': 'Always true for a valid preview: MCP imposes no USD notional cap. This does not establish balance, margin or authorization.'}, 'credentialsPresent': {'type': 'boolean', 'description': 'Whether per-request trading credentials are present.'}, 'approvalFrictionOnly': {'type': 'boolean', 'description': 'True when approval fields are friction only.'}, 'approvalTextRequired': {'type': 'string', 'description': 'Exact approval friction text.'}, 'estimatedNotionalUsd': {'type': 'number', 'description': 'Withdraw USD notional. Present on withdraw previews when priced.'}, 'withdrawAssetAllowed': {'type': 'boolean', 'description': 'Withdraw previews only: whether the asset passes allowedWithdrawAssets.'}}, 'additionalProperties': False}
quote_trade_place_order
Quote.Trade place live order
Trade step 4. POST /api/order with a suitable price after instruments/ticker/depth. Requires tradingEnabled, allowedSymbols (* or explicit list; empty denies), and API credentials. No MCP USD notional cap applies. Sending X-MBX-APISECRET to this MCP host grants it full signing authority. humanApproved/approvalText are agent friction only.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['account', 'symbol', 'side', 'price', 'quantity', 'humanApproved', 'approvalText'], 'properties': {'side': {'type': 'string', 'description': 'BUY or SELL.'}, 'type': {'type': 'string', 'description': 'LIMIT only in this adapter.'}, 'price': {'type': 'number', 'description': 'Limit price chosen after quote_trade_depth.'}, 'symbol': {'type': 'string', 'description': 'Instrument symbol from quote_trade_instruments, such as BTC.'}, 'account': {'type': 'integer', 'description': 'Quote.Trade account/user id. Optional for preview (defaults to account init-param, QUOTE_TRADE_ACCOUNT, or 0). Required for live place_order.'}, 'quantity': {'type': 'number', 'description': 'Order quantity.'}, 'timestamp': {'type': 'integer', 'description': 'Optional client timestamp in milliseconds.'}, 'approvalText': {'type': 'string', 'description': 'Agent-supplied confirmation friction (not a security control). Must exactly equal: APPROVE QUOTE.TRADE LIVE ORDER'}, 'humanApproved': {'type': 'boolean', 'description': 'Agent-supplied confirmation friction (not a security control). Must be true; enableTrading remains authoritative.'}, 'disableLeverage': {'type': 'integer', 'description': '1 disables leverage; 0 enables leverage/shorting only if server allowLeverage is true.'}, 'paymentCurrency': {'type': 'string', 'description': 'Payment currency such as USDT.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_status
Quote.Trade status
Call GET /api/status and return system status, server time, contracts URL, and feature flags.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_ticker
Quote.Trade ticker
Trade step 2. GET /api/ticker?symbol=SYMBOL for a symbol from quote_trade_instruments. Returns last price, bid, ask, lastUpdateId.
Nur Lesen Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'description': 'Instrument symbol from quote_trade_instruments, such as BTC or ETH.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_withdraw
Quote.Trade live withdraw
Withdraw step 3. POST /api/sendWithdrawWithVTokenRequest for stablecoins only (USDC|USDT|XUSDC) to the user's own login wallet (no toAddress). Not available for BTC/ETH/other assets. Requires a full-access API key with withdraw entitlement (trade-only keys are rejected by Quote.Trade), tradingEnabled, and allowedWithdrawAssets (independent of the trading allowedSymbols allowlist). No MCP USD notional cap applies. humanApproved/approvalText are agent friction only.
Destruktiv Externer Zugriff
Eingabeschema
{'type': 'object', 'required': ['account', 'symbol', 'quantity', 'quantity_scale', 'humanApproved', 'approvalText'], 'properties': {'symbol': {'type': 'string', 'description': 'Stablecoin to withdraw: USDC, USDT, or XUSDC only (not BTC/ETH/other).'}, 'account': {'type': 'integer', 'description': 'Quote.Trade account/user id. Optional for preview (defaults to account init-param, QUOTE_TRADE_ACCOUNT, or 0). Required for live withdraw.'}, 'quantity': {'type': 'string', 'description': 'Scaled integer quantity as string (API format). Example: "20000000" with quantity_scale=6 means 20 USDC.'}, 'approvalText': {'type': 'string', 'description': 'Agent-supplied confirmation friction (not a security control). Must exactly equal: APPROVE QUOTE.TRADE LIVE WITHDRAW'}, 'humanApproved': {'type': 'boolean', 'description': 'Agent-supplied confirmation friction (not a security control). Must be true; enableTrading remains authoritative.'}, 'quantity_scale': {'type': 'integer', 'description': 'Decimal scale for quantity. Example: 6 for USDC.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['method', 'endpoint', 'status', 'body', 'raw'], 'properties': {'raw': {'type': 'string', 'description': 'Raw JSON response body.'}, 'body': {'description': 'Parsed JSON response body when valid JSON; otherwise the raw text.'}, 'method': {'type': 'string', 'description': 'HTTP method used against Quote.Trade.'}, 'status': {'type': 'integer', 'description': 'HTTP status code.'}, 'endpoint': {'type': 'string', 'description': 'Quote.Trade API endpoint path.'}}, 'additionalProperties': False}
quote_trade_withdraw_preview
Quote.Trade withdraw preview
Optional before live withdraw. Stablecoins only: USDC, USDT, or XUSDC (not BTC/ETH/other). Own login wallet only (no toAddress). estimatedNotional is USD at $1 peg. Trade-only API keys cannot withdraw — use a full-access key with withdraw entitlement.
Nur Lesen
Eingabeschema
{'type': 'object', 'required': ['symbol', 'quantity', 'quantity_scale'], 'properties': {'symbol': {'type': 'string', 'description': 'Stablecoin to withdraw: USDC, USDT, or XUSDC only (not BTC/ETH/other).'}, 'account': {'type': 'integer', 'description': 'Quote.Trade account/user id. Optional for preview (defaults to account init-param, QUOTE_TRADE_ACCOUNT, or 0). Required for live withdraw.'}, 'quantity': {'type': 'string', 'description': 'Scaled integer quantity as string (API format). Example: "20000000" with quantity_scale=6 means 20 USDC.'}, 'quantity_scale': {'type': 'integer', 'description': 'Decimal scale for quantity. Example: 6 for USDC.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'required': ['willSend', 'endpoint', 'requestBody', 'estimatedNotional', 'symbolAllowed', 'withinMaxNotional', 'tradingEnabled', 'credentialsPresent', 'approvalFrictionOnly', 'safety'], 'properties': {'safety': {'type': 'string', 'description': 'Preview safety notes.'}, 'endpoint': {'type': 'string', 'description': 'Target Quote.Trade order endpoint.'}, 'priceUsd': {'type': 'number', 'description': 'USD unit price used for withdraw notional.'}, 'willSend': {'type': 'boolean', 'description': 'Whether this preview would send a live order.'}, 'destination': {'type': 'string', 'description': 'Withdraw previews only: always own-wallet-login-only (no toAddress accepted).'}, 'priceSource': {'type': 'string', 'description': 'How priceUsd was obtained (stablecoin-peg|ticker|ticker-unavailable).'}, 'requestBody': {'type': 'object', 'description': 'Normalized order request body that would be posted.', 'additionalProperties': True}, 'symbolAllowed': {'type': 'boolean', 'description': 'Whether the order symbol or withdrawal asset passes its own allowlist (empty=deny-all; *=all supported).'}, 'tradingEnabled': {'type': 'boolean', 'description': 'Server-side trading enablement.'}, 'notionalWarning': {'type': 'string', 'description': 'Withdraw previews only: present when a USD price could not be resolved.'}, 'estimatedNotional': {'type': 'number', 'description': 'Estimated notional in USD (orders: price×qty; withdraws: USD price×human quantity).'}, 'estimatedQuantity': {'type': 'number', 'description': 'Withdraw human quantity only (quantity / 10^quantity_scale). Present on withdraw previews.'}, 'withinMaxNotional': {'type': 'boolean', 'description': 'Always true for a valid preview: MCP imposes no USD notional cap. This does not establish balance, margin or authorization.'}, 'credentialsPresent': {'type': 'boolean', 'description': 'Whether per-request trading credentials are present.'}, 'approvalFrictionOnly': {'type': 'boolean', 'description': 'True when approval fields are friction only.'}, 'approvalTextRequired': {'type': 'string', 'description': 'Exact approval friction text.'}, 'estimatedNotionalUsd': {'type': 'number', 'description': 'Withdraw USD notional. Present on withdraw previews when priced.'}, 'withdrawAssetAllowed': {'type': 'boolean', 'description': 'Withdraw previews only: whether the asset passes allowedWithdrawAssets.'}}, 'additionalProperties': False}
Geändert
quote_trade_withdraw
1. October 2026 02:51
Geändert
quote_trade_withdraw_preview
1. October 2026 02:51
Geändert
quote_trade_place_order
1. October 2026 02:51
Geändert
quote_trade_order_preview
1. October 2026 02:51
Geändert
quote_trade_api_manifest
1. October 2026 02:51
Geändert
quote_trade_api_discovery
1. October 2026 02:51
Entfernt
quote_trade_private_events_sample
19. September 2026 02:48
Entfernt
quote_trade_liquidity_sample
19. September 2026 02:48
Geändert
quote_trade_withdraw
19. September 2026 02:48
Geändert
quote_trade_withdraw_preview
19. September 2026 02:48
Hinzugefügt
quote_trade_cancel_order
19. September 2026 02:48
Geändert
quote_trade_place_order
19. September 2026 02:48
Geändert
quote_trade_order_preview
19. September 2026 02:48
Hinzugefügt
quote_trade_get_index_positions
19. September 2026 02:48
Hinzugefügt
quote_trade_get_user_wallets
19. September 2026 02:48
Hinzugefügt
quote_trade_get_withdraw_requests
19. September 2026 02:48
Hinzugefügt
quote_trade_get_deposit_history
19. September 2026 02:48
Hinzugefügt
quote_trade_get_order_history
19. September 2026 02:48
Hinzugefügt
quote_trade_get_risk
19. September 2026 02:48
Hinzugefügt
quote_trade_get_order_status
19. September 2026 02:48
Hinzugefügt
quote_trade_get_orders
19. September 2026 02:48
Hinzugefügt
quote_trade_get_positions
19. September 2026 02:48
Geändert
quote_trade_account
19. September 2026 02:48
Geändert
quote_trade_depth
19. September 2026 02:48
Geändert
quote_trade_logon
19. September 2026 02:48
Geändert
quote_trade_get_challenge
19. September 2026 02:48
Geändert
quote_trade_api_manifest
19. September 2026 02:48
Hinzugefügt
quote_trade_api_discovery
19. September 2026 02:48
Hinzugefügt
quote_trade_private_events_sample
17. September 2026 12:55
Hinzugefügt
quote_trade_liquidity_sample
17. September 2026 12:55