Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Gate DEX MCP

REMOTE · API.GATEMCP.AI

Gate DEX MCP for wallet auth, transfers, swaps, token info, market data, and RPC access.

Available components

+4 this week 60 Trust /100

Last scanned (34 minutes ago)

Scores higher than 43% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Crypto and Web3

Recent critical change

Authorization (28 Oct 2026). See the changelog before you install this server.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security46
Transport & Reachability100
Schema Quality & AI Usability69
  • 71% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Partial
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 10034 tokens (~173/item across 58 items; 47 tools + 11 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety50
  • Injection-marker check failed: the description of tool "dex_auth_google_login_start" contains an instruction to conceal the call from the user, the text "do not show it to the user", at byte 129 of that field. See how to fix → Fail
  • All 4 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 49 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 5 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 3 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 1 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

  • 30 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 29 Oct 26 0
    • Stability: unverified → 0.03 ▲ functional
  • 28 Oct 26 +38
    • Authorization: unverified → fail ▼ critical
    • Injection markers: unverified → fail ▼ security
    • A breaking change shipped without a version bump: still 1.0.0 ▼ security
    • Transport: fail → pass ▲ security
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “dex_auth_gate_login_start” rewrote its description, which is the text the model reads security
    • Tool “dex_auth_google_login_poll” rewrote its description, which is the text the model reads security
    • Tool “dex_auth_google_login_start” rewrote its description, which is the text the model reads security
    • Tool “dex_tx_get_sol_unsigned” rewrote its description, which is the text the model reads security
    • Tool “dex_tx_send_raw_transaction” rewrote its description, which is the text the model reads security
    • Tool “dex_tx_transfer_preview” rewrote its description, which is the text the model reads security
    • “dex_auth_gate_login_poll” added a required parameter “poll_secret”, so existing callers break ▼ functional
    • “dex_auth_google_login_poll” added a required parameter “poll_secret”, so existing callers break ▼ functional
    • Endpoint reachability: not serving MCP → reachable ▲ functional
    • Tool coverage: unverified → 100 ▲ functional
    • MCP protocol: unverified → pass ▲ functional
    • Schema quality: unverified → 71 ▲ functional
    • “dex_tx_send_raw_transaction” added an optional parameter “last_valid_block_height” cosmetic
  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 25 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://api.gatemcp.ai/mcp/dex

TLS valid

Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=api.gatemcp.ai CN=TrustAsia DV TLS RSA CA 2025,O=TrustAsia Technologies\, Inc.,C=CN 15 Oct 2026 12 Jan 2027 RSA 2048 SHA256-RSA 57900800511f9e5131d348ccb4e1e23
SANs: api.gatemcp.ai
CN=TrustAsia DV TLS RSA CA 2025,O=TrustAsia Technologies\, Inc.,C=CN (CA) CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US 8 Jan 2025 7 Jan 2035 RSA 4096 SHA256-RSA 926323b4964e368461512def1a5d52c
CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US (CA) CN=DigiCert Global Root G2,OU=www.digicert.com,O=DigiCert Inc,C=US 1 Aug 2013 15 Jan 2038 RSA 2048 SHA256-RSA 33af1e6a711a9a0bb2864b11d09fae5

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of api.gatemcp.ai. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 1814, 3799 8, 8 Verified
gatemcp.ai. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.gatemcp.ai/mcp/dex Verified 200
http (plaintext) http://api.gatemcp.ai/mcp/dex Inconclusive 522
MCP tools · 47 exposed · ~9,464 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
dex_agentic_report ~119

Register agentic wallet addresses with the wallet service.

NameTypeReqDescription
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
walletsobjectyesArray of wallet info objects. Each wallet contains walletID and accounts array. Each account contains accountID and chainAddressList array. Each chainAddress contains networkKey, chains, chainAddress…

No output schema declared.

No examples provided.

dex_auth_gate_login_poll ~158

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.

NameTypeReqDescription
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 c…
flow_idstringyesFlow ID returned by dex_auth_gate_login_start
poll_secretstringyesOne-time poll secret returned by dex_auth_gate_login_start. Do not show this value to the user.

No output schema declared.

No examples provided.

dex_auth_gate_login_start ~83

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.

NameTypeReqDescription
link_mcp_tokenstring–Current Google wallet mcp_token for bind-only Gate OAuth; omit for standalone Gate login

No output schema declared.

No examples provided.

dex_auth_google_login_poll ~101

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.

NameTypeReqDescription
flow_idstringyesFlow ID returned by dex_auth_google_login_start
poll_secretstringyesOne-time poll secret returned by dex_auth_google_login_start. Do not show this value to the user.

No output schema declared.

No examples provided.

dex_auth_google_login_start ~44

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.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

dex_auth_login_gate_wallet ~70

Exchange Gate OAuth code for MCP token. [write] On success, immediately replace any stored mcp_token — new token is tied to a different account.

NameTypeReqDescription
codestringyesGate OAuth authorization code
redirect_urlstringyesGate OAuth redirect URL used in the authorization request

No output schema declared.

No examples provided.

dex_auth_login_google_wallet ~70

Exchange Google OAuth code for MCP token. [write] On success, immediately replace any stored mcp_token — new token is tied to a different account.

NameTypeReqDescription
codestringyesGoogle OAuth authorization code
redirect_urlstringyesGoogle OAuth redirect URL used in the authorization request

No output schema declared.

No examples provided.

dex_auth_logout ~34

Revoke the MCP session identified by mcp_token.

NameTypeReqDescription
mcp_tokenstringyesMCP session token to revoke

No output schema declared.

No examples provided.

dex_chain_config ~116

Returns chain config (networkKey, accountKey, chainID). Use the returned chain value in all subsequent transfer/sign/broadcast tools.

NameTypeReqDescription
chainstringyesChain 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

No output schema declared.

No examples provided.

dex_market_get_kline ~220

OHLCV candles by period and window. Volume aggregates→get_tx_stats. Pool events→get_pair_liquidity.

NameTypeReqDescription
chainstringyesChain 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
periodstringyesK-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_addressstringyesToken contract address

No output schema declared.

No examples provided.

dex_market_get_pair_liquidity ~150

AMM pool deposit and withdrawal events. Candlesticks→get_kline. Volume stats→get_tx_stats.

NameTypeReqDescription
chainstringyesChain 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_addressstringyesToken contract address

No output schema declared.

No examples provided.

dex_market_get_tx_stats ~127

Per-interval buy/sell volume and tx counts (5m–24h). Candlesticks→get_kline. Pool events→get_pair_liquidity.

NameTypeReqDescription
chainstringyesChain 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_addressstringyesToken contract address

No output schema declared.

No examples provided.

dex_rpc_call ~132

Proxy a JSON-RPC call to a blockchain node.

NameTypeReqDescription
chainstringyesChain 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
methodstringyesRPC method name (e.g., eth_blockNumber, eth_getBalance, getLatestBlockhash)
paramsarray–RPC method parameters as JSON array

No output schema declared.

No examples provided.

dex_token_get_coin_info ~68

Price, market snapshot, metadata, optional top holders. Security audit→get_risk_info.

NameTypeReqDescription
addressstringyesToken contract address
chainstringyesBlockchain network
include_holdersstring–Include top holders (true/false, default true)

No output schema declared.

No examples provided.

dex_token_get_coins_range_by_created_at ~131

Tokens launched within a given time window; chain optional for all networks.

NameTypeReqDescription
chainstring–Optional chain filter; omit for all chains
endstringyesEnd of creation time range (RFC3339, e.g. 2025-01-02T00:00:00Z)
limitstring–Max number of tokens (1-100, default 20)
startstringyesStart of creation time range (RFC3339, e.g. 2025-01-01T00:00:00Z)

No output schema declared.

No examples provided.

dex_token_get_risk_info ~133

Contract security audit (honeypot, tax, ownership flags). Price and market stats→get_coin_info.

NameTypeReqDescription
addressstringyesToken contract address
chainstringyesChain 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)

