Labsco
MCP SERVER

CCXT MCP Server

by lazy-dinosaur

Trade through named exchange accounts and get your own performance analysed — win rate, streaks, daily and monthly returns — from the trade history itself.

Trading Execution & BrokerageVerified
Summary
It answers "how am I actually doing" from the trade history, not just "what is the price".

The four analysis tools are what separate this from a plain exchange wrapper: win rate, consecutive wins and losses, and returns split by day and month come back as computed metrics for a named account and period, so a review does not start with exporting a CSV. Named accounts are the other design choice worth noting — credentials live in configuration, calls carry only the account name, and a spot and a swap account on the same exchange stay distinct.

What it is

A CCXT-backed server with accounts as first-class objects. Market data tools take an exchange id; anything touching money takes an accountName that maps to credentials you configured once, so keys never appear in a call.

What you get
  • Market data by exchange id: fetchMarkets, fetchTicker, fetchTickers, fetchOrderBook, fetchTrades and fetchOHLCV with timeframe, since and limit
  • listAccounts shows the configured account names, so an assistant can see what it is allowed to act on before acting
  • createOrder takes type, side, amount, price and exchange-specific params; cancelOrder, fetchOrder, fetchOpenOrders and fetchClosedOrders cover the rest of the order lifecycle
  • fetchBalance, fetchMyTrades, fetchDeposits and fetchWithdrawals read the account's own history
  • analyzeTradingPerformance summarises how an account has done over a period, optionally for one symbol
  • calculateWinRate returns win rate and profit metrics rather than a raw trade list
  • analyzeConsecutiveProfitLoss reports winning and losing streaks — the shape of a drawdown, not just its size
  • analyzePeriodicReturns breaks returns down by day and by month over the interval you choose
  • Several accounts on the same exchange, distinguished by defaultType — a spot account and a swap account can both be configured and named separately
Requirements

Nothing for market data. Trading and analysis need an accounts array — each entry a name, exchangeId, apiKey, secret and defaultType such as spot or swap — either inside the client's own MCP configuration or in a separate JSON file passed with --config, where accounts must sit at the root. It runs as npx @lazydino/ccxt-mcp, or as ccxt-mcp after a global install. Running it in HTTP+SSE mode with --sse requires mcpBearerToken in the same config file, and clients must then send it as an Authorization: Bearer header. MIT.

Setup effort

One command plus a key — npx -y @lazydino/ccxt-mcp, then supply credentials