Skip to main content
Glama

CoW Protocol MCP Server

An MCP (Model Context Protocol) server for interacting with CoW Protocol's order book API.

Features

Token Tools

  • cow_resolve_token - Look up token address by symbol (uses official CoW Swap token list)

  • cow_search_tokens - Search for tokens by name/symbol across networks

Order Tools

  • cow_get_quote - Get price and fee quotes for trades (accepts symbols OR addresses)

  • cow_get_order - Get full order details by UID

  • cow_get_order_status - Check order status (open, filled, cancelled, expired)

  • cow_get_trades - Fetch trade history for an address or order

  • cow_get_auction - View current auction batch information

Related MCP server: hyperliquid-mcp

Token Resolution

The server uses the official CoW Protocol token list for symbol resolution. This is the same list used by CoW Swap.

Example: Instead of providing the full address for USDC or COW, you can just use the symbol:

sellToken: "WETH"
buyToken: "COW"

And it will automatically resolve to the correct address for the specified network.

Supported Networks

  • mainnet (Ethereum)

  • gnosis (Gnosis Chain)

  • arbitrum (Arbitrum One)

  • base (Base)

  • avalanche (Avalanche)

  • polygon (Polygon)

  • bnb (BNB Chain)

  • sepolia (Sepolia testnet)

Installation

npm install
npm run build

Usage

With Claude Desktop

Add to your Claude Desktop config:

{
  "mcpServers": {
    "cow": {
      "command": "node",
      "args": ["/path/to/cow-mcp-server/dist/index.js"]
    }
  }
}

With OpenClaw

Add to your OpenClaw MCP servers configuration.

Testing with MCP Inspector

npx @modelcontextprotocol/inspector node dist/index.js

Development

# Watch mode
npm run dev

# Build
npm run build

# Clean
npm run clean

API Reference

cow_get_quote

Get a quote for a potential trade:

{
  "network": "mainnet",
  "sellToken": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
  "buyToken": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
  "kind": "sell",
  "amount": "1000000000000000000",
  "from": "0xYourAddress"
}

cow_get_order_status

Check an order's status:

{
  "network": "mainnet",
  "orderUid": "0x..."
}

cow_get_trades

Get trade history:

{
  "network": "mainnet",
  "owner": "0xYourAddress",
  "limit": 20
}

License

MIT

Available Tools

8 tools
cow_get_auctionGet Current CoW AuctionA
Read-only

Get information about the current auction batch on CoW Protocol.

CoW Protocol batches orders into auctions that solvers compete to settle. This returns the current auction state.

Args:

  • network: The blockchain network

Returns:

  • Current auction ID

  • Block number

  • Orders in the batch

  • Prices for tokens in the batch

Inputs: network.

cow_get_orderGet CoW Order DetailsA
Read-onlyIdempotent

Get full details of an order on CoW Protocol.

Args:

  • network: The blockchain network

  • orderUid: The unique order identifier

Returns the complete order data including:

  • Sell/buy tokens and amounts

  • Fee amount

  • Validity period

  • Signature and signing scheme

  • App data

  • Creation timestamp

Inputs: orderUid (required), network.

cow_get_order_statusGet CoW Order StatusA
Read-onlyIdempotent

Get the current status of an order on CoW Protocol.

Args:

  • network: The blockchain network

  • orderUid: The unique order identifier

Returns the order status which can be:

  • presignaturePending: Order is waiting for on-chain signature

  • open: Order is active and waiting to be matched

  • fulfilled: Order has been completely filled

  • cancelled: Order has been cancelled

  • expired: Order has expired

Inputs: orderUid (required), network.

cow_get_quoteGet CoW Protocol QuoteA
Read-only

Get a price and fee quote for a potential trade on CoW Protocol.

This returns the estimated amounts, fees, and a prepared order structure that can be signed and submitted.

