gate avatar

Gate DEX MCP

gate/gate-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-dex

Run 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/dex

Run in your terminal. Add --scope user to make it available in every project.

Tools

Verified live · 47 tools

Verified 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.

Parameters* required
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
wallets*object
Array of wallet info objects. Each wallet contains walletID and accounts array. Each account contains accountID and chainAddressList array. Each chainAddress contains networkKey, chains, chainAddre...
dex_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.

Parameters* required
auto_replace_bindingboolean
If true and status is ok: when new session walletType is not gate_mcp/gate_quick, call BW POST /v1/wallet/inner/rebind (same as dex_wallet_replace_binding). Gate-native sessions are blocked without...
flow_id*string
Flow ID returned by dex_auth_gate_login_start
poll_secret*string
One-time poll secret returned by dex_auth_gate_login_start. Do not show this value to the user.
dex_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.

Parameters* required
link_mcp_tokenstring
Current Google wallet mcp_token for bind-only Gate OAuth; omit for standalone Gate login
dex_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.

Parameters* required
flow_id*string
Flow ID returned by dex_auth_google_login_start
poll_secret*string
One-time poll secret returned by dex_auth_google_login_start. Do not show this value to the user.
dex_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.

Parameters* required
code*string
Gate OAuth authorization code
redirect_url*string
Gate OAuth redirect URL used in the authorization request
dex_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.

Parameters* required
code*string
Google OAuth authorization code
redirect_url*string
Google OAuth redirect URL used in the authorization request
dex_auth_logoutRevoke the MCP session identified by mcp_token.1 params

Revoke the MCP session identified by mcp_token.

Parameters* required
mcp_token*string
MCP session token to revoke
dex_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.

Parameters* required
chain*string
Chain name or alias (matching is case-insensitive). Use the returned `chain` value for all subsequent tools on that network.
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
dex_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.

Parameters* required
chain*string
Chain name. Supported: bsc, base, eth, solana, arbitrum, polygon, avalanche, fantom, zksync, linea, optimism, sui, blast, tron, merlin, world, eni, bera, gatelayer, ton
end_timestring
End time (unix seconds); default: now
limitstring
Max number of candles (default 100, max 1000)
pair_addressstring
Optional pair address
period*string
K-line period: seconds (e.g. 300, 3600) or 1m, 5m, 1h, 4h, 1d
start_timestring
Start time (unix seconds); default: 100 periods before end_time
token_address*string
Token contract address
dex_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.

Parameters* required
chain*string
Chain name. Supported: bsc, base, eth, solana, arbitrum, polygon, avalanche, fantom, zksync, linea, optimism, sui, blast, tron, merlin, world, eni, bera, gatelayer, ton
page_indexstring
Page index (default 1)
page_sizestring
Page size (default 15, max 15)
pair_addressstring
Optional pair address
token_address*string
Token contract address
dex_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.

Parameters* required
chain*string
Chain name. Supported: bsc, base, eth, solana, arbitrum, polygon, avalanche, fantom, zksync, linea, optimism, sui, blast, tron, merlin, world, eni, bera, gatelayer, ton
pair_addressstring
Optional pair address
token_address*string
Token contract address
dex_rpc_callProxy a JSON-RPC call to a blockchain node.4 params

Proxy a JSON-RPC call to a blockchain node.

Parameters* required
chain*string
Chain name (e.g., ETH, BSC, SOL, ARB, POLYGON)
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
method*string
RPC method name (e.g., eth_blockNumber, eth_getBalance, getLatestBlockhash)
paramsarray
RPC method parameters as JSON array
dex_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.

Parameters* required
address*string
Token contract address
chain*string
Blockchain network
include_holdersstring
Include top holders (true/false, default true)
dex_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.

Parameters* required
chainstring
Optional chain filter; omit for all chains
end*string
End of creation time range (RFC3339, e.g. 2025-01-02T00:00:00Z)
limitstring
Max number of tokens (1-100, default 20)
start*string
Start of creation time range (RFC3339, e.g. 2025-01-01T00:00:00Z)
dex_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.

Parameters* required
address*string
Token contract address
chain*string
Chain name. Supported: bsc, polygon, avalanche, arbitrum, optimism, base, fantom, linea, zksync, world, gatelayer, merlin, blast, eni, bera, solana, ton, sui, tron
ignorestring
Set to true to hide empty risk items
lanstring
Language code (e.g. en, zh)
dex_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.

