freaky.fi
Integrations

MCP

Use freaky.fi from AI assistants via the Model Context Protocol.

freaky.fi exposes an agent-facing surface at mcp.freaky.fi. The root is a Markdown index listing the remote MCP connector URL and the available plugin specs.

Remote MCP server

https://mcp.freaky.fi is a Streamable HTTP MCP server. Add the URL as a custom connector in Claude.ai, ChatGPT, Cursor, or any other MCP-aware client - no sub-path, no API key.

It registers nine read-only tools:

  • get_quotes - ranked swap quotes from every supported aggregator. The response carries a top-level widgetUrl for one-click execution.
  • build_swap_link - constructs the same widgetUrl from a chain, token pair, amount, and slippage.
  • list_chains, list_tokens - supported chains and per-chain token lists with the metadata needed to call get_quotes.
  • get_price - USD spot price for any supported token.
  • get_balances - per-chain ERC-20 and native balances for a wallet.
  • get_swap_history, get_swap_details, get_user_stats - past swaps and aggregate stats by wallet.

Execution (signing and broadcasting) is intentionally not part of this surface. There are two ways an assistant can complete a swap:

  1. Atomic batched-call tool available. If the assistant has Base MCP's send_calls or any other EIP-5792 wallet_sendCalls tool, build [approveCall, swapCall] from each quote's tx and approval envelopes and submit as one batch. The get_quotes description spells out the exact orchestration.
  2. Otherwise. Surface response.widgetUrl (already in the get_quotes response). The user completes the swap in the freaky.fi widget with any wallet - Permit2 and off-chain-signing flows are handled natively in the widget UI.

Base MCP plugin

If your AI assistant has Base MCP installed and your wallet is a Base Account (or another smart wallet that supports send_calls), install the freaky.fi plugin by pointing your assistant at:

https://mcp.freaky.fi/base/freaky.md

The assistant fetches the spec, then handles the full swap orchestration: read the user's wallet via get_wallets, fetch ranked quotes from swap.freaky.fi/rank, build the approve + swap calls, and submit one user approval via send_calls. The Base Account smart wallet executes both calls atomically.

The v1 spec covers regular-flow adapters only: Velora, KyberSwap, LI.FI, OKX DEX, Bungee, 1inch, OpenOcean, plus Odos for native-ETH inputs. Permit2 and off-chain-signing flows (CowSwap, 0x Gasless) are out of v1 scope because the follow-up POST to swap.freaky.fi/swap/assemble or /swap/relay is not on the Base MCP web_request allowlist yet (tracked in #203).

Other wallets and assistants

For assistants without Base MCP installed, or users whose wallet does not support atomic batching:

  • Add the remote MCP server and let the assistant call get_quotes; surface the widgetUrl it returns.
  • Call the Swap API directly. Sign and broadcast the returned transaction with your own wallet.
  • Or build a deeplink and complete the swap in the freaky.fi web UI.

On this page