Args:

  • network: The blockchain network (mainnet, gnosis, arbitrum, base, avalanche, polygon, bnb, sepolia)

  • sellToken: Token to sell (address or symbol like 'WETH')

  • buyToken: Token to buy (address or symbol like 'USDC')

  • kind: 'sell' for market sell (exact sell amount), 'buy' for market buy (exact buy amount)

  • amount: The amount in wei as a string

  • from: The trader's address (used for balance/allowance simulation)

  • receiver: Optional address to receive bought tokens (defaults to 'from')

  • partiallyFillable: Whether the order can be partially filled (default: false)

  • slippageBps: Optional slippage tolerance in basis points

Returns the quoted order with:

  • sellAmount, buyAmount, feeAmount

  • expiration timestamp

  • quote ID for tracking

  • Whether the quote was verified via simulation

Inputs: from (required), kind (required), amount (required), buyToken (required), +5 more.

cow_get_tradesGet CoW Trade HistoryA
Read-onlyIdempotent

Get trade history for an address or order on CoW Protocol.

Args:

  • network: The blockchain network

  • owner: The address to fetch trades for (optional if orderUid provided)

  • orderUid: Filter trades by specific order (optional if owner provided)

  • limit: Maximum number of trades to return (1-100, default 20)

  • offset: Pagination offset (default 0)

Note: Either owner or orderUid must be provided, but not both.

Returns a list of executed trades with:

  • Transaction hash

  • Sell/buy amounts and tokens

  • Block number and timestamp

Inputs: no named parameters.

cow_prepare_orderPrepare CoW Order for SigningA
Read-onlyIdempotent

Prepare an order for signing with EIP-712.

This generates the typed data structure needed to sign a CoW Protocol order. Use this after getting a quote from cow_get_quote.

Args:

  • network: The blockchain network

  • sellToken, buyToken: Token addresses or symbols

  • sellAmount, buyAmount, feeAmount: Amounts from the quote

  • validTo: Expiration timestamp from the quote

  • from: The address that will sign the order

  • kind: Order kind (sell/buy)

  • partiallyFillable: Whether partial fills are allowed

  • receiver: Optional receiver (defaults to from)

  • appData: Optional app data hash

Returns:

  • EIP-712 typed data JSON

  • Foundry cast command to sign the order

  • curl command to submit the signed order

Inputs: from (required), validTo (required), buyToken (required), buyAmount (required), +8 more.

cow_resolve_tokenResolve Token Symbol to AddressA
Read-onlyIdempotent

Look up a token's contract address by its symbol on a specific network.

This is useful when you know the token symbol but not the address.

Args:

  • symbolOrAddress: Token symbol (e.g., 'USDC', 'WETH', 'COW') or an address (returns info if found)

  • network: The blockchain network

Returns:

  • Token address

  • Symbol and name

  • Decimals

  • Chain ID

Inputs: symbolOrAddress (required), network.

cow_search_tokensSearch for TokensA
Read-onlyIdempotent

Search for tokens by symbol or name across networks.

Args:

  • query: Search string (e.g., 'USDC', 'cow', 'wrapped')

  • network: Optional network filter

Returns up to 10 matching tokens with addresses and metadata.

Inputs: query (required), network.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A4.2/5.0

    Scored across 8 tools

    Disambiguation5/5

    Each tool targets a distinct aspect of CoW Protocol: auction state, order details, order status, quote, trades, order preparation, token resolution, and token search. No overlapping functionality.

    Naming Consistency5/5

    All tools follow a consistent 'cow_verb_noun' pattern with snake_case. Examples: cow_get_auction, cow_prepare_order, cow_search_tokens.

    Tool Count5/5

    8 tools is well-scoped for a protocol-specific server. They cover key operations without being excessive or minimal.

    Completeness3/5

    Covers core query and preparation operations but lacks direct submission of orders, cancellation, and listing of all orders for a user. Agents must rely on external curl commands for submission.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers