
Gate DEX MCP
Connects Claude to Gate.io's decentralized exchange APIs for on-chain operations across 20+ blockchains. Handles wallet authentication via Google or Gate OAuth, executes single-chain and cross-chain swaps, fetches token info and market data, and provides direct RPC access. Exposes 33 tools covering transfers, chain config, and agentic operations. The OAuth flow is required upfront, so this is built for scenarios where you need Claude to manage DEX wallets and execute swaps programmatically rather than just fetch public market data. Uses streamable HTTP transport and lives alongside Gate's separate CEX trading endpoint at a different path.
- GitHub stars
- 31
- tools
- 47
- transport
- HTTP
- last updated
- Apr 16, 2026
Install
From registry metadata$ npx add-mcp https://api.gatemcp.ai/mcp/dex --name gate-dexRun in your terminal. add-mcp asks which agents to add it to (Claude Code, Codex, Cursor and more). Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http gate-dex https://api.gatemcp.ai/mcp/dexRun in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 47 toolsVerified live against the running server on Nov 6, 2026.
dex_agentic_reportRegister agentic wallet addresses with the wallet service.2 params
Register agentic wallet addresses with the wallet service.
mcp_tokenstringwallets*objectdex_auth_gate_login_pollPoll Gate OAuth; returns pending/ok/error. [write] On ok: replace mcp_token unless linked_to_google_session is true. Pass auto_replace_binding=true to rebind exchange UID on new Gate session.3 params
Poll Gate OAuth; returns pending/ok/error. [write] On ok: replace mcp_token unless linked_to_google_session is true. Pass auto_replace_binding=true to rebind exchange UID on new Gate session.
auto_replace_bindingbooleanflow_id*stringpoll_secret*stringdex_auth_gate_login_startStart Gate device login. Show verification_uri and user_code to the user. Keep poll_secret for polling and do not show it. Pass link_mcp_token on a Google session to bind Gate UID without replacing mcp_token.1 params
Start Gate device login. Show verification_uri and user_code to the user. Keep poll_secret for polling and do not show it. Pass link_mcp_token on a Google session to bind Gate UID without replacing mcp_token.
link_mcp_tokenstringdex_auth_google_login_pollPoll Google device login; returns pending/ok/error. Requires poll_secret from start. [write] On ok: immediately replace stored mcp_token with login_result.mcp_token — new token is tied to a different account.2 params
Poll Google device login; returns pending/ok/error. Requires poll_secret from start. [write] On ok: immediately replace stored mcp_token with login_result.mcp_token — new token is tied to a different account.
flow_id*stringpoll_secret*stringdex_auth_google_login_startStarts Google device login. Show verification_uri and user_code to the user. Keep poll_secret for dex_auth_google_login_poll and do not show it to the user.
Starts Google device login. Show verification_uri and user_code to the user. Keep poll_secret for dex_auth_google_login_poll and do not show it to the user.
No parameters. Call it with no arguments.
dex_auth_login_gate_walletExchange Gate OAuth code for MCP token. [write] On success, immediately replace any stored mcp_token — new token is tied to a different account.2 params
Exchange Gate OAuth code for MCP token. [write] On success, immediately replace any stored mcp_token — new token is tied to a different account.
code*stringredirect_url*stringdex_auth_login_google_walletExchange Google OAuth code for MCP token. [write] On success, immediately replace any stored mcp_token — new token is tied to a different account.2 params
Exchange Google OAuth code for MCP token. [write] On success, immediately replace any stored mcp_token — new token is tied to a different account.
code*stringredirect_url*stringdex_auth_logoutRevoke the MCP session identified by mcp_token.1 params
Revoke the MCP session identified by mcp_token.
mcp_token*stringdex_chain_configReturns chain config (networkKey, accountKey, chainID). Use the returned chain value in all subsequent transfer/sign/broadcast tools.2 params
Returns chain config (networkKey, accountKey, chainID). Use the returned chain value in all subsequent transfer/sign/broadcast tools.
chain*stringmcp_tokenstringdex_market_get_klineOHLCV candles by period and window. Volume aggregates→get_tx_stats. Pool events→get_pair_liquidity.7 params
OHLCV candles by period and window. Volume aggregates→get_tx_stats. Pool events→get_pair_liquidity.
chain*stringend_timestringlimitstringpair_addressstringperiod*stringstart_timestringtoken_address*stringdex_market_get_pair_liquidityAMM pool deposit and withdrawal events. Candlesticks→get_kline. Volume stats→get_tx_stats.5 params
AMM pool deposit and withdrawal events. Candlesticks→get_kline. Volume stats→get_tx_stats.
chain*stringpage_indexstringpage_sizestringpair_addressstringtoken_address*stringdex_market_get_tx_statsPer-interval buy/sell volume and tx counts (5m–24h). Candlesticks→get_kline. Pool events→get_pair_liquidity.3 params
Per-interval buy/sell volume and tx counts (5m–24h). Candlesticks→get_kline. Pool events→get_pair_liquidity.
chain*stringpair_addressstringtoken_address*stringdex_rpc_callProxy a JSON-RPC call to a blockchain node.4 params
Proxy a JSON-RPC call to a blockchain node.
chain*stringmcp_tokenstringmethod*stringparamsarraydex_token_get_coin_infoPrice, market snapshot, metadata, optional top holders. Security audit→get_risk_info.3 params
Price, market snapshot, metadata, optional top holders. Security audit→get_risk_info.
address*stringchain*stringinclude_holdersstringdex_token_get_coins_range_by_created_atTokens launched within a given time window; chain optional for all networks.4 params
Tokens launched within a given time window; chain optional for all networks.
chainstringend*stringlimitstringstart*stringdex_token_get_risk_infoContract security audit (honeypot, tax, ownership flags). Price and market stats→get_coin_info.4 params
Contract security audit (honeypot, tax, ownership flags). Price and market stats→get_coin_info.
address*stringchain*stringignorestringlanstringdex_token_list_cross_chain_bridge_tokensReceivable assets on target chain for a source token. Same-chain trading→list_swap_tokens.7 params
Receivable assets on target chain for a source token. Same-chain trading→list_swap_tokens.
account_idstringchain*stringsearchstringsearch_authbooleansource_address*stringsource_chain*stringwalletstringdex_token_list_swap_tokensTradable assets on a chain; tag selects favorites or recommendations. Bridge targets→list_cross_chain_bridge_tokens.8 params
Tradable assets on a chain; tag selects favorites or recommendations. Bridge targets→list_cross_chain_bridge_tokens.
account_idstringchainstringignore_bridgebooleansearchstringsearch_authbooleantagstring · favorite · recommendwalletstringweb3_keystringdex_token_rankingTop movers by 24h price change; direction selects gainers vs losers. Single token→get_coin_info.3 params
Top movers by 24h price change; direction selects gainers vs losers. Single token→get_coin_info.
chainstringdirection*stringtop_nstringdex_tx_approve_previewBuild ERC20/SPL approve or revoke tx (does not broadcast). Sign with dex_wallet_sign_transaction after user confirmation.13 params
Build ERC20/SPL approve or revoke tx (does not broadcast). Sign with dex_wallet_sign_transaction after user confirmation.
actionstringamount*stringchainstringmax_fee_per_gasstringmax_priority_fee_per_gasstringmcp_tokenstringnoncestringowner*stringpriority_fee_micro_lamportsstringspender*stringtoken_contractstringtoken_decimals*stringtoken_mintstringdex_tx_detailFetch transaction detail by on-chain hash. → swap_detail for swap order detail by order ID.3 params
Fetch transaction detail by on-chain hash. → swap_detail for swap order detail by order ID.
from_walletstringhash_id*stringmcp_tokenstringdex_tx_gasEstimate on-chain gas price and gas limit for a given tx.7 params
Estimate on-chain gas price and gas limit for a given tx.
chain*stringdatastringfrom*stringmcp_tokenstringnetworkstringto*stringvaluestringdex_tx_get_sol_unsignedSolana native only: build a fresh unsigned SOL transfer with a confirmed blockhash. Call only after the user confirms, then dex_wallet_sign_transaction and dex_tx_send_raw_transaction in the same turn. Do not reuse dex_tx_transfer_preview output.5 params
Solana native only: build a fresh unsigned SOL transfer with a confirmed blockhash. Call only after the user confirms, then dex_wallet_sign_transaction and dex_tx_send_raw_transaction in the same turn. Do not reuse dex_tx_transfer_preview output.
amount*stringfrom*stringmcp_tokenstringpriority_fee_micro_lamportsstringto*stringdex_tx_listList wallet transaction history (transfers). → swap_history_list for swap/bridge orders. → tx_detail for single tx by hash.8 params
List wallet transaction history (transfers). → swap_history_list for swap/bridge orders. → tx_detail for single tx by hash.
account_id*stringaddressstringcursorstringend_timestringmcp_tokenstringpage_numstringpage_sizestringstart_timestringdex_tx_send_raw_transactionBroadcast a signed tx to the chain. [write] Requires user confirmation after transfer preview and prior signing via dex_wallet_sign_transaction. Solana: pass last_valid_block_height from dex_tx_get_sol_unsigned; an expired blockhash is rejected before the upstream send. accoun...21 params
Broadcast a signed tx to the chain. [write] Requires user confirmation after transfer preview and prior signing via dex_wallet_sign_transaction. Solana: pass last_valid_block_height from dex_tx_get_sol_unsigned; an expired blockhash is rejected before the upstream send. accoun...
account_idstringaction_typestringaddressstringchain*stringlast_valid_block_heightnumbermcp_tokenstringmemostringnetworkstringnoncenumbersigned_tx*stringtoken_addrstringtoken_namestringtoken_short_namestringtrans_balancestringtrans_balance_usdstringtrans_gas_feestringtrans_min_unit_amountstringtrans_min_unit_gas_feestringtrans_oppo_addressstringtrans_timestring+1 more parameters. See the server's own documentation for the full schema.
dex_tx_swap_checkin_previewReturns check-in fields for a swap stage (approve or swap). Call after prepare and before terminal tx-checkin script.3 params
Returns check-in fields for a swap stage (approve or swap). Call after prepare and before terminal tx-checkin script.
mcp_token*stringstage*stringswap_session_id*stringdex_tx_swap_detailFetch swap order detail by order ID from swap_submit. → tx_detail for detail by on-chain hash.2 params
Fetch swap order detail by order ID from swap_submit. → tx_detail for detail by on-chain hash.
mcp_tokenstringtx_order_id*stringdex_tx_swap_history_listList swap/bridge order history with pagination; includes single-chain and cross-chain. → tx_list for transfer history.8 params
List swap/bridge order history with pagination; includes single-chain and cross-chain. → tx_list for transfer history.
account_id*stringdst_chainnumberend_timestringmcp_tokenstringpage_numnumberpage_sizenumbersrc_chainnumberstart_timestringdex_tx_swap_prepareStage a swap session (server-side build only); returns swap_session_id. Does not sign or submit. Call after quote confirmed by user.12 params
Stage a swap session (server-side build only); returns swap_session_id. Does not sign or submit. Call after quote confirmed by user.
account_id*stringamount*stringchain_id_in*numberchain_id_out*numbermcp_tokenstringnative_in*numbernative_out*numberslippage*numberto_walletstringtoken_in*stringtoken_out*stringuser_wallet*stringdex_tx_swap_quoteReturns swap route and pricing. Call before swap_prepare; show result to user before proceeding. → transfer_preview for direct token send (not exchange).11 params
Returns swap route and pricing. Call before swap_prepare; show result to user before proceeding. → transfer_preview for direct token send (not exchange).
amount*stringchain_id_in*numberchain_id_out*numbermcp_tokenstringnative_in*numbernative_out*numberslippage*numberto_walletstringtoken_in*stringtoken_out*stringuser_wallet*stringdex_tx_swap_sign_approve[write] Sign the ERC20 approve tx for a staged EVM swap. Requires need_approved=true in prepare result.3 params
[write] Sign the ERC20 approve tx for a staged EVM swap. Requires need_approved=true in prepare result.
checkin_token*stringmcp_tokenstringswap_session_id*stringdex_tx_swap_sign_swap[write] Sign the main swap tx for a staged session. EVM: call sign_approve first if need_approved=true. Solana: generates a fresh signable payload.3 params
[write] Sign the main swap tx for a staged session. EVM: call sign_approve first if need_approved=true. Solana: generates a fresh signable payload.
checkin_token*stringmcp_tokenstringswap_session_id*stringdex_tx_swap_submit[write] Broadcast a staged swap to the chain. Does not sign. Requires all signing steps complete (sign_approve if EVM+approval, then sign_swap).2 params
[write] Broadcast a staged swap to the chain. Does not sign. Requires all signing steps complete (sign_approve if EVM+approval, then sign_swap).
mcp_tokenstringswap_session_id*stringdex_tx_transfer_previewBuild a transfer summary (sender, recipient, amount, gas). Does not broadcast. Solana native: returns key_info only — after the user confirms, call dex_tx_get_sol_unsigned and sign that result immediately. Do not sign a Solana transaction built before confirmation. EVM: return...13 params
Build a transfer summary (sender, recipient, amount, gas). Does not broadcast. Solana native: returns key_info only — after the user confirms, call dex_tx_get_sol_unsigned and sign that result immediately. Do not sign a Solana transaction built before confirmation. EVM: return...
amount*stringchainstringfrom*stringmax_fee_per_gasstringmax_priority_fee_per_gasstringmcp_tokenstringnoncestringpriority_fee_micro_lamportsstringto*stringtokenstringtoken_contractstringtoken_decimalsstringtoken_mintstringdex_tx_x402_checkin_previewPrepare Gate Verify tx_checkin for x402 (EVM exact / EIP-3009 only): returns tx_checkin.message (64-hex digest) and x402_payment_required_b64 without signing. Flow: 1) this tool 2) Gate Verify tx_checkin with returned tx_checkin fields 3) dex_tx_x402_fetch with same url/body/h...7 params
Prepare Gate Verify tx_checkin for x402 (EVM exact / EIP-3009 only): returns tx_checkin.message (64-hex digest) and x402_payment_required_b64 without signing. Flow: 1) this tool 2) Gate Verify tx_checkin with returned tx_checkin fields 3) dex_tx_x402_fetch with same url/body/h...
bodystringheadersstringmcp_tokenstringmethodstringurl*stringx402_payment_required_b64stringx402_preferred_networkstringdex_tx_x402_fetch[write] Send an HTTP request to the given URL. If the server responds with 402 Payment Required, pay via x402 (Coinbase-style: USDC EIP-3009 / Permit2 on EVM, SPL on Solana), retry with PAYMENT-SIGNATURE. REQUIRED: Gate Verify tx_checkin before signing; pass checkin_token. For...8 params
[write] Send an HTTP request to the given URL. If the server responds with 402 Payment Required, pay via x402 (Coinbase-style: USDC EIP-3009 / Permit2 on EVM, SPL on Solana), retry with PAYMENT-SIGNATURE. REQUIRED: Gate Verify tx_checkin before signing; pass checkin_token. For...
bodystringcheckin_token*stringheadersstringmcp_tokenstringmethodstringurl*stringx402_payment_required_b64stringx402_preferred_networkstringdex_wallet_bind_exchange_uidBind Gate exchange UID to session. Standalone Gate session only; gateUid must equal login_result.gate_uid from Gate OAuth. → replace_binding to rebind.2 params
Bind Gate exchange UID to session. Standalone Gate session only; gateUid must equal login_result.gate_uid from Gate OAuth. → replace_binding to rebind.
gateUid*stringmcp_tokenstringdex_wallet_get_addressesReturns address map by chain type (EVM, SOL, etc.). Call before transfer/swap tools to get the sender address.2 params
Returns address map by chain type (EVM, SOL, etc.). Call before transfer/swap tools to get the sender address.
account_id*stringmcp_tokenstringdex_wallet_get_bindingsReturns current Gate UID binding for the session wallet.1 params
Returns current Gate UID binding for the session wallet.
mcp_tokenstringdex_wallet_get_token_listToken balances and prices with pagination; filter by network_keys. → get_total_asset for portfolio summary only.5 params
Token balances and prices with pagination; filter by network_keys. → get_total_asset for portfolio summary only.
account_idstringmcp_tokenstringnetwork_keysstringpagenumberpage_sizenumberdex_wallet_get_total_assetTotal portfolio value and 24h change. → get_token_list for per-token balance detail.2 params
Total portfolio value and 24h change. → get_token_list for per-token balance detail.
account_idstringmcp_tokenstringdex_wallet_get_wallet_typeReturns walletAddress, walletType, gateUid. With for_withdraw_to_exchange or for_gate_oauth_bind, also starts Gate OAuth when gateUid is missing.5 params
Returns walletAddress, walletType, gateUid. With for_withdraw_to_exchange or for_gate_oauth_bind, also starts Gate OAuth when gateUid is missing.
account_idstringfor_gate_oauth_bindbooleanfor_withdraw_to_exchangebooleanmcp_tokenstringwallet_addressstringdex_wallet_google_gate_bind_startGoogle sessions only: starts Gate OAuth to bind Gate exchange UID to this session. mcp_token stays unchanged after poll.1 params
Google sessions only: starts Gate OAuth to bind Gate exchange UID to this session. mcp_token stays unchanged after poll.
mcp_tokenstringdex_wallet_replace_bindingRebind Gate exchange UID. [write] newUid must equal login_result.gate_uid from a fresh Gate OAuth. Blocked for gate_mcp/gate_quick sessions and Google sessions.2 params
Rebind Gate exchange UID. [write] newUid must equal login_result.gate_uid from a fresh Gate OAuth. Blocked for gate_mcp/gate_quick sessions and Google sessions.
mcp_tokenstringnewUid*stringdex_wallet_sign_messageSign a 32-byte hex message with wallet key. [write] Requires checkin_token from terminal tx-checkin. → sign_transaction for raw tx signing.4 params
Sign a 32-byte hex message with wallet key. [write] Requires checkin_token from terminal tx-checkin. → sign_transaction for raw tx signing.
chain*stringcheckin_token*stringmcp_tokenstringmessage*stringdex_wallet_sign_transactionSign a raw unsigned transaction. [write] Requires user confirmation after transfer preview and checkin_token from terminal tx-checkin. → dex_tx_send_raw_transaction to broadcast.4 params
Sign a raw unsigned transaction. [write] Requires user confirmation after transfer preview and checkin_token from terminal tx-checkin. → dex_tx_send_raw_transaction to broadcast.
chain*stringcheckin_token*stringmcp_tokenstringraw_tx*stringdex_withdraw_deposit_addressFetch Gate exchange deposit address for the session-bound Gate UID. [write] amount must be ≥ min_deposit_amount; do not pass uid — it is resolved from the session.5 params
Fetch Gate exchange deposit address for the session-bound Gate UID. [write] amount must be ≥ min_deposit_amount; do not pass uid — it is resolved from the session.
amount*stringchain_name*stringcoin_symbol*stringmcp_tokenstringtoken_addressstringSponsors
Readme
Gate MCP Server
A Gate MCP (Model Context Protocol) server that enables AI agents to interact with the Gate cryptocurrency exchange for market data, trading, and account management.
Features
Details
- Repository
- github.com/gate/gate-mcp
- Category
- Data & Analytics
- Transport
- HTTP
- Registry
- MCP registry, active
- Resources
- 11
- Prompts
- 20
- Tools verified
- Nov 6, 2026