Skip to main content
Glama
Sera MCP Server

Sera MCP Server

Official
by sera-cx

Sera MCP Server

License: MIT Node.js

A Model Context Protocol (MCP) server for Sera — the stablecoin exchange platform. Enables AI assistants like Claude to query market data, check balances, execute swaps, and manage orders through natural language.

Features

  • Market Data — Real-time stablecoin prices, metadata, and historical data

  • Wallet Management — Check balances, token holdings, and exchange deposits

  • Trading — Get quotes and execute swaps with automatic token approval

  • Order Management — Place, view, and cancel limit orders

  • Deposit & Withdraw — Move funds between wallet and exchange

  • Multi-Network — Supports Ethereum mainnet and Sepolia testnet

Related MCP server: SEI MCP Server V2

Quick Start

cd sera-mcp
npm install
npm run build

Then add the server to your Claude Desktop config. See claude_desktop_config.example.json:

{
  "mcpServers": {
    "sera": {
      "command": "node",
      "args": ["/path/to/sera-mcp/dist/index.js"],
      "env": {
        "EXTERNAL_API_URL": "https://api.dev.sera.cx",
        "WALLET_PRIVATE_KEY": "0xYOUR_PRIVATE_KEY",
        "RPC_URL": "https://ethereum-sepolia-rpc.publicnode.com"
      }
    }
  }
}

Config file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Restart Claude Desktop after editing the config.

Mainnet Configuration

{
  "env": {
    "EXTERNAL_API_URL": "https://api.sera.cx",
    "WALLET_PRIVATE_KEY": "0xYOUR_PRIVATE_KEY",
    "RPC_URL": "https://eth.llamarpc.com"
  }
}

Configuration

Variable

Description

Default

EXTERNAL_API_URL

CLOB/trading API URL

https://api.dev.sera.cx

WALLET_PRIVATE_KEY

Private key for signing transactions (optional, enables execute tools)

-

RPC_URL

Ethereum RPC endpoint

https://ethereum-sepolia-rpc.publicnode.com

⚠️ Security Warning: Never share or commit your WALLET_PRIVATE_KEY. Use a dedicated wallet for testing with limited funds.

Available Tools

Market Data

Tool

Description

get_market

Get the complete stablecoin catalogue with live market data

get_coin_metadata

Get detailed metadata for a specific coin by ticker

get_coin_history

Get historical price data for a specific coin

search_coins

Search for stablecoins by name or ticker

get_exchange_rate

Get the exchange rate between two tokens

Wallet & Balance

Tool

Description

get_wallet_info

Get configured wallet address, balance, and chain

get_wallet_balances

Get token balances (defaults to configured wallet)

get_exchange_balance

Get exchange (vault) balance (defaults to configured wallet)

Trading

Tool

Description

get_trading_pairs

Get available trading pairs for a token

get_swap_quote

Get a price quote for swapping tokens

get_clob_swap_quote

Get a CLOB exchange swap quote

prepare_swap

Prepare a swap transaction (returns tx data to sign)

execute_swap

Execute a swap end-to-end: quote, approve if needed, sign EIP-712 intent, submit. Requires WALLET_PRIVATE_KEY.

Order Management

Tool

Description

place_limit_order

Place a limit order

get_open_orders

Get all open orders (defaults to configured wallet)

cancel_order

Cancel an open order

Deposit & Withdraw

Tool

Description

prepare_deposit

Prepare a deposit transaction (returns tx data to sign)

prepare_withdraw

Prepare a withdrawal transaction (returns tx data to sign)

execute_deposit

Execute a deposit end-to-end: builds tx, signs, sends on-chain. Requires WALLET_PRIVATE_KEY.

execute_withdraw

Execute a withdrawal end-to-end: builds tx, signs, sends on-chain. Requires WALLET_PRIVATE_KEY.

Example Prompts

Once configured, you can interact with Sera using natural language:

Prompt

What it does

"Check my wallet balances"

Calls get_wallet_info + get_wallet_balances

"Show me all stablecoins on Sera"

Calls get_market

"What's the exchange rate between USDT and USDC?"

Calls get_exchange_rate

"Swap 100 USDT for USDC"

Calls execute_swap with auto-approval

"Deposit 50 USDT to my exchange balance"

Calls execute_deposit

"Show my open orders and cancel the first one"

Calls get_open_orders + cancel_order

