defire-business avatar

SwapWizard

defire-business/swapwizard-mcp

Connects AI agents to SwapWizard's DeFi API across Ethereum, BSC, Polygon, Base, and Arbitrum. Exposes swap quotes with AMM routing, liquidity pool search by APR or trending status, single-transaction zaps into and out of LP positions, and full position monitoring with fees and impermanent loss tracking. Handles 22 protocols including 13 concentrated liquidity AMMs like Uniswap V3/V4 with custom tick ranges. Every tool returns router address and calldata for the user to sign, no custody required. Reach for this when you need an agent to discover pools, execute swaps across multiple DEXes, or manage concentrated liquidity positions without writing protocol-specific integration code.

GitHub stars
7
tools
11
auth
Secret needed
transport
STDIO, HTTP
env var
1
last updated
Jun 13, 2026

Install

From registry metadata
$ npx add-mcp https://mcp.swapwizard.xyz/mcp --name swapwizard-mcp

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 swapwizard-mcp https://mcp.swapwizard.xyz/mcp

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

Tools

Verified live · 11 tools

Verified live against the running server on Nov 6, 2026.

get_setup_guideReturns the complete setup and usage guide for SwapWizard. Call this FIRST before using any other tool. Covers: required configuration (API key, Alchemy RPC URL, private key), how to use poolId correctly, step-by-step operational flows for swap/zap in/zap out/analyze, transact...

Returns the complete setup and usage guide for SwapWizard. Call this FIRST before using any other tool. Covers: required configuration (API key, Alchemy RPC URL, private key), how to use poolId correctly, step-by-step operational flows for swap/zap in/zap out/analyze, transact...

No parameters. Call it with no arguments.

get_supported_chainsMaps to GET /chains. Lists supported EVM chains with chain IDs and native gas tokens: Ethereum, Arbitrum, Base, Polygon, BNB Chain.

Maps to GET /chains. Lists supported EVM chains with chain IDs and native gas tokens: Ethereum, Arbitrum, Base, Polygon, BNB Chain.

No parameters. Call it with no arguments.

check_api_healthMaps to GET /health. Returns service availability. Use to confirm the API is responsive before attempting operations.

Maps to GET /health. Returns service availability. Use to confirm the API is responsive before attempting operations.

No parameters. Call it with no arguments.

get_supported_dexesReturns the AMMs / DEX sources SwapWizard routes across per chain. Each DEX includes its display name and slug (e.g. "uniswap-v3") — use the slug as the 'project' filter in search_liquidity_pools to filter pools by protocol.1 params

Returns the AMMs / DEX sources SwapWizard routes across per chain. Each DEX includes its display name and slug (e.g. "uniswap-v3") — use the slug as the 'project' filter in search_liquidity_pools to filter pools by protocol.

Parameters* required
chainIdinteger
EVM chain ID to filter results. If omitted, returns protocols for all supported chains.
search_liquidity_poolsMaps to GET /pools. Discovers liquidity pools across supported AMMs and chains, returning id, poolId, symbol, underlyingTokens (token addresses), fee tier, protocol, dexKind, APY, apyBase (fee-only APY excluding reward emissions), TVL (USD), 24h/7d volume (USD), stablecoin fla...17 params

Maps to GET /pools. Discovers liquidity pools across supported AMMs and chains, returning id, poolId, symbol, underlyingTokens (token addresses), fee tier, protocol, dexKind, APY, apyBase (fee-only APY excluding reward emissions), TVL (USD), 24h/7d volume (USD), stablecoin fla...

Parameters* required
chainId*integer
EVM chain ID (e.g. 56 for BSC, 1 for Ethereum)
dexKindstring
Filter by DEX kind (e.g. UNIV3_SR02)
hooklessboolean
If true, exclude pools with a custom hook contract (Uniswap V4 / PancakeSwap Infinity). Hooks can add custom fees or transfer restrictions.
pageinteger
Page number, 0-based (default: 0)
pageSizeinteger
Results per page, max 200 (default: 50)
poolTypestring
Filter by pool typeone of classic · concentrated
projectstring
Filter by protocol/DEX name (e.g. uniswap-v3, pancakeswap-v3, aerodrome-v2)
searchstring
Search by symbol or project name
semiStableOnlyboolean
Show only pools with exactly one stablecoin
signalstring
Filter by momentum signal. Comma-separated list allowed (e.g. 'entry' or 'entry,watch'). Only effective with trending=true. Combine with sortBy=signal&sortOrder=desc to get entry pools ranked by APR.
sortBystring
Sort field (default: tvl). 'signal' (trending only) groups pools by momentum signal entry→watch→exit (sortOrder=asc reverses) and within each group by APR descending — i.e. the entry pools with the...one of apy · tvl · volume1d · volume7d · signal
sortOrderstring
Sort direction (default: desc)one of asc · desc
stableOnlyboolean
Show only stablecoin pairs
timeframestring
Trending ranking window (default: 5m). Only applies with trending=true. Sent to the API as trendingDuration; also selects the volume window for feeAprEstimate. Use 6h for sustained LP-yield tractio...one of 5m · 1h · 6h · 24h
tokensstring
Comma-separated token addresses to filter pools by
topPerVenueinteger
Limit to top N pools per venue by APY
trendingboolean
If true, return only currently trending pools (with momentumSignal and suggestedRangePct on each result)
analyze_poolMaps to GET /pools/analyze/:id. Returns real-time momentum data for a specific pool from GeckoTerminal: multi-timeframe volume (5m, 15m, 30m, 1h, 6h), price changes (5m–24h), buy/sell transaction counts, unique traders (24h), and reserve in USD. Data is cached for 10 minutes;...1 params

