Skip to main content
The LI.FI MCP Server exposes the following tools, organized by category. Each tool maps to a corresponding LI.FI API endpoint.

Token Information

get-tokens

Retrieve all tokens supported by LI.FI. Use this to discover available tokens before requesting swaps.
ParameterRequiredDescription
chainsNoComma-separated chain IDs (e.g., "1,137")
chainTypesNoFilter by chain type (e.g., "EVM,SVM")
minPriceUSDNoMinimum token price in USD

get-token

Get details about a specific token including price, decimals, and contract address.
ParameterRequiredDescription
chainYesChain ID or name (e.g., "1" or "ethereum")
tokenYesToken address or symbol (e.g., "USDC")

Chain Information

get-chains

List all supported blockchain networks. Returns chain IDs, names, RPC URLs, and block explorer links.
ParameterRequiredDescription
chainTypesNoFilter by type (e.g., "EVM")

get-chain-by-id

Look up a chain by its numeric ID.
ParameterRequiredDescription
idYesChain ID (e.g., "1" for Ethereum, "137" for Polygon)

get-chain-by-name

Look up a chain by name (case-insensitive).
ParameterRequiredDescription
nameYesChain name (e.g., "ethereum", "polygon", "arbitrum")

Quote & Swap

These are the primary tools for executing cross-chain transfers.

get-quote

Get the best route for a swap. This is the primary tool for most use cases. It returns the optimal route, fees, estimated time, and a transactionRequest object ready for signing.
ParameterRequiredDescription
fromChainYesSource chain ID or name
toChainYesDestination chain ID or name
fromTokenYesSource token address or symbol
toTokenYesDestination token address or symbol
fromAddressYesSender wallet address
fromAmountYesAmount in smallest unit (e.g., wei)
toAddressNoRecipient address (defaults to fromAddress)
slippageNoMax slippage as decimal (e.g., "0.03" for 3%)
orderNoRoute preference: RECOMMENDED, FASTEST, CHEAPEST, SAFEST
allowBridgesNoComma-separated bridge keys to include
allowExchangesNoComma-separated exchange keys to include
The response includes a transactionRequest object with to, data, value, gasLimit, and chainId fields, ready to sign and broadcast with any wallet.

get-routes

Get multiple route options for comparison. Unlike get-quote, this returns several alternatives to choose from. Use with get-step-transaction to execute a specific route.
ParameterRequiredDescription
fromChainIdYesSource chain ID
toChainIdYesDestination chain ID
fromTokenAddressYesSource token address
toTokenAddressYesDestination token address
fromAddressYesSender wallet address
fromAmountYesAmount in smallest unit

get-step-transaction

Convert a route step into an executable transaction.
ParameterRequiredDescription
stepYesStep object from a get-routes response

get-status

Track the progress of a cross-chain transfer.
ParameterRequiredDescription
txHashYesTransaction hash from the source chain
bridgeNoBridge name from the quote (speeds up lookup)
fromChainNoSource chain ID
toChainNoDestination chain ID

get-quote-with-calls

Get a quote with custom contract calls (Zaps). Execute complex DeFi operations like bridge + deposit/stake in a single transaction.
ParameterRequiredDescription
fromChainYesSource chain ID or name
toChainYesDestination chain ID or name
fromTokenYesSource token address or symbol
toTokenYesDestination token address or symbol
fromAddressYesSender wallet address
fromAmountYesAmount in smallest unit
contractCallsYesArray of contract call objects to execute after the swap

Discovery & Routing

get-connections

Check available swap routes between chains. Use this to verify if a route exists before calling get-quote.
ParameterRequiredDescription
fromChainNoSource chain ID
toChainNoDestination chain ID
fromTokenNoSource token address
toTokenNoDestination token address
chainTypesNoFilter by chain type
allowBridgesNoFilter by specific bridges

get-tools

List available bridges and DEXes. Returns both key values (for use in API calls) and name values (human-readable).
ParameterRequiredDescription
chainsNoArray of chain IDs to filter results
Use the key values returned by get-tools in get-quote with the allowBridges or allowExchanges parameters to filter routes to specific providers.

Gas Information

get-gas-prices

Get current gas prices for all supported chains. Returns fast, standard, and slow prices in gwei. No parameters required.

get-gas-suggestion

Get detailed gas parameters for a specific chain, including recommended gas amount in USD.
ParameterRequiredDescription
chainIdYesChain ID to get gas suggestion for

Balance & Allowance Queries

get-native-token-balance

Check the native token balance (ETH, MATIC, etc.) for a wallet address.
ParameterRequiredDescription
chainYesChain ID or name (e.g., "1" or "ethereum")
addressYesWallet address to check
rpcUrlNoCustom RPC URL override

get-token-balance

Check an ERC20 token balance for a wallet address.
ParameterRequiredDescription
chainYesChain ID or name
tokenAddressYesToken contract address
walletAddressYesWallet address to check
rpcUrlNoCustom RPC URL override

get-allowance

Check token spending approval. Verify allowance before swaps. If insufficient, the user must approve tokens using their wallet before executing the transaction.
ParameterRequiredDescription
chainYesChain ID or name
tokenAddressYesToken contract address
ownerAddressYesToken owner’s wallet address
spenderAddressYesSpender address (use estimate.approvalAddress from the quote)
rpcUrlNoCustom RPC URL override
Always check allowance before executing ERC20 swaps. If the allowance is less than the swap amount, the transaction will fail. Native token transfers (ETH, MATIC, etc.) do not require approval.

API Key & Health

test-api-key

Verify that your API key is valid. Returns key status and rate limit information.
The API key must be provided via the Authorization: Bearer or X-LiFi-Api-Key header in your MCP client configuration.

health-check

Check server health and version. Returns server status and version information. No parameters required.

Common Token Addresses

TokenChainAddress
ETH (native)Ethereum (1)0x0000000000000000000000000000000000000000
ETH (native)Base (8453)0x0000000000000000000000000000000000000000
USDCEthereum (1)0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48
USDCBase (8453)0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913
USDCSolanaEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
SOL (native)Solana11111111111111111111111111111111
USDTEthereum (1)0xdAC17F958D2ee523a2206206994597C13D831ec7
DAIEthereum (1)0x6B175474E89094C44Da98b954EesC511AD7D82b3
Use get-token with the symbol (e.g., "USDC") to dynamically fetch the correct address for any chain instead of hardcoding addresses.