Parameters* required
account_idstring
User account ID. Only used when wallet is empty, to look up wallet addresses.
chain*string
Target chain identifier, e.g. bsc, arbitrum, polygon
searchstring
Search keyword (token symbol or contract address) to filter results
search_authboolean
When searching, only return certified tokens. Only effective when search is non-empty.
source_address*string
Source token contract address on the source chain
source_chain*string
Source chain identifier, e.g. eth, bsc, solana
walletstring
User wallet address(es), comma-separated. Used to show balances and favorites.
dex_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.

Parameters* required
account_idstring
User account ID. Only used when wallet is empty.
chainstring
Chain identifier, e.g. eth, bsc, solana, arbitrum. Omit to query all chains.
ignore_bridgeboolean
Ignore cross-chain bridge restrictions, only filter by chain. Default false.
searchstring
Search keyword (token symbol or contract address)
search_authboolean
When searching, only return certified tokens. Only effective when search is non-empty.
tagstring
List type: empty for normal token list; 'favorite' for user favorites (requires wallet/account_id); 'recommend' for system recommended tokens.one of · favorite · recommend
walletstring
User wallet address(es), comma-separated. Used for favorites and balance display.
web3_keystring
Chain web3_key identifier. Only used when chain is empty, auto-maps to chain.
dex_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.

Parameters* required
chainstring
Optional chain filter
direction*string
'desc' for top gainers, 'asc' for top losers
top_nstring
Number of tokens (1-100, default 10)
dex_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.

Parameters* required
actionstring
Action type: 'approve' (default) or 'revoke' (revoke all approvals, Solana only)
amount*string
Approval amount (human-readable). Set to '0' to revoke approval (EVM), set to 'unlimited' or 'max' for maximum allowance
chainstring
Chain name (default ETH). Based on backend chain configuration.
max_fee_per_gasstring
EVM: override max fee per gas (wei)
max_priority_fee_per_gasstring
EVM: override max priority fee per gas (wei)
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
noncestring
EVM: transaction nonce. Omit to auto-fetch current nonce.
owner*string
Owner address (your wallet address)
priority_fee_micro_lamportsstring
Solana: priority fee (micro-lamports per compute unit)
spender*string
Spender address (EVM: spender contract address; Solana: delegate account address)
token_contractstring
EVM: ERC20 contract address (required for EVM)
token_decimals*string
Token decimals (e.g. 6, 18, 9)
token_mintstring
Solana: SPL Token mint address (required for Solana)
dex_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.

Parameters* required
from_walletstring
Optional sender wallet address filter
hash_id*string
Transaction hash ID
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
dex_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.

Parameters* required
chain*string
Chain name or alias; resolved via dex_chain_config before calling upstream.
datastring
Transaction calldata (hex)
from*string
Sender address
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
networkstring
Network name
to*string
Recipient address
valuestring
Transfer value in wei
dex_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.

Parameters* required
amount*string
Amount in SOL, e.g. 0.0001
from*string
Sender address (base58)
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
priority_fee_micro_lamportsstring
Optional priority fee (micro-lamports per compute unit). Try 1000-10000 if broadcast returns replacement transaction underpriced.
to*string
Recipient address (base58)
dex_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.

Parameters* required
account_id*string
Account ID
addressstring
Wallet address filter
cursorstring
Pagination cursor
end_timestring
End time (Unix seconds or ISO8601)
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
page_numstring
Page number (1-based)
page_sizestring
Page size (default 20)
start_timestring
Start time (Unix seconds or ISO8601)
dex_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...

Parameters* required
account_idstring
Account ID (for history_data); optional when logged in — resolved from session
action_typestring
Action type (history_data.action_type)
addressstring
Sender wallet address (history_data.address); optional when logged in — resolved from session wallet for the chain
chain*string
Chain name: must match dex_chain_config response `chain` (canonical). Aliases are resolved via chain config before calling upstream.
last_valid_block_heightnumber
Solana: lastValidBlockHeight returned by dex_tx_get_sol_unsigned or the blockhash fetch. Broadcast is rejected when the chain height has passed it.
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
memostring
Memo (history_data.memo)
networkstring
Network name
noncenumber
Nonce (history_data.nonce)
signed_tx*string
Signed transaction data. For EVM chains: hex string (0x prefix added automatically). For other chains (e.g. Solana): use chain-specific format
token_addrstring
Token contract address (history_data.token_addr)
token_namestring
Token name (history_data.token_name)
token_short_namestring
Token symbol, e.g. USDT (history_data.token_short_name)
trans_balancestring
Display amount (history_data.trans_balance)
trans_balance_usdstring
USD value (history_data.trans_balance_usd)
trans_gas_feestring
Gas fee display (history_data.trans_gas_fee)
trans_min_unit_amountstring
Amount in smallest unit (history_data.trans_min_unit_amount)
trans_min_unit_gas_feestring
Gas fee in smallest unit (history_data.trans_min_unit_gas_fee)
trans_oppo_addressstring
Counterparty address, e.g. recipient (history_data.trans_oppo_address)
trans_timestring
Transaction time ISO8601 (default: now)

+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.

Parameters* required
mcp_token*string
MCP session token (required in the tool schema). After Google or Gate wallet login, read it from login_result when dex_auth_google_login_poll or dex_auth_gate_login_poll returns success. The server...
stage*string
Preview stage: 'approve' or 'swap'
swap_session_id*string
Swap session ID returned by dex_tx_swap_prepare
dex_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.

Parameters* required
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
tx_order_id*string
Transaction order ID from dex_tx_swap_submit
dex_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.

Parameters* required
account_id*string
Account ID (wallet address)
dst_chainnumber
Destination chain ID filter. 0 or omit for all chains
end_timestring
End time filter (ISO8601 format)
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
page_numnumber
Page number (0-based, default 0)
page_sizenumber
Page size (default 20)
src_chainnumber
Source chain ID filter (e.g. 1=ETH, 56=BSC). 0 or omit for all chains
start_timestring
Start time filter (ISO8601 format, e.g. 2025-01-01T00:00:00Z)
dex_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.

Parameters* required
account_id*string
User account ID (UUID)
amount*string
Human-readable amount (e.g. '0.01')
chain_id_in*number
Source chain ID (e.g. 1=ETH, 56=BSC, 501=Solana)
chain_id_out*number
Destination chain ID. Same as chain_id_in for single-chain swap
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
native_in*number
⚠️ CRITICAL — Must be set correctly, wrong value causes transaction failure or fund loss. Simply check: is token_in a native/gas coin? If yes, set 1; if it's a contract token, set 0. Native coins:...
native_out*number
⚠️ CRITICAL — Must be set correctly, wrong value causes transaction failure or fund loss. Simply check: is token_out a native/gas coin? If yes, set 1; if it's a contract token, set 0. Native coins:...
slippage*number
Slippage as decimal (0.01=1%, 0.1=10%)
to_walletstring
Destination chain receiving address. ONLY required for CROSS-CHAIN swaps where chain_id_in and chain_id_out belong to different address groups (e.g. EVM→Solana). Obtain from dex_wallet_get_addresse...
token_in*string
Source token address. Use '-' for native coin
token_out*string
Destination token address
user_wallet*string
User's wallet address matching the SOURCE CHAIN. MUST be chain-specific: call dex_wallet_get_addresses(account_id) to get addresses, use addresses["EVM"] for EVM chains or addresses["SOL"] for Sola...
dex_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).