Maps to GET /pools/analyze/:id. Returns real-time momentum data for a specific pool from GeckoTerminal: multi-timeframe volume (5m, 15m, 30m, 1h, 6h), price changes (5m–24h), buy/sell transaction counts, unique traders (24h), and reserve in USD. Data is cached for 10 minutes;...

Parameters* required
id*integer
Pool numeric ID (from the id field in search_liquidity_pools response)
list_user_lp_positionsMaps to GET /positions. Reads all LP positions a wallet holds on a given chain by calling the SwapWizard API, which discovers positions across all supported protocols: Uniswap V2/V3/V4, Aerodrome, Thena, SushiSwap, PancakeSwap, Algebra, Balancer, Curve, and all Solidly forks....3 params

Maps to GET /positions. Reads all LP positions a wallet holds on a given chain by calling the SwapWizard API, which discovers positions across all supported protocols: Uniswap V2/V3/V4, Aerodrome, Thena, SushiSwap, PancakeSwap, Algebra, Balancer, Curve, and all Solidly forks....

Parameters* required
chainId*integer
EVM chain ID
owner*string
Wallet address to query positions for
rpcUrlstring
Custom RPC endpoint URL. If the URL is from Alchemy, the API auto-extracts the key for accelerated NFT-based position discovery.
get_swap_quoteMaps to POST /quote. Returns the best swap quote across all integrated DEX protocols, with router, callData, value, price impact, route summary, and gas estimate in one response. Surplus and positive slippage are returned to the user in the same transaction. Supports an option...8 params

Maps to POST /quote. Returns the best swap quote across all integrated DEX protocols, with router, callData, value, price impact, route summary, and gas estimate in one response. Surplus and positive slippage are returned to the user in the same transaction. Supports an option...

Parameters* required
affiliateCodestring
Optional affiliate wallet address registered on-chain with SwapWizard — forwarded to the API so the affiliate fee for this operation is paid to that address. Omit if you have no affiliate.
amount*string
Amount as stringified uint256 in token decimals
chainId*integer
EVM chain ID (e.g. 56 for BSC)
excludePositionsarray
Positions to subtract from pool state during simulation — for a clean quote that excludes self-impact. Get these from list_user_lp_positions.
side*string
Quote directionone of exactIn · exactOut
slippageBpsinteger
Slippage tolerance in basis points (default: 100 = 1%)
tokenIn*string
Input token address (0x0000...0000 for native coin)
tokenOut*string
Output token address
get_clean_quoteMaps to POST /quote with excludePositions=true. Shortcut to get_swap_quote that prices the swap as if the caller's own LP position were not in the pool, for concentrated-liquidity positions in the active tick range. Use when an agent holds a significant position in the pool it...9 params

Maps to POST /quote with excludePositions=true. Shortcut to get_swap_quote that prices the swap as if the caller's own LP position were not in the pool, for concentrated-liquidity positions in the active tick range. Use when an agent holds a significant position in the pool it...

Parameters* required
affiliateCodestring
Optional affiliate wallet address registered on-chain with SwapWizard — forwarded to the API so the affiliate fee for this operation is paid to that address. Omit if you have no affiliate.
amount*string
Amount as stringified uint256 in token decimals
chainId*integer
EVM chain ID (e.g. 56 for BSC)
owner*string
Wallet address whose LP positions will be excluded from pool state during quoting
rpcUrlstring
Custom RPC endpoint URL for position discovery.
side*string
Quote directionone of exactIn · exactOut
slippageBpsinteger
Slippage tolerance in basis points (default: 100 = 1%)
tokenIn*string
Input token address (0x0000...0000 for native coin)
tokenOut*string
Output token address
zap_into_lp_positionMaps to POST /addliquidity/quote. Builds a single-transaction zap to enter an LP position from ANY input token — the deposit token does NOT have to be one of the pool's underlying tokens. SwapWizard handles all intermediate swaps, the LP mint, and price-range setup in a single...7 params

Maps to POST /addliquidity/quote. Builds a single-transaction zap to enter an LP position from ANY input token — the deposit token does NOT have to be one of the pool's underlying tokens. SwapWizard handles all intermediate swaps, the LP mint, and price-range setup in a single...

