Skip to main content
Glama

Cleave for Agents: token swaps, cross-chain swaps and gas top-ups

Server Details

Swap, bridge and get gas on 6 EVM chains. Each plan states its outcome before you sign. No API key.

Ownership verified
Status
Healthy
Uptime
100.0% over the last 24 hours
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Repository
cleave-protocol/cleave-swap
GitHub Stars
1
Server Listing
Cleave for Agents
ChatGPT
–
Claude
–

TDQS

A4.4/5.0

Scored across 4 tools

Disambiguation4/5

The four tools map to distinct phases (discover token, plan swap, order gas, track status), and descriptions give explicit hand-off rules between them. The one soft boundary is gas: cleave_get_gas and cleave_plan_swap can both produce a native-gas top-up, resolved only by a stated heuristic (wallet has no gas vs. holds some), which an agent could still misread. cleave_get_gas additionally has a dual offer/submit mode that makes its role broader than its name suggests.

Naming Consistency5/5

All tools share a uniform cleave_ prefix and a consistent snake_case verb_noun pattern (find_token, get_gas, plan_swap, track_swap). Verbs are meaningful and non-overlapping (find/get/plan/track), so the name alone signals the operation type.

Tool Count4/5

Four tools is compact but each carries a substantial, non-duplicated job in the swap lifecycle, so nothing feels padded. It is slightly thin for the surface area described (token discovery, planning, gas ordering, tracking all in one tool each, with no dedicated execution or chain/token listing tool).

Completeness4/5

The core loop is covered: resolve a token, plan a swap/bridge/gas top-up, fund gas, and confirm arrival before re-sending. The main gap is that cleave_plan_swap only returns unsigned transactions and no tool submits them, so executing a planned swap depends on wallet tooling outside this server; there is also no listing of supported chains/tokens or swap history. These are workable-around gaps rather than dead ends.

Available Tools

4 tools
cleave_find_tokenFind a token's contract addressA
Read-onlyIdempotent
Inspect

Finds a token by symbol or contract address on Ethereum, Arbitrum, Base, BNB Chain, Polygon or Optimism and returns its address, decimals and whether it is on Cleave's token list, with a flag when it resembles a listed token. A symbol shared by several listed tokens returns up to ten candidates by address instead of picking one. An unlisted token is found only by its address and comes back flagged, without a name or symbol. It fits before cleave_plan_swap when the user names a token by symbol and the address is unknown.

Inputs: query (required), chainId (required).

cleave_get_gasOrder native gas with USDCA
Idempotent
Inspect

Offers orders for native gas (ETH, BNB or POL) on Ethereum, Arbitrum, Base, BNB Chain, Polygon or Optimism for a wallet that holds USDC on Ethereum, Arbitrum, Base, Optimism or Polygon but has no gas to send transactions. Called with the paying chain, the receiving chain, the recipient, a USDC amount and the paying wallet (without it the offer has nothing to sign), it returns an offer: the minimum native amount, the deadline, the order and one USDC authorization for the wallet to sign; signing costs no gas. If your wallet pays for a person, ask them for the recipient; if theirs pays, it can be the recipient. Use your own only for your own gas. An offer needs 0.8 to 50 USDC (at least 5 USDC when Ethereum is the paying or receiving chain; the fee is included in the price), a recipient that accepts the native coin and is not a token contract, and, for a cross-chain order, the paying wallet or a refundTo on the paying chain; otherwise, or while the route is paused, no offer is returned and the answer says why. Called again with the offer, the signature and the same wallet, it passes the signed order to Cleave's relayer, which may submit it to a contract made for that one order, and returns a requestId for cleave_track_swap. An authorization Cleave accepts is set to end before the order deadline. Cleave does not promise to submit it before it expires, and expiry of an unused authorization is not a promise about funds already paid. No outcome or time is guaranteed, and a settled payment is not delivery. On one chain the order is written to swap the USDC toward the native coin for the recipient. From another chain it is written to bridge the USDC and swap on arrival. USDC on arrival is one possible ending if that swap fails, and it may not happen. If a bridge transfer is not filled, the USDC can come back to the order address on the paying chain, which can take hours or longer, or may not come back. Until someone sends it to the refund address, cleave_track_swap can show it as refund_pending. The relayer may not send it. When the wallet already holds some gas, cleave_plan_swap plans a swap to the native coin.

Inputs: offer, amount, wallet, chainId, +4 more.

cleave_plan_swapPlan a swap, bridge or gas top-upA
Read-onlyIdempotent
Inspect

Plans a token swap on one chain, a cross-chain swap or bridge, or a native-gas top-up on Ethereum, Arbitrum, Base, BNB Chain, Polygon or Optimism, and returns unsigned transactions for the given wallet to sign. It fits when the user wants to exchange tokens, move them between these chains, or get ETH, BNB or POL for gas. It sends nothing and moves no funds. The answer leads with blocking notices and warnings, then gives the route's outcome kind (an exact amount or one that can vary; with a swap on arrival, the token or, possibly, a named fallback; where a transfer can go unfilled, a possible refund of the bridged token on the source chain, which can take hours or longer and may not happen), every third-party cost except network gas, the expected time, validUntil and the calls in signing order. The main call can carry gas, the recommended gas limit: use it as the transaction's gas limit, and without it estimate with a priority fee above zero. A blocking notice returns no calls; a warning, or a recipient other than the wallet, sets requiresConfirmation, and the connection's settings can turn either into a refusal. Calls sent after validUntil are stale: they can revert or, on some routes, end in a refund later, or not at all. Amounts are decimal strings in token units; tokens are listed symbols or contract addresses; the recipient defaults to the wallet, which fits when the person's own wallet pays; if your wallet pays for a person, ask them for the recipient, and use your own only for your own tokens. Limits set in the connection (a pinned wallet, a per-plan USD cap, listed tokens only) bound every argument. For an ambiguous symbol, cleave_find_token lists the candidates; after sending, cleave_track_swap reports progress. A wallet with no gas can order it with cleave_get_gas.

Inputs: amount (required), wallet (required), buyToken (required), sellToken (required), +4 more.

cleave_track_swapTrack a planned swap or transferA
Read-onlyIdempotent
Inspect

Reports the status of a swap, bridge or gas top-up that was planned with cleave_plan_swap and then sent, or ordered with cleave_get_gas: its state (for example pending, in flight, delivered, refund pending or refunded), what arrived against the plan and on which chain, and the next action or when to check again. It takes the chain and transaction hash, plus the plan's requestId when known, or for a gas top-up the requestId alone; a transaction to a contract outside Cleave's published list is reported as such. It fits when the user asks whether such a transfer arrived, and before any re-send, because re-sending a plan that is still in flight can pay twice. It reports states only and returns no transactions.

Inputs: txHash, chainId, requestId.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    Try in Browser

    Glama MCP Gateway

    Add one secure layer between your agents and this server.