No output schema declared.

No examples provided.

dex_token_list_cross_chain_bridge_tokens ~178

Receivable assets on target chain for a source token. Same-chain trading→list_swap_tokens.

NameTypeReqDescription
account_idstring–User account ID. Only used when wallet is empty, to look up wallet addresses.
chainstringyesTarget 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_addressstringyesSource token contract address on the source chain
source_chainstringyesSource chain identifier, e.g. eth, bsc, solana
walletstring–User wallet address(es), comma-separated. Used to show balances and favorites.

No output schema declared.

No examples provided.

dex_token_list_swap_tokens ~223

Tradable assets on a chain; tag selects favorites or recommendations. Bridge targets→list_cross_chain_bridge_tokens.

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

No output schema declared.

No examples provided.

dex_token_ranking ~83

Top movers by 24h price change; direction selects gainers vs losers. Single token→get_coin_info.

NameTypeReqDescription
chainstring–Optional chain filter
directionstringyes'desc' for top gainers, 'asc' for top losers
top_nstring–Number of tokens (1-100, default 10)

No output schema declared.

No examples provided.

dex_tx_approve_preview ~359

Build ERC20/SPL approve or revoke tx (does not broadcast). Sign with dex_wallet_sign_transaction after user confirmation.

NameTypeReqDescription
actionstring–Action type: 'approve' (default) or 'revoke' (revoke all approvals, Solana only)
amountstringyesApproval 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.
ownerstringyesOwner address (your wallet address)
priority_fee_micro_lamportsstring–Solana: priority fee (micro-lamports per compute unit)
spenderstringyesSpender address (EVM: spender contract address; Solana: delegate account address)
token_contractstring–EVM: ERC20 contract address (required for EVM)
token_decimalsstringyesToken decimals (e.g. 6, 18, 9)
token_mintstring–Solana: SPL Token mint address (required for Solana)