Parameters* required
affiliateCodestring
Optional affiliate wallet address registered on-chain with SwapWizard — forwarded to the API so the affiliate fee for this operation is paid to that address. Omit if you have no affiliate.
chainId*integer
EVM chain ID
deposits*array
Tokens and amounts to deposit
poolId*string
Pool identifier from search_liquidity_pools (e.g. 'pancakeswap-v3:0x36696...')
senderstring
Wallet address of the sender (for simulation)
tickLowerinteger
Custom lower tick for concentrated liquidity
tickUpperinteger
Custom upper tick for concentrated liquidity
zap_out_of_lp_positionMaps to POST /removeliquidity/quote. Builds a single-transaction zap to exit an LP position into ANY output token — you can withdraw into any token, not just the pool's underlying tokens. SwapWizard handles LP burn, fee collection, and intermediate swaps in a single transactio...10 params

Maps to POST /removeliquidity/quote. Builds a single-transaction zap to exit an LP position into ANY output token — you can withdraw into any token, not just the pool's underlying tokens. SwapWizard handles LP burn, fee collection, and intermediate swaps in a single transactio...

Parameters* required
affiliateCodestring
Optional affiliate wallet address registered on-chain with SwapWizard — forwarded to the API so the affiliate fee for this operation is paid to that address. Omit if you have no affiliate.
chainId*integer
EVM chain ID
dexNamestring
DEX project name from list_user_lp_positions (e.g. 'Uniswap V3', 'PancakeSwap V3', 'curve-dex').
liquidityKindstring
Liquidity kind from list_user_lp_positions (e.g. UNIV3, UNIV4, ALGEBRA, SLIPSTREAM, PCS_INF_CL, CURVE, UNIV2, SOLIDLY).
nftManagerstring
NFT position manager contract address from list_user_lp_positions. Required for CL positions (Uniswap V3/V4, PancakeSwap V3/Infinity CL, SushiSwap V3, Algebra).
percentinteger
Percentage of position to remove (default: 100). For classic LP pools (UniV2, Solidly, Curve, Balancer) use 99 instead of 100 to avoid reverts from LP balance race conditions between RPC nodes.
poolIdstring
Pool identifier from search_liquidity_pools — pass if available.
positionId*string
Position identifier from list_user_lp_positions. For CL positions: NFT token ID. For classic pools: LP token contract address.
sender*string
Wallet address of the position owner.
withdrawals*array
Tokens to receive after removal

Sponsors

Configuration

SWAPWIZARD_API_KEY*secret

API key from https://swapwizard.xyz/integrators

Readme

SwapWizard

SwapWizard MCP Server

npm License: MIT

Model Context Protocol (MCP) server for the SwapWizard DeFi API. Enables AI agents to get swap quotes, manage liquidity, and discover pools across 5 EVM chains.

Non-custodial: every tool returns router, callData, and value — the agent presents the transaction, the user signs with their own wallet. SwapWizard never holds keys.

Quick Start

1. Get an API Key

Go to swapwizard.xyz/integrators, connect your wallet, and sign a message (no gas cost).

2. Connect via MCP

Remote (no install)
URL: https://mcp.swapwizard.xyz/mcp
Transport: streamable-http
Header: X-API-Key: your-api-key
Local — Claude Desktop

Add to claude_desktop_config.json:


View the full README on GitHub

Details

Repository
github.com/defire-business/swapwizard-mcp
Website
swapwizard.xyz
Category
Finance & Commerce
Package
@swapwizard/mcp-server
Transport
STDIO, HTTP
Auth
Required
Registry
MCP registry, active
Tools verified
Nov 6, 2026

Related Finance & Commerce MCP servers

View all
1tamaspetki avatarHeadless Trackertamaspetki/headlesstrackerRead-only MCP server: your AI sees your crypto portfolio, never your keys. Not financial advice.6stars
2yyordanov-tradu avatarStock Scanner Mcpyyordanov-tradu/stock-scanner-mcpStock and crypto market data — 49 tools for quotes, technicals, options, SEC filings, and more.6stars
3chia-health avatarChia Health MCP Serverchia-health/chia-mcpLicensed US telehealth — GLP-1 medications, intake, consents, Stripe ACP. HIPAA-compliant, 30 tools.5stars
4kokogo100 avatarRagalgokokogo100/ragalgo-mcp-serverDynamic RAG Engine preventing AI hallucinations in Korean Finance and Crypto markets.5stars
5unclaimed-sol avatarUnclaimed Solunclaimed-sol/unclaimed-sol-mcpThe first Vibe Claiming MCP: AI agents scan and reclaim dormant SOL on Solana. Signs locally.5stars
6wattcoin-org avatarWattCoinwattcoin-org/wattcoinAgents earn WATT on Solana: register with no wallet, claim tasks, build a reputation score.5stars