Parameters* required
amount*string
Human-readable amount of source token to swap, e.g. "0.001" for 0.001 BNB, "1" for 1 USDT. Do NOT convert to smallest unit (wei/lamports). Obtained directly from user's chat message.
chain_id_in*number
Source chain ID. Use well-known IDs: ETH=1, BSC=56, Polygon=137, Arbitrum=42161, Base=8453, Avalanche=43114, Solana=501. Only call dex_chain_config for uncommon/unknown chains. For single-chain swa...
chain_id_out*number
Destination chain ID. Use same well-known IDs as chain_id_in. For single-chain swap, set equal to chain_id_in. For cross-chain swap, set to the target chain's ID.
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
native_in*number
⚠️ CRITICAL — Must be set correctly, wrong value causes transaction failure or fund loss. Simply check: is token_in a native/gas coin? If yes, set 1; if it's a contract token, set 0. Native coins:...
native_out*number
⚠️ CRITICAL — Must be set correctly, wrong value causes transaction failure or fund loss. Simply check: is token_out a native/gas coin? If yes, set 1; if it's a contract token, set 0. Native coins:...
slippage*number
Slippage tolerance as decimal ratio: 0.01 = 1%, 0.03 = 3%. Valid range: 0.001 (0.1%) to 0.499 (49.9%). If the user already specified slippage, use it directly. Only ask to confirm when not provided...
to_walletstring
Destination chain receiving address. ONLY required for CROSS-CHAIN swaps where chain_id_in and chain_id_out belong to different address groups (e.g. EVM→Solana or Solana→EVM). Obtain from dex_walle...
token_in*string
Source token contract address. Use "-" for native coins (ETH, BNB, MATIC, etc.). For ERC20/BEP20 tokens, provide the full contract address (e.g. 0x55d398326f99059ff775485246999027b3197955 for BSC U...
token_out*string
Destination token contract address. Use "-" for native coins. For ERC20/BEP20 tokens, provide the full contract address. Obtain from user input, wallet_get_token_list, or known token mappings. If n...
user_wallet*string
User's wallet address matching the SOURCE CHAIN. CRITICAL: You MUST use the chain-specific address — call dex_wallet_get_addresses(account_id) first, then use addresses["EVM"] for EVM chains (ETH/B...
dex_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.

Parameters* required
checkin_token*string
Approve-stage checkin_token returned by the local skill check-in script after dex_tx_swap_checkin_preview(stage='approve')
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
swap_session_id*string
Swap session ID returned by dex_tx_swap_prepare
dex_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.

Parameters* required
checkin_token*string
Swap-stage checkin_token returned by the local skill check-in script after dex_tx_swap_checkin_preview(stage='swap')
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
swap_session_id*string
Swap session ID returned by dex_tx_swap_prepare
dex_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).

Parameters* required
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
swap_session_id*string
Swap session ID returned by dex_tx_swap_prepare
dex_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...

Parameters* required
amount*string
Amount in token units. Precision depends on token/decimals. Examples: '1', '0.5', '0.000001'
chainstring
Chain name or alias (default ETH). Resolved to canonical name from chain config; downstream sign/broadcast should use the same logical chain.
from*string
Sender (your wallet) address
max_fee_per_gasstring
EVM only: override max fee per gas (wei). Use when replacing a pending tx: set ≥1.1× the previous max_fee_per_gas to fix replacement transaction underpriced.
max_priority_fee_per_gasstring
EVM only: override max priority fee per gas (wei). When replacing, set ≥1.1× previous max_priority_fee_per_gas.
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
noncestring
Transaction nonce. Omit to use current chain nonce (eth_getTransactionCount), ensuring tx can be mined and found on explorer; wrong nonce causes tx to fail or not appear.
priority_fee_micro_lamportsstring
Solana only: optional priority fee (micro-lamports per compute unit). Use 1000-10000 if broadcast returns replacement transaction underpriced.
to*string
Recipient address
tokenstring
Token symbol for display (default USDT). Use ETH/NATIVE for native; USDT for USDT; or use token_contract/token_mint for any token.
token_contractstring
EVM: ERC20 contract address for arbitrary token. When set, token_decimals is used (default 18). Solana: unused.
token_decimalsstring
Token decimals (e.g. 6, 18). Required when using token_contract (EVM) or token_mint (Solana); default 18 for ERC20, 9 for SOL.
token_mintstring
Solana: SPL token mint address for SPL transfer. When set, token_decimals is required. EVM: unused.
dex_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...

Parameters* required
bodystring
Optional request body
headersstring
Optional JSON object of request headers
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
methodstring
HTTP method; default GET
url*string
Same URL as dex_tx_x402_fetch
x402_payment_required_b64string
Optional: PAYMENT-REQUIRED header base64; when omitted, one outbound request is made and must return 402
x402_preferred_networkstring
Same as dex_tx_x402_fetch
dex_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...

Parameters* required
bodystring
Optional request body
checkin_token*string
From Gate Verify MCP tool tx_checkin success (e.g. structuredContent.data.checkin_token or data.checkin_token). Required before every call so GV can verify signing.
headersstring
Optional JSON object of request headers
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
methodstring
HTTP method; default GET
url*string
Request URL (CoinGecko x402: https://pro-api.coingecko.com/api/v3/x402/...)
x402_payment_required_b64string
Optional: base64 PAYMENT-REQUIRED header payload from the same 402 as EIP-3009 tx-checkin. When set, skips the first HTTP call and pays using this snapshot (digest/checkin_token must match).
x402_preferred_networkstring
Optional: base, eth, solana, eip155:8453, ... — restrict which accept.network is used. CoinGecko Pro /x402/ defaults to base when omitted.
dex_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.

Parameters* required
gateUid*string
Must equal login_result.gate_uid from Gate OAuth that created this session
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
dex_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.

Parameters* required
account_id*string
Account ID
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
dex_wallet_get_bindingsReturns current Gate UID binding for the session wallet.1 params

Returns current Gate UID binding for the session wallet.

Parameters* required
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
dex_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.

Parameters* required
account_idstring
Account ID (optional, auto-detected from login session)
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
network_keysstring
Optional. Comma-separated network keys to filter (e.g. ETH,SOL,ARB). Omit or leave empty for all networks. Do not pass a separate chain field — use network_keys only.
pagenumber
Page number, default 1
page_sizenumber
Page size, default 20
dex_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.

Parameters* required
account_idstring
Account ID (optional, auto-detected from login session)
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
dex_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.

Parameters* required
account_idstring
Account ID; used with session to resolve EVM address if wallet_address omitted
for_gate_oauth_bindboolean
Bind/rebind Gate exchange: when walletType is NOT gate_mcp/gate_quick, start Gate OAuth (Google: link); when already Gate-native with gateUid, returns nextSteps only
for_withdraw_to_exchangeboolean
Withdraw-to-exchange: when gateUid is missing, start Gate device OAuth (Google: link binding)
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
wallet_addressstring
EVM wallet address to classify
dex_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.

Parameters* required
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
dex_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.

Parameters* required
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
newUid*string
Must equal login_result.gate_uid from latest Gate OAuth (stamped on session)
dex_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.

Parameters* required
chain*string
Chain: dex_chain_config name/alias (e.g. ETH, BSC, SOL), or pass EVM / SOL directly for the signing family. Unknown names are rejected via chain config; web3_business_wallet sign-message receives c...
checkin_token*string
From successful tx-checkin response: the checkin_token string (terminal CLI stdout JSON). Must match the signing intent in the same flow.
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
message*string
Message to sign (hex)
dex_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.

Parameters* required
chain*string
Chain name: must match dex_chain_config response `chain` (canonical). Aliases are resolved via chain config.
checkin_token*string
From successful tx-checkin response: the checkin_token string (terminal CLI stdout JSON). Must match the signing intent in the same flow.
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
raw_tx*string
Raw transaction data
dex_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.

Parameters* required
amount*string
Required. Human-readable amount (same units as on-chain transfer); must be ≥ exchange min_deposit_amount
chain_name*string
Chain name, e.g. BSC, ETH
coin_symbol*string
Coin symbol, e.g. USDT
mcp_tokenstring
MCP session token obtained from login (dex_auth_google_login_poll or dex_auth_gate_login_poll). MUST be provided in every call to this tool after login; omitting it will result in 403
token_addressstring
Optional. ERC20 contract for gate-deposit; empty for native. If omitted, USDT is resolved from chain_name; other symbols may require this field

Sponsors

Readme

Gate MCP Server

License: MIT MCP

English | 中文


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


View the full README on GitHub

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

More from gate

Related Data & Analytics MCP servers

View all
1gate avatarGate Info MCPgate/gate-mcpGate info MCP for coin discovery, market snapshots, technical analysis, and on-chain data.31stars
2mikechao avatarMet Museum Servermikechao/metmuseum-mcpAccess the Metropolitan Museum of Art's collection through natural language queries. Search for artworks, retrieve detailed information, and explore various dep31stars
3bruno-portfolio avatarAgrobrbruno-portfolio/agrobr-mcpBrazilian agricultural data for LLMs — prices, crops, climate, deforestation.30stars
4akutishevsky avatarWithings Health Dataakutishevsky/withings-mcpMCP server for Withings health data — sleep, activity, heart, and body metrics.25stars
5olostep avatarOlostep MCP Serverolostep/olostep-mcp-serverLive web search, scraping and crawling API for AI. Get structured, LLM-ready data from any site.25stars
6vikramgorla avatarSwitzerland MCP 🇨🇭vikramgorla/mcp-swissSwiss open data MCP server. 94 tools, zero API keys. Transport, weather, geodata, catalogue.25stars