Quote.Trade MCP Adapter
Qué hace este MCP
Connects to Quote.Trade for market data, account and position checks, order placement and cancellation, deposits, stablecoin withdrawals, and order history.
Herramientas
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'required': ['login'], 'properties': {'login': {'type': 'string', 'description': 'Wallet address used as login, e.g. 0x15b65a49faf9a4047e912d7de4a77fe24c7cf483.'}}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'description': 'Deposit asset symbol: USDC or USDT (mainnet), or XUSDC (USDC on XDC network).'}}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {'assetType': {'type': 'string', 'description': 'Optional index/basket asset type filter. Omit for all.'}}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'required': ['orderId'], 'properties': {'orderId': {'type': 'integer', 'description': 'The order id returned by quote_trade_place_order.'}}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'required': [], 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'type': 'object', 'required': ['symbol'], 'properties': {'symbol': {'type': 'string', 'description': 'Instrument symbol from quote_trade_instruments, such as BTC or ETH.'}}, 'additionalProperties': False}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Esquema de entrada
{'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}
Esquema de salida
{'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}
Cambios recientes en herramientas
Servidores MCP similares
The Stall
Provides pay-per-call tools for YouTube keyword research and research on stocks, crypto, DeFi, options, and macroeconomic data.
Crank Protocol
Provides non-custodial Solana and EVM tools for swaps, derivatives, lending, staking, tokenized equities, bridging, and strategy …
x402-services
Provides on-chain, trading, and AI tools for Robinhood Chain.
FortFi Treasury MCP
Provides policy-controlled crypto treasury operations across chains, including wallets, payments, token discovery, swaps, bridges…
DeltaSignal ATLAS-7
Analyzes SEC and XBRL data for crypto-related public companies, including fundamentals, issuer signals, peer comparisons, stress …
intel
Provides multi-chain market intelligence, blockchain activity metrics, trading and portfolio planning, sanctions clearance, agent…
TradingCalc MCP: Options, Forex, Risk Stats, Prediction Markets, On-Chain & Crypto Futures
Performs deterministic calculations for crypto futures, funding, leverage, liquidation, position sizing, token swaps, on-chain ri…
Market Intelligence API
Analyzes crypto and tokenized-asset markets using DEX flows, perpetual positioning, smart-money activity, token risk, market news…