← MCP Security Catalog

Sera MCP Server 194b1ea98ca3a47fb8d73292c6e43ba8cde2d2fb

source_git · sera-cx/sera-mcp-v2 · latest release

Scan failed
Security result
20
Observed tools
Version rating
100
Change risk

Independent inventory

Observed 2026-08-25T09:59:25.934Z using mcpSecurity-inventory. Protocol 2025-06-18.

ToolCategoryRisk
cancel_orderCancel an open order by its order ID.
Input schema
{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "description": "The order ID to cancel"
    },
    "owner_address": {
      "type": "string",
      "description": "Wallet address that owns the order"
    }
  },
  "required": [
    "order_id",
    "owner_address"
  ]
}
execute_depositExecute a deposit to move funds from wallet to exchange. Requires WALLET_PRIVATE_KEY.
Input schema
{
  "type": "object",
  "properties": {
    "token_address": {
      "type": "string",
      "description": "Token to deposit"
    },
    "amount": {
      "type": "string",
      "description": "Amount to deposit (human-readable, e.g., '100' for 100 tokens)"
    }
  },
  "required": [
    "token_address",
    "amount"
  ]
}
execute_swapExecute 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.
Input schema
{
  "type": "object",
  "properties": {
    "from_token": {
      "type": "string",
      "description": "Address of token to sell"
    },
    "to_token": {
      "type": "string",
      "description": "Address of token to buy"
    },
    "amount": {
      "type": "string",
      "description": "Amount to swap (in token units, e.g., '100' for 100 tokens)"
    }
  },
  "required": [
    "from_token",
    "to_token",
    "amount"
  ]
}
execute_withdrawExecute a withdrawal to move funds from exchange back to wallet. Requires WALLET_PRIVATE_KEY.
Input schema
{
  "type": "object",
  "properties": {
    "token_address": {
      "type": "string",
      "description": "Token to withdraw"
    },
    "amount": {
      "type": "string",
      "description": "Amount to withdraw (human-readable, e.g., '100' for 100 tokens)"
    }
  },
  "required": [
    "token_address",
    "amount"
  ]
}
get_clob_swap_quoteGet a swap quote from the CLOB exchange. Returns quote with exchange rate. Amount is in human-readable units (e.g., '100' for 100 USDT).
Input schema
{
  "type": "object",
  "properties": {
    "from_token": {
      "type": "string",
      "description": "Source token address"
    },
    "to_token": {
      "type": "string",
      "description": "Destination token address"
    },
    "from_amount": {
      "type": "string",
      "description": "Amount to swap in human-readable units (e.g., '100' for 100 USDT). Will be automatically converted to raw units."
    },
    "owner_address": {
      "type": "string",
      "description": "Optional. Wallet address for the swap. If omitted, uses the configured wallet address."
    }
  },
  "required": [
    "from_token",
    "to_token",
    "from_amount"
  ]
}
get_coin_historyGet historical price data for a specific stablecoin. Returns timestamp and price pairs suitable for sparklines or charts.
Input schema
{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "The coin ticker symbol (e.g., USDT, USDC). Case-insensitive."
    },
    "days": {
      "type": "number",
      "description": "Number of days of history (1-365). Default: 7"
    }
  },
  "required": [
    "ticker"
  ]
}
get_coin_metadataGet detailed metadata for a specific stablecoin including description, blockchains, platforms, regulatory info, issuer details, and social links.
Input schema
{
  "type": "object",
  "properties": {
    "ticker": {
      "type": "string",
      "description": "The coin ticker symbol (e.g., USDT, USDC). Case-insensitive."
    }
  },
  "required": [
    "ticker"
  ]
}
get_exchange_balanceGet 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.
Input schema
{
  "type": "object",
  "properties": {
    "wallet_address": {
      "type": "string",
      "description": "Optional. If omitted, uses the configured wallet address from WALLET_PRIVATE_KEY."
    }
  },
  "required": []
}
get_exchange_rateGet the exchange rate between two tokens. Returns the rate for swapping 1 unit of from_token to to_token.
Input schema
{
  "type": "object",
  "properties": {
    "from_token": {
      "type": "string",
      "description": "Source token address"
    },
    "to_token": {
      "type": "string",
      "description": "Destination token address"
    },
    "from_decimals": {
      "type": "number",
      "description": "Decimals of source token (default: 18)"
    },
    "to_decimals": {
      "type": "number",
      "description": "Decimals of destination token (default: 18)"
    }
  },
  "required": [
    "from_token",
    "to_token"
  ]
}
get_marketGet Sera's complete stablecoin catalogue with live market data including price, market cap, volume, and 24h changes. Supports pagination.
Input schema
{
  "type": "object",
  "properties": {
    "page": {
      "type": "number",
      "description": "Page number (1-based). Default: 1"
    },
    "per_page": {
      "type": "number",
      "description": "Number of results per page (1-500). Default: 250"
    }
  }
}
get_open_ordersGet all open/pending orders for the configured wallet. Uses the wallet address from WALLET_PRIVATE_KEY.
Input schema
{
  "type": "object",
  "properties": {
    "wallet_address": {
      "type": "string",
      "description": "Optional. If omitted, uses the configured wallet address from WALLET_PRIVATE_KEY."
    }
  },
  "required": []
}
get_swap_quoteGet a price quote for swapping between two tokens. Returns expected output amount, rate, and fees.
Input schema
{
  "type": "object",
  "properties": {
    "market_id": {
      "type": "string",
      "description": "Market ID (format: baseAddress-quoteAddress)"
    },
    "direction": {
      "type": "string",
      "enum": [
        "ASK",
        "BID"
      ],
      "description": "ASK = sell base token, BID = buy base token"
    },
    "amount_in": {
      "type": "string",
      "description": "Amount to swap (human-readable, e.g., '100.5')"
    }
  },
  "required": [
    "market_id",
    "direction",
    "amount_in"
  ]
}
get_trading_pairsGet available trading pairs/markets for a specific token. Returns all pairs where the token can be swapped.
Input schema
{
  "type": "object",
  "properties": {
    "token_address": {
      "type": "string",
      "description": "Token contract address to find trading pairs for"
    }
  },
  "required": [
    "token_address"
  ]
}
get_wallet_balancesGet token balances for the configured wallet. Returns all stablecoin holdings with amounts and metadata. Uses the wallet address from WALLET_PRIVATE_KEY.
Input schema
{
  "type": "object",
  "properties": {
    "wallet_address": {
      "type": "string",
      "description": "Optional. If omitted, uses the configured wallet address from WALLET_PRIVATE_KEY. The API only allows querying your own balances."
    },
    "page": {
      "type": "number",
      "description": "Page number. Default: 1"
    },
    "page_size": {
      "type": "number",
      "description": "Results per page. Default: 20, Max: 200"
    }
  },
  "required": []
}
get_wallet_infoGet information about the configured wallet (address, balance, chain). Requires WALLET_PRIVATE_KEY to be set.
Input schema
{
  "type": "object",
  "properties": {},
  "required": []
}
place_limit_orderPlace a limit order (set your own rate). Creates an order that will be filled when the market reaches your price.
Input schema
{
  "type": "object",
  "properties": {
    "from_token": {
      "type": "string",
      "description": "Token you are selling"
    },
    "to_token": {
      "type": "string",
      "description": "Token you want to receive"
    },
    "amount": {
      "type": "string",
      "description": "Amount to sell (human-readable)"
    },
    "price": {
      "type": "string",
      "description": "Your desired exchange rate"
    },
    "owner_address": {
      "type": "string",
      "description": "Your wallet address"
    }
  },
  "required": [
    "from_token",
    "to_token",
    "amount",
    "price",
    "owner_address"
  ]
}
prepare_depositPrepare a deposit transaction to move funds from wallet to exchange balance.
Input schema
{
  "type": "object",
  "properties": {
    "token_address": {
      "type": "string",
      "description": "Token to deposit"
    },
    "amount": {
      "type": "string",
      "description": "Amount to deposit (human-readable)"
    },
    "owner_address": {
      "type": "string",
      "description": "Wallet address"
    }
  },
  "required": [
    "token_address",
    "amount",
    "owner_address"
  ]
}
prepare_swapPrepare a swap transaction. Returns transaction data that needs to be signed and sent. May return approval_needed if token allowance is insufficient.
Input schema
{
  "type": "object",
  "properties": {
    "market_address": {
      "type": "string",
      "description": "Market contract address"
    },
    "from_token": {
      "type": "string",
      "description": "Source token address"
    },
    "to_token": {
      "type": "string",
      "description": "Destination token address"
    },
    "direction": {
      "type": "string",
      "enum": [
        "ASK",
        "BID"
      ],
      "description": "Trade direction"
    },
    "amount_in": {
      "type": "string",
      "description": "Amount to swap (human-readable)"
    },
    "user_address": {
      "type": "string",
      "description": "User's wallet address"
    }
  },
  "required": [
    "market_address",
    "from_token",
    "to_token",
    "direction",
    "amount_in",
    "user_address"
  ]
}
prepare_withdrawPrepare a withdrawal transaction to move funds from exchange balance back to wallet.
Input schema
{
  "type": "object",
  "properties": {
    "token_address": {
      "type": "string",
      "description": "Token to withdraw"
    },
    "amount": {
      "type": "string",
      "description": "Amount to withdraw (human-readable)"
    },
    "owner_address": {
      "type": "string",
      "description": "Wallet address"
    }
  },
  "required": [
    "token_address",
    "amount",
    "owner_address"
  ]
}
search_coinsSearch for stablecoins by name or ticker. Returns matching coins from the catalogue.
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query to match against coin name or ticker"
    },
    "limit": {
      "type": "number",
      "description": "Maximum number of results to return. Default: 10"
    }
  },
  "required": [
    "query"
  ]
}

Resources 0

Resource templates 0

Prompts 0

Changes from previous version

Compared with initial baseline using full_baseline.

RiskChangeSubject
No material changes recorded.

Confirmed vulnerabilities

SeverityFindingAdvisory
No confirmed vulnerability is published for this version.

Provenance

Artifact SHA-256: 50f1a6ab7cc179ba4c5daa425b3b075aa3f49b83c90e042c3de6888eb6cceca3

Scanner: mcp-proof-engine 0.1.0.

Let’s talk about MCP security.

Share your details and our security team will contact you.