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-levelwidgetUrlfor one-click execution.build_swap_link- constructs the samewidgetUrlfrom a chain, token pair, amount, and slippage.list_chains,list_tokens- supported chains and per-chain token lists with the metadata needed to callget_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:
- Atomic batched-call tool available. If the assistant has Base MCP's
send_callsor any other EIP-5792wallet_sendCallstool, build[approveCall, swapCall]from each quote'stxandapprovalenvelopes and submit as one batch. Theget_quotesdescription spells out the exact orchestration. - Otherwise. Surface
response.widgetUrl(already in theget_quotesresponse). 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.mdThe 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 thewidgetUrlit 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.