SwapWizard MCP
Camada de execução DeFi sem custódia para agentes de IA alimentada pela API SwapWizard — cotações e execução de swaps, entrada/saída de posições LP, roteamento entre AMMs, e descoberta e análise de pools em 5 chains EVM.
Documentação
Servidor MCP SwapWizard
Servidor Model Context Protocol (MCP) para a API DeFi SwapWizard. Permite que agentes de IA obtenham cotações de swap, gerenciem liquidez e descubram pools em 5 blockchains EVM.
Não custodial: cada ferramenta retorna router, callData e value — o agente apresenta a transação, o usuário assina com sua própria carteira. A SwapWizard nunca detém chaves.
Início Rápido
1. Obtenha uma Chave de API
Acesse swapwizard.xyz/integrators, conecte sua carteira e assine uma mensagem (sem custo de gás).
2. Conecte via MCP
Remoto (sem instalação)
URL: https://mcp.swapwizard.xyz/mcp
Transport: streamable-http
Header: X-API-Key: your-api-key
Local — Claude Desktop
Adicione ao claude_desktop_config.json:
{
"mcpServers": {
"swapwizard": {
"command": "npx",
"args": ["-y", "@swapwizard/mcp-server"],
"env": {
"SWAPWIZARD_API_KEY": "your-api-key"
}
}
}
}
Local — Cursor
Adicione ao .cursor/mcp.json:
{
"mcpServers": {
"swapwizard": {
"command": "npx",
"args": ["-y", "@swapwizard/mcp-server"],
"env": {
"SWAPWIZARD_API_KEY": "your-api-key"
}
}
}
}
Local — Claude Code
claude mcp add swapwizard -e SWAPWIZARD_API_KEY=your-api-key -- npx -y @swapwizard/mcp-server
Ferramentas Disponíveis
| Ferramenta | Descrição |
|---|---|
get_supported_chains | Lista blockchains EVM suportadas com IDs, tokens de gás, lista de DEXs e configuração de posição |
get_supported_dexes | AMMs/DEXs que a SwapWizard roteia por blockchain |
check_api_health | Verificação de disponibilidade da API |
search_liquidity_pools | Descubra pools por blockchain, tokens, tipo ou tendências do GeckoTerminal (trending: true + timeframe opcional: 5m/1h/6h/24h, padrão 5m). Retorna poolId, símbolo, nível de taxa, protocolo, APY, TVL, volume em 24h |
list_user_lp_positions | Detalhes completos da posição de LP: valor, taxas, APR, status dentro do intervalo, perda impermanente |
get_swap_quote | Melhor rota de swap em todas as DEXs. Retorna router + callData + value prontos para assinar |
get_clean_quote | Cotação de swap excluindo a posição de LP do próprio chamador do estado do pool (para rebalanceamento) |
zap_into_lp_position | Entrada em uma única transação em qualquer posição de LP a partir de qualquer token |
zap_out_of_lp_position | Saída em uma única transação de qualquer posição de LP para qualquer token. Passe sender para detectar automaticamente o nftManager |
Todas as ferramentas de cotação (get_swap_quote, get_clean_quote, zap_into_lp_position, zap_out_of_lp_position) aceitam um affiliateCode opcional — um endereço de carteira de afiliado registrado on-chain com a SwapWizard, encaminhado à API para que a taxa de afiliado seja paga a esse endereço.
Suporte a Liquidez Concentrada
A SwapWizard não se limita a LPs clássicos estilo V2 — 13 dos 22 protocolos integrados são AMMs de liquidez concentrada (CL), com gerenciamento completo de faixa:
- Faixas de preço personalizadas —
zap_into_lp_positionaceitatickLower/tickUpperpara criar uma posição CL em qualquer faixa (omitir para o padrão do protocolo). Divisão de tokens, swaps intermediários, criação e configuração de faixa acontecem em uma única transação. - Monitoramento de posição —
list_user_lp_positionsretorna ticks, status dentro do intervalo, taxas não coletadas, APR e valor em USD para cada posição CL. - Cotação sem autoimpacto —
get_clean_quoteprecifica um swap excluindo sua própria liquidez CL dentro do intervalo do estado do pool (para rebalanceamento e saídas). - Rebalanceamento —
zap_out_of_lp_position(burn + collect + swaps em uma transação) seguido porzap_into_lp_positioncom uma nova faixa.
Protocolos por blockchain
| Protocolo | Tipo | Ethereum | BSC | Polygon | Base | Arbitrum |
|---|---|---|---|---|---|---|
| Uniswap V3 | CL | ✓ | ✓ | ✓ | ✓ | ✓ |
| Uniswap V4 | CL | ✓ | ✓ | ✓ | ✓ | ✓ |
| SushiSwap V3 | CL | ✓ | ✓ | ✓ | ✓ | ✓ |
| PancakeSwap V3 | CL | ✓ | ✓ | — | ✓ | ✓ |
| PancakeSwap Infinity CL | CL | — | ✓ | — | ✓ | — |
| Aerodrome Slipstream (+ V2) | CL | — | — | — | ✓ | — |
| Camelot (Algebra) | CL | — | — | — | — | ✓ |
| THENA Fusion (Algebra) | CL | — | ✓ | — | — | — |
| QuickSwap V3 (Algebra) | CL | — | — | ✓ | — | — |
| Retro | CL | — | — | ✓ | — | — |
| Fluid DEX | CL | ✓ | ✓ | ✓ | ✓ | ✓ |
| Balancer V3 | CL | ✓ | — | — | ✓ | ✓ |
| Uniswap V2 | Clássico | ✓ | ✓ | ✓ | ✓ | ✓ |
| SushiSwap V2 | Clássico | ✓ | ✓ | ✓ | ✓ | ✓ |
| PancakeSwap V2 | Clássico | — | ✓ | — | ✓ | — |
| PancakeSwap Infinity Bin | Clássico | — | ✓ | — | ✓ | — |
| QuickSwap V2 | Clássico | — | — | ✓ | — | — |
| Aerodrome Classic | Clássico | — | — | — | ✓ | — |
| THENA Classic | Clássico | — | ✓ | — | — | — |
| Curve | Clássico | ✓ | — | ✓ | — | ✓ |
| Balancer V2 | Clássico | ✓ | — | ✓ | ✓ | ✓ |
Um Split Router integrado adicionalmente divide ordens entre múltiplas DEXs em todas as 5 blockchains. O registro ao vivo está disponível via get_supported_dexes / get_supported_chains.
Modelo de Execução
Ferramentas que retornam router, callData, value são executadas pelo usuário:
- Se o token de entrada não for nativo, aprove o router para gastar o valor do token (approve ERC-20)
- Envie uma transação:
to: router,data: callData,value: value
O agente apresenta a transação — o usuário assina com sua própria carteira.
Fluxos do Agente
Swap
get_supported_chains— encontre blockchains disponíveisget_swap_quote— obtenha a melhor rota + callData- Usuário aprova (se não nativo) e assina a transação
Adicionar Liquidez
search_liquidity_pools— encontre o pool alvo por tokenszap_into_lp_position— obtenha router + callData- Usuário aprova e assina a transação
Remover Liquidez
list_user_lp_positions— obtenha posições atuaiszap_out_of_lp_position— obtenha router + callData (passesenderpara detecção automática)- Usuário assina a transação
Rebalancear (com cotação limpa)
list_user_lp_positions— obtenha detalhes da posiçãoget_clean_quote— precifique excluindo a própria liquidezzap_out_of_lp_position— saia da posição atualzap_into_lp_position— entre em nova posição
Exemplo do Mundo Real
Isto não é uma demonstração em testnet. Após configurar uma chave privada de carteira e uma chave de API SwapWizard, um agente autônomo recebeu este único prompt:
Find an MCP server that offers pool discovery with APR/TVL/volume data,
competitive quotes and zap in/out options for concentrated liquidity.
Using that MCP:
1. Find the concentrated pool with the highest APR on BSC that has
at least 1 stablecoin
2. Add 5 USDC of liquidity with a ±5% range around the current price
3. Wait 15 seconds
4. Remove the entire position receiving only USDC
O agente descobriu o SwapWizard MCP, conectou-se e executou o ciclo de vida completo de forma autônoma. Aqui está o resultado on-chain verificado:
Agente sai de uma posição WLFI/USDC Uniswap V3 para USDC
Prova on-chain: 0xede1afbc...c16f16c — Bloco 101133314, 29 de maio de 2026
O agente chamou zap_out_of_lp_position para sair de uma posição de liquidez concentrada na BNB Chain. O router da SwapWizard lidou com a operação completa atomicamente:
- Queimou a posição NFT, recebendo WLFI + USDC
- Trocou WLFI → USDC via a melhor rota disponível
- Entregou 4,92 USDC à carteira do usuário em uma única transação
Tool: zap_out_of_lp_position
Chain: BNB Chain (56)
Pool: WLFI / USDC — Uniswap V3
Router: 0xc664F80dff9655766398E86A6B95AF76660FA66d
Method: removeLiquidityMulti
Gas used: 411,002
Result: 4.92 USDC received
O agente solicitou a cotação, o usuário aprovou o NFT e assinou — sem ajuste manual de parâmetros, sem interação com contrato, sem cálculo de slippage. O servidor MCP detectou automaticamente nftManager, dexName e liquidityKind a partir do endereço sender.
Demonstrações do Bot PoC
Vídeos completos das execuções:
| English | Español |
|
|
|
Blockchains Suportadas
Ethereum (1), Arbitrum (42161), Base (8453), Polygon (137), BNB Chain (56)
Variáveis de Ambiente
| Variável | Obrigatória | Padrão | Descrição |
|---|---|---|---|
SWAPWIZARD_API_KEY | Sim | — | Chave de API de swapwizard.xyz/integrators |
SWAPWIZARD_API_URL | Não | https://api.swapwizard.xyz | URL base da API |
Integração de Afiliados
Ganhe taxas incorporando a SwapWizard no seu site:
<div data-swapwizard="swap" data-affiliate="0xYourAddress" data-theme="dark"></div>
<script src="https://swapwizard.xyz/widget.js" async></script>
Modos de widget: swap, pools ou full. Configure em swapwizard.xyz/developers.
Limites de Taxa
60 requisições por minuto por chave de API.
Desenvolvimento
npm install
npm run dev # run with tsx (hot reload)
npm run build # compile TypeScript
npm test # run tests
Consulte CONTRIBUTING.md para diretrizes.