Key Behaviors

  1. Human-readable amounts: All amount inputs (swap, deposit, withdraw) accept human-readable values like "100". The server automatically converts to raw units (e.g., 100000000 for 6-decimal tokens) using token decimals fetched from the API.

  2. Automatic token approval: execute_swap automatically checks if the input token has sufficient allowance for the SOR contract. If not (e.g., USDT which doesn't support EIP-2612 permit), it sends an on-chain approve(spender, maxUint256) transaction, waits for confirmation, refreshes the quote, then proceeds with the swap.

  3. EIP-712 signing: Swap intents are signed using EIP-712 typed data (Intent type) with the Sera domain. The uuid field in route_params is a decimal big integer, not a UUID string.

  4. Authenticated endpoints: get_wallet_balances, get_open_orders, and get_exchange_balance default to the configured wallet address. If a different wallet_address is provided, they return an info message instead of failing with 403.

  5. No-liquidity handling: When the API returns a no_liquidity error (HTTP 400), the server returns a structured { status: "no_liquidity" } response instead of a generic error.

  6. Testnet vs Mainnet: Use EXTERNAL_API_URL=https://api.dev.sera.cx for testnet (Sepolia) or https://api.sera.cx for mainnet. The RPC URL must match the chain.

Network

API URL

Chain ID

Example RPC

Mainnet

https://api.sera.cx

1

https://eth.llamarpc.com

Sepolia

https://api.dev.sera.cx

11155111

https://ethereum-sepolia-rpc.publicnode.com

Development

# Run in dev mode with hot reload
EXTERNAL_API_URL=https://api.dev.sera.cx \
WALLET_PRIVATE_KEY=0x... \
npm run dev

License

MIT


Built for Sera 🌐

Available Tools

20 tools
cancel_orderB

Cancel an open order by its order ID.

Inputs: order_id (required), owner_address (required).

execute_depositA

Execute a deposit to move funds from wallet to exchange. Requires WALLET_PRIVATE_KEY.

Inputs: amount (required), token_address (required).

execute_swapA

Execute a swap transaction. Gets a quote, handles token approval if needed (sends on-chain approve tx for non-permit tokens like USDT), signs the EIP-712 intent, and submits. Requires WALLET_PRIVATE_KEY.

Inputs: amount (required), to_token (required), from_token (required).

execute_withdrawB

Execute a withdrawal to move funds from exchange back to wallet. Requires WALLET_PRIVATE_KEY.

Inputs: amount (required), token_address (required).

get_clob_swap_quoteA

Get a swap quote from the CLOB exchange. Returns quote with exchange rate. Amount is in human-readable units (e.g., '100' for 100 USDT).

Inputs: to_token (required), from_token (required), from_amount (required), owner_address.

get_coin_historyA

Get historical price data for a specific stablecoin. Returns timestamp and price pairs suitable for sparklines or charts.

Inputs: ticker (required), days.

get_coin_metadataA

Get detailed metadata for a specific stablecoin including description, blockchains, platforms, regulatory info, issuer details, and social links.

Inputs: ticker (required).

get_exchange_balanceA

Get the exchange (vault) balance for the configured wallet. Uses the wallet address from WALLET_PRIVATE_KEY. This is separate from wallet balance - funds deposited into the exchange for trading.

Inputs: wallet_address.

get_exchange_rateA

Get the exchange rate between two tokens. Returns the rate for swapping 1 unit of from_token to to_token.

Inputs: to_token (required), from_token (required), to_decimals, from_decimals.

get_marketA

Get Sera's complete stablecoin catalogue with live market data including price, market cap, volume, and 24h changes. Supports pagination.

Inputs: page, per_page.

get_open_ordersA

Get all open/pending orders for the configured wallet. Uses the wallet address from WALLET_PRIVATE_KEY.

Inputs: wallet_address.

get_swap_quoteB

Get a price quote for swapping between two tokens. Returns expected output amount, rate, and fees.

Inputs: amount_in (required), direction (required), market_id (required).

get_trading_pairsB

Get available trading pairs/markets for a specific token. Returns all pairs where the token can be swapped.

Inputs: token_address (required).

get_wallet_balancesA

Get token balances for the configured wallet. Returns all stablecoin holdings with amounts and metadata. Uses the wallet address from WALLET_PRIVATE_KEY.

Inputs: page, page_size, wallet_address.

get_wallet_infoA

Get information about the configured wallet (address, balance, chain). Requires WALLET_PRIVATE_KEY to be set.

Inputs: no named parameters.

place_limit_orderA

Place a limit order (set your own rate). Creates an order that will be filled when the market reaches your price.

Inputs: price (required), amount (required), to_token (required), from_token (required), +1 more.

prepare_depositB

Prepare a deposit transaction to move funds from wallet to exchange balance.

Inputs: amount (required), owner_address (required), token_address (required).

prepare_swapA

Prepare a swap transaction. Returns transaction data that needs to be signed and sent. May return approval_needed if token allowance is insufficient.

Inputs: to_token (required), amount_in (required), direction (required), from_token (required), +2 more.

prepare_withdrawA

Prepare a withdrawal transaction to move funds from exchange balance back to wallet.

Inputs: amount (required), owner_address (required), token_address (required).

search_coinsA

Search for stablecoins by name or ticker. Returns matching coins from the catalogue.

Inputs: query (required), limit.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 20 tools

    Disambiguation4/5

    Most tools target distinct resources and actions, e.g., get_wallet_balances vs get_exchange_balance clearly separate wallet and vault balances. However, get_swap_quote, get_clob_swap_quote, and get_exchange_rate all return pricing/rate information, which could confuse an agent. Descriptions help differentiate, but the boundary is not immediately obvious.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern (get, execute, prepare, place, cancel, search). Modifiers are coherent, such as get_market, get_coin_history, and get_exchange_balance, with no mixed conventions like camelCase or arbitrary verbs.

    Tool Count4/5

    With 20 tools, the set is slightly heavy but each tool serves a clear function in market data, wallet/exchange balances, swaps, deposits/withdrawals, and orders. For a DeFi trading server, this count is reasonable and not overwhelming.

    Completeness4/5

    The core lifecycle is covered: exploring stablecoins, checking balances, obtaining quotes, executing swaps/deposits/withdrawals, and managing limit orders. Minor gaps include no order history or transaction status, but these are not critical for basic trading.

    Maintenance

    ActivityStale
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Enables AI agents to interact with Saros DeFi through natural language, providing tools for liquidity pool management, portfolio analytics, farming positions, and swap quotes on Solana.
      5
      MIT
    • A
      license
      C
      quality
      B
      maintenance
      Enables AI assistants to interact with BlindPay's stablecoin payment infrastructure, allowing users to create receivers, process payouts and payins across multiple blockchains, manage virtual accounts and wallets, and configure payment operations through natural language.
      93
      960 npm
      9
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants to securely trade on Hyperliquid perpetual exchange, including order placement, position management, market data retrieval, and vault operations via natural language.
      23 PyPI
      24
      MIT