No output schema declared.

No examples provided.

dex_tx_detail ~100

Fetch transaction detail by on-chain hash. → swap_detail for swap order detail by order ID.

NameTypeReqDescription
from_walletstring–Optional sender wallet address filter
hash_idstringyesTransaction 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

No output schema declared.

No examples provided.

dex_tx_gas ~140

Estimate on-chain gas price and gas limit for a given tx.

NameTypeReqDescription
chainstringyesChain name or alias; resolved via dex_chain_config before calling upstream.
datastring–Transaction calldata (hex)
fromstringyesSender 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
tostringyesRecipient address
valuestring–Transfer value in wei

No output schema declared.

No examples provided.

dex_tx_get_sol_unsigned ~189

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.

NameTypeReqDescription
amountstringyesAmount in SOL, e.g. 0.0001
fromstringyesSender 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.
tostringyesRecipient address (base58)

No output schema declared.

No examples provided.

dex_tx_list ~174

List wallet transaction history (transfers). → swap_history_list for swap/bridge orders. → tx_detail for single tx by hash.

NameTypeReqDescription
account_idstringyesAccount 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)

No output schema declared.

No examples provided.

dex_tx_send_raw_transaction ~548

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. account_id/address are auto-filled from the login session when omitted.

NameTypeReqDescription
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
chainstringyesChain 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_txstringyesSigned 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)
trans_typestring–Transaction type (history_data.trans_type)

No output schema declared.

No examples provided.

dex_tx_swap_checkin_preview ~184

Returns check-in fields for a swap stage (approve or swap). Call after prepare and before terminal tx-checkin script.

NameTypeReqDescription
mcp_tokenstringyesMCP 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 c…
stagestringyesPreview stage: 'approve' or 'swap'
swap_session_idstringyesSwap session ID returned by dex_tx_swap_prepare

No output schema declared.

No examples provided.

dex_tx_swap_detail ~96

Fetch swap order detail by order ID from swap_submit. → tx_detail for detail by on-chain hash.

NameTypeReqDescription
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_idstringyesTransaction order ID from dex_tx_swap_submit

No output schema declared.

No examples provided.

dex_tx_swap_history_list ~229

List swap/bridge order history with pagination; includes single-chain and cross-chain. → tx_list for transfer history.

NameTypeReqDescription
account_idstringyesAccount 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)

No output schema declared.

No examples provided.

dex_tx_swap_prepare ~839

Stage a swap session (server-side build only); returns swap_session_id. Does not sign or submit. Call after quote confirmed by user.

NameTypeReqDescription
account_idstringyesUser account ID (UUID)
amountstringyesHuman-readable amount (e.g. '0.01')
chain_id_innumberyesSource chain ID (e.g. 1=ETH, 56=BSC, 501=Solana)
chain_id_outnumberyesDestination 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_innumberyes⚠️ 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: ET…
native_outnumberyes⚠️ 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: E…
slippagenumberyesSlippage 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_addresses.…
token_instringyesSource token address. Use '-' for native coin
token_outstringyesDestination token address
user_walletstringyesUser'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 Solana…

No output schema declared.

No examples provided.

dex_tx_swap_quote ~1,192

Returns swap route and pricing. Call before swap_prepare; show result to user before proceeding. → transfer_preview for direct token send (not exchange).

NameTypeReqDescription
amountstringyesHuman-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_innumberyesSource 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 swap,…
chain_id_outnumberyesDestination 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_innumberyes⚠️ 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: ET…
native_outnumberyes⚠️ 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: E…
slippagenumberyesSlippage 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_wallet_…
token_instringyesSource 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 USD…
token_outstringyesDestination 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 nat…
user_walletstringyesUser'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/BSC…

No output schema declared.

No examples provided.

dex_tx_swap_sign_approve ~136

[write] Sign the ERC20 approve tx for a staged EVM swap. Requires need_approved=true in prepare result.

NameTypeReqDescription
checkin_tokenstringyesApprove-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_idstringyesSwap session ID returned by dex_tx_swap_prepare

No output schema declared.

No examples provided.

dex_tx_swap_sign_swap ~146

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

NameTypeReqDescription
checkin_tokenstringyesSwap-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_idstringyesSwap session ID returned by dex_tx_swap_prepare

No output schema declared.

No examples provided.

dex_tx_swap_submit ~110

[write] Broadcast a staged swap to the chain. Does not sign. Requires all signing steps complete (sign_approve if EVM+approval, then sign_swap).

NameTypeReqDescription
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_idstringyesSwap session ID returned by dex_tx_swap_prepare

No output schema declared.

No examples provided.

dex_tx_transfer_preview ~555

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: returns unsigned_tx_hex and txBundle. → swap_quote/swap_prepare for token exchange.

