CoW Protocol (Free)
CoW Protocol, free and non-gated: live order-book quotes, MEV-protected swap + limit orders built into the exact EIP-712 order the user signs, open orders, trade history, portfolio, solver competition, and the official CoW docs (bundled, searchable). Mainnet, Gnosis, Arbitrum, Base + more. Builds only — never holds keys, never submits unsigned. Rate-limited. By Yeetful.
Routability
can the router discover, pick, and call it?14 checks
- schema · 12 endpoints are planner-eligible
- schema · param-schema coverage 12/15 endpoints (80%)
- schema · typed params 42/42
- schema · required flags present
- description · 12/12 endpoint descriptions carry real intent
- description · capability tags: trading, swap, limit-order, defi, mev-protection
- description · 3 example queries
- probe · https://cow-mcp.yeetful.com/mcp → HTTP 200
- planner · "quote 100 USDC to WETH on CoW" → picked + constructed (tools/call)
- planner · "show my open CoW orders" → picked + constructed (tools/call)
- planner · "how do CoW solvers work?" → picked + constructed (tools/call)
- affordances · identity params documented for context vars ($USER_ADDRESS)
- affordances · general query escape hatch present
- affordances · signing hygiene: build-don't-execute language (or no signables)
No fixes suggested — routable as built.
Tools
15- POST/mcp/quotestart herevia Yeetful (free)cow-mcp.yeetful.com
Live CoW Protocol swap quote (no commitment): sell/buy amounts, network fee, and the price solvers currently offer. kind "sell" = amount is what you sell; "buy" = amount is what you receive.
6 parameters
- chainstringbody
Chain: mainnet | gnosis | arbitrum | base | avalanche | polygon | bnb | sepolia (default mainnet).
- sellTokenstringbodyrequired
sellToken token — symbol (USDC, WETH, COW…) or 0x address.
- buyTokenstringbodyrequired
buyToken token — symbol (USDC, WETH, COW…) or 0x address.
- kindstringbodyrequired
"sell" or "buy".
- amountstringbodyrequired
Amount in HUMAN units, e.g. "100" for 100 USDC.
- fromstringbodyrequired
Trading wallet — quotes are address-sensitive; use "$USER_ADDRESS" for the connected user.
- POST/mcp/portfoliostart herevia Yeetful (free)cow-mcp.yeetful.com
CoW-centric account view across chains, derived from the order book (not on-chain balances): open orders with fill %, recent fills, trade counts, volume per token ("what's my CoW activity" → owner:"$USER_ADDRESS").
2 parameters
- ownerstringbodyrequired
The wallet address to inspect — an EVM address; for the user's own wallet use "$USER_ADDRESS".
- chainsstringbody
Chains to scan, e.g. "mainnet,base" (default mainnet,gnosis,arbitrum,base).
- POST/mcp/build_swap_ordervia Yeetful (free)cow-mcp.yeetful.com
Quote AND build a signable CoW market-swap order in one call: the EIP-712 GPv2 order the user signs (eth_signTypedData_v4) + the vault-relayer approval prerequisite. Nothing is signed or submitted. THE tool for "swap 100 USDC to WETH".
9 parameters
- chainstringbody
Chain: mainnet | gnosis | arbitrum | base | avalanche | polygon | bnb | sepolia (default mainnet).
- sellTokenstringbodyrequired
sellToken token — symbol (USDC, WETH, COW…) or 0x address.
- buyTokenstringbodyrequired
buyToken token — symbol (USDC, WETH, COW…) or 0x address.
- kindstringbodyrequired
"sell" or "buy".
- amountstringbodyrequired
Amount in HUMAN units.
- fromstringbodyrequired
Order owner + receiver — "$USER_ADDRESS" for the connected user.
- slippageBpsnumberbody
Slippage bound in bps (default 50 = 0.5%).
- validFornumberbody
Order validity in seconds from now (default 1800).
- partiallyFillablebooleanbody
Allow partial fills (default false).
- POST/mcp/build_limit_ordervia Yeetful (free)cow-mcp.yeetful.com
Build a signable CoW LIMIT order at the user's price: sellAmount + minimum buyAmount set the limit ("sell 1 WETH at ≥4000 USDC" → sellAmount 1, buyAmount 4000). Gasless, feeAmount 0 (fee from surplus), valid up to 1 year. Returns EIP-712 typed data + approval hint; nothing is signed or submitted.
8 parameters
- chainstringbody
Chain: mainnet | gnosis | arbitrum | base | avalanche | polygon | bnb | sepolia (default mainnet).
- sellTokenstringbodyrequired
sellToken token — symbol (USDC, WETH, COW…) or 0x address.
- buyTokenstringbodyrequired
buyToken token — symbol (USDC, WETH, COW…) or 0x address.
- sellAmountstringbodyrequired
Amount to sell, HUMAN units.
- buyAmountstringbodyrequired
MINIMUM amount to receive, HUMAN units — sets the limit price.
- fromstringbodyrequired
Order owner + receiver — "$USER_ADDRESS" for the connected user.
- validFornumberbody
Validity in seconds from now (default 7 days, max 1 year).
- partiallyFillablebooleanbody
Allow partial fills (default false).
- POST/mcp/submit_ordervia Yeetful (free)cow-mcp.yeetful.com
POST an already-signed order to the CoW order book → orderUid + explorer link. Only with a signature from the user's own wallet over the build step's typed data.
- POST/mcp/cancel_ordersvia Yeetful (free)cow-mcp.yeetful.com
Gasless two-phase order cancellation: without signature returns the OrderCancellations EIP-712 typed data; with signature submits it.
- POST/mcp/order_statusvia Yeetful (free)cow-mcp.yeetful.com
One CoW order by uid: open/fulfilled/cancelled/expired, fill %, executed amounts, and the explorer link. Answers "did my swap go through?".
2 parameters
- chainstringbody
Chain: mainnet | gnosis | arbitrum | base | avalanche | polygon | bnb | sepolia (default mainnet).
- uidstringbodyrequired
CoW order uid (0x…, 56 bytes).
- POST/mcp/user_ordersvia Yeetful (free)cow-mcp.yeetful.com
An address's CoW orders, newest first — open + recent, with status and fill % ("show my open CoW orders" → owner:"$USER_ADDRESS").
3 parameters
- chainstringbody
Chain: mainnet | gnosis | arbitrum | base | avalanche | polygon | bnb | sepolia (default mainnet).
- ownerstringbodyrequired
Order owner's wallet address — an EVM address; for the user's own wallet use "$USER_ADDRESS".
- limitnumberbody
Max results (default 20).
- POST/mcp/user_tradesvia Yeetful (free)cow-mcp.yeetful.com
Settled CoW trades for an address, newest first, with settlement tx hashes ("what did I trade on CoW" → owner:"$USER_ADDRESS").
3 parameters
- chainstringbody
Chain: mainnet | gnosis | arbitrum | base | avalanche | polygon | bnb | sepolia (default mainnet).
- ownerstringbodyrequired
Trader's wallet address — an EVM address; for the user's own wallet use "$USER_ADDRESS".
- firstnumberbody
Max results (default 20).
- POST/mcp/native_pricevia Yeetful (free)cow-mcp.yeetful.com
The order book's price estimate for a token in the chain's native currency — the feed solvers use for fee math.
2 parameters
- chainstringbody
Chain: mainnet | gnosis | arbitrum | base | avalanche | polygon | bnb | sepolia (default mainnet).
- tokenstringbodyrequired
token token — symbol (USDC, WETH, COW…) or 0x address.
- POST/mcp/solver_competitionvia Yeetful (free)cow-mcp.yeetful.com
Which solvers bid on a settlement and who won — latest auction by default, or by settlement tx hash. CoW's MEV-protected batch auction, made visible.
2 parameters
- chainstringbody
Chain: mainnet | gnosis | arbitrum | base | avalanche | polygon | bnb | sepolia (default mainnet).
- txHashstringbody
Settlement tx hash (omit for the latest auction).
- POST/mcp/api_getvia Yeetful (free)cow-mcp.yeetful.com
Escape hatch: GET any allowlisted CoW order-book path (orders, trades, native prices, app_data, solver competition…) for data the other tools don't cover. Read-only by construction.
2 parameters
- chainstringbody
Chain: mainnet | gnosis | arbitrum | base | avalanche | polygon | bnb | sepolia (default mainnet).
- pathstringbodyrequired
Versioned path + query, e.g. "/v1/trades?owner=0x…".
- POST/mcp/docs_searchvia Yeetful (free)cow-mcp.yeetful.com
Search the official CoW Protocol documentation (docs.cow.fi, bundled) — batch auctions, solvers, MEV protection, order types, fees, signing, appData, CoW AMM, MEV Blocker, COW token, governance.
2 parameters
- querystringbodyrequired
What to look up, e.g. "how are solvers ranked".
- firstnumberbody
Results to return (default 5).
- POST/mcp/docs_pagevia Yeetful (free)cow-mcp.yeetful.com
Fetch one bundled CoW docs page (full text) by its corpus path from docs_search results.
1 parameter
- pathstringbodyrequired
Corpus path from docs_search, e.g. "cow-protocol/reference/core/signing_schemes".
- POST/mcp/chainsvia Yeetful (free)cow-mcp.yeetful.com
CoW deployments this service reaches: chainIds, order-book URLs, settlement + vault-relayer contracts, curated token symbols per chain.