NameTypeReqDescription
amountstringyesAmount 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.
fromstringyesSender (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.
tostringyesRecipient 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.

No output schema declared.

No examples provided.

dex_tx_x402_checkin_preview ~276

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/headers, checkin_token, and the same x402_payment_required_b64. If x402_payment_required_b64 is omitted, performs one HTTP call and requires HTTP 402.

NameTypeReqDescription
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
urlstringyesSame 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

No output schema declared.

No examples provided.

dex_tx_x402_fetch ~419

[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 EVM EIP-3009, use dex_tx_x402_checkin_preview first so the agent does not build digest manually; then pass checkin_token and the same x402_payment_required_b64 from preview. CoinGecko Pro x402: do not send x-cg-pro-api-key; default network Base unless x402_preferred_network=solana.

NameTypeReqDescription
bodystring–Optional request body
checkin_tokenstringyesFrom 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
urlstringyesRequest 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.

No output schema declared.

No examples provided.

dex_wallet_bind_exchange_uid ~114

Bind Gate exchange UID to session. Standalone Gate session only; gateUid must equal login_result.gate_uid from Gate OAuth. → replace_binding to rebind.

NameTypeReqDescription
gateUidstringyesMust 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

No output schema declared.

No examples provided.

dex_wallet_get_addresses ~94

Returns address map by chain type (EVM, SOL, etc.). Call before transfer/swap tools to get the sender address.

NameTypeReqDescription
account_idstringyesAccount 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

No output schema declared.

No examples provided.

dex_wallet_get_bindings ~69

Returns current Gate UID binding for the session wallet.

NameTypeReqDescription
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

No output schema declared.

No examples provided.

dex_wallet_get_token_list ~174

Token balances and prices with pagination; filter by network_keys. → get_total_asset for portfolio summary only.

NameTypeReqDescription
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

No output schema declared.

No examples provided.

dex_wallet_get_total_asset ~97

Total portfolio value and 24h change. → get_token_list for per-token balance detail.

NameTypeReqDescription
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

No output schema declared.

No examples provided.

dex_wallet_get_wallet_type ~210

Returns walletAddress, walletType, gateUid. With for_withdraw_to_exchange or for_gate_oauth_bind, also starts Gate OAuth when gateUid is missing.

NameTypeReqDescription
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

No output schema declared.

No examples provided.

dex_wallet_google_gate_bind_start ~84

Google sessions only: starts Gate OAuth to bind Gate exchange UID to this session. mcp_token stays unchanged after poll.

NameTypeReqDescription
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

No output schema declared.

No examples provided.

dex_wallet_replace_binding ~121

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.

NameTypeReqDescription
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
newUidstringyesMust equal login_result.gate_uid from latest Gate OAuth (stamped on session)

No output schema declared.

No examples provided.

dex_wallet_sign_message ~204

Sign a 32-byte hex message with wallet key. [write] Requires checkin_token from terminal tx-checkin. → sign_transaction for raw tx signing.

NameTypeReqDescription
chainstringyesChain: 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 cha…
checkin_tokenstringyesFrom 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
messagestringyesMessage to sign (hex)

No output schema declared.

No examples provided.

dex_wallet_sign_transaction ~168

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.

NameTypeReqDescription
chainstringyesChain name: must match dex_chain_config response `chain` (canonical). Aliases are resolved via chain config.
checkin_tokenstringyesFrom 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_txstringyesRaw transaction data

No output schema declared.

No examples provided.

dex_withdraw_deposit_address ~197

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.

NameTypeReqDescription
amountstringyesRequired. Human-readable amount (same units as on-chain transfer); must be ≥ exchange min_deposit_amount
chain_namestringyesChain name, e.g. BSC, ETH
coin_symbolstringyesCoin 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

No output schema declared.

No examples provided.

Install

How do I install the Gate DEX MCP server?

Gate DEX MCP is a hosted endpoint at https://api.gatemcp.ai/mcp/dex, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · api.gatemcp.ai

# add to Claude Code
claude mcp add --transport http gateio-dev-gate-dex 'https://api.gatemcp.ai/mcp/dex'
Common questions

What is the Gate DEX MCP server?

Gate DEX MCP is listed in the public MCP registry as io.github.gateio-dev/gate-dex. Gate DEX MCP for wallet auth, transfers, swaps, token info, market data, and RPC access. This page covers its hosted endpoint (https://api.gatemcp.ai/mcp/dex).

Is the Gate DEX MCP server safe to use?

Gate DEX MCP scores 60 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Gate DEX MCP server expose?

Gate DEX MCP exposes 47 tools: dex_agentic_report, dex_auth_gate_login_poll, dex_auth_gate_login_start, dex_auth_google_login_poll, dex_auth_google_login_start, and 42 more. Their descriptions and schemas cost roughly 9,464 tokens of context every time the server is loaded.

Does the Gate DEX MCP server require authentication?

No. We connected to Gate DEX MCP without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Gate DEX MCP server still maintained?

Gate DEX MCP is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.