CCXT vs FiatDock

A side-by-side look at the CCXT and FiatDock MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

CCXT logoCCXTFinance & FintechOfficial CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets64GoodAuth: not declaredFiatDock logoFiatDockFinance & Fintech · Local subprocess (stdio)MCP marketplace: agents pay per call in USDC via x402. Plus Base chain data and a USDC<->bank ramp.64GoodAuth: not declared

Verdict: choose CCXT for finance & fintech work; choose FiatDock for finance & fintech as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

CCXT logoChoose CCXT when

  • You need dedicated capabilities in the Finance & Fintech domain.
  • You want tools like list_exchanges, describe_exchange, describe_method.
Explore CCXT

FiatDock logoChoose FiatDock when

  • You need dedicated capabilities in the Finance & Fintech domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: AGENT_PRIVATE_KEY, FIATDOCK_TOOLS.
  • You want tools like get_quote, get_order_status, token_price.
Explore FiatDock

Feature & specification comparison

Rows where the two servers differ are marked.

SpecCCXT logoCCXTFiatDock logoFiatDock
CategoryFinance & FintechFinance & Fintech
Quality signal64/100 · Good64/100 · Good
Install commandNot confirmed yetConfirmed
Transport—Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsNone listedAGENT_PRIVATE_KEYFIATDOCK_TOOLS
Verified ownerCommunity listingCommunity listing
GitHub stars44,4801
Directory activity 2 views 0 installs 0 upvotes 2 views 0 installs 0 upvotes
Tools3248

Tools & capabilities

CCXT tools 32

  • list_exchangesList every exchange this server supports (built from ccxt.exchanges at runtime), with name, websocket and prediction-market availability. Filter by a name query or by support for a unified method.
  • describe_exchangeOne exchange's supported unified methods, market types, timeframes, required credential fields, sandbox availability and documentation URLs. Per-method detail lives in describe_method.
  • describe_methodSearch unified method names by keyword, or get one method's signature and parameter documentation. With "exchange" it adds that exchange's own docs (including supported params.* keys and links to the exchange API reference), per-market-type feature support, and searches its implicit (exchange-specific) endpoints too. Full ccxt manual: https://docs.ccxt.com/
  • search_marketsSearch and filter the markets of one exchange (by text, base, quote, settle currency, market type), paginated. Use this to resolve unified symbols — there is deliberately no list-all-markets tool. On prediction exchanges use search_events instead.
  • get_tickers24h price tickers for one or more unified symbols on an exchange (outcome handles on prediction exchanges).
  • get_orderbookCurrent order book (bids and asks) for one unified symbol.
  • get_ohlcvHistorical OHLCV candlestick data for a symbol and timeframe. Rows are [timestampMs, open, high, low, close, volume]. Page back with "since"; "params.until" bounds the end.
  • get_tradesRecent public trades for one unified symbol.
  • search_eventsSearch events on a prediction-market exchange (polymarket, kalshi, limitless, myriad, hyperliquid with prediction=true). A scoping filter is required: query, tags, or params.eventId/params.slug. Returns events with their markets and outcome handles — outcome handles are what you pass as the symbol to get_tickers/get_orderbook/create_order on prediction exchanges.
  • call_read_methodEscape hatch covering every unified read method not served by a dedicated tool (fetchFundingRate, fetchLedger, fetchOpenInterest, fetchLiquidations, fetchEvent, fetchSettlements, …). Only fetch*/load* methods are accepted — writes are structurally rejected. Get the signature first with describe_method. Docs: https://docs.ccxt.com/
  • call_implicit_getCall an exchange-specific implicit REST endpoint over HTTP GET, for data the unified API does not cover. Pass the implicit method name in the "method" argument (e.g. "publicGetTickerPrice"); these are exchange-specific — find them with describe_method {"query": ..., "exchange": ...} (its results list the name to pass here). The response is the raw exchange payload. Consult the exchange API reference (describe_exchange .urls.doc) and the ccxt manual: https://docs.ccxt.com/
  • get_safety_statusWhat this server is currently allowed to do: configured accounts (names only — never credentials), enabled capability tiers, caps, sandbox/live environments, journal location, unresolved order intents, and any configuration problems.
  • +20 more on the listing page

FiatDock tools 48

  • get_quoteFree quote before paying: the exchange rate and exactly how much lands in the bank (or wallet) NET of every provider fee — that net figure is the number to decide on. Executable estimate, not a locked rate. side=SELL (USDC->fiat) or BUY (fiat->USDC).
  • get_order_statusCheck the status of an on/off-ramp order by partnerOrderId.
  • token_priceFREE real-time price snapshot for any EVM token by contract address: USD price, 5m/1h/6h/24h change, liquidity, 24h volume, market cap/FDV and the most-liquid DEX pair (DexScreener). Or pass a major symbol (ETH/BTC) for a Coinbase spot price. Read-only, free.
  • search_servicesFind paid + free MCP services other agents have published on the FiatDock marketplace. Returns matching listings (id, name, summary, price, category, seller, verified, gatewayUrl), best match first when q is given (otherwise newest, or the sort you pass), capped at 20 per call — pass limit for more, or q/category to narrow. Use get_service for full detail and call_service to invoke one. Read-only, free.
  • get_serviceFull detail for one FiatDock marketplace listing, including how to call it: PAID listings route through the gateway via call_service (the 402 lists what to pay); FREE/first-party listings expose their real MCP endpoint to call directly. Read-only, free.
  • search_x402Find any pay-per-call x402 endpoint on the internet — the public x402 index (~15,000 priced endpoints from hundreds of hosts), not only FiatDock's own marketplace. Ranked by relevance, then by paid calls in the last 30 days (the demand signal), then by distinct payers. Each row carries the URL, the price the index recorded, the network, where the money goes, and the 30-day call/payer counts; call_x402 then reads the endpoint's own 402 and pays it directly from your wallet — FiatDock takes no fee and never touches the money. Read-only, free. Use search_services for FiatDock marketplace listings, which carry health, schemas and a call hint that the public index does not.
  • create_offramp_sessionConvert the agent's USDC to fiat in the owner's OWN bank account. Returns a checkoutUrl to forward to the human owner (valid ~2 hours) and a partnerOrderId to track — pass the owner's `email` and the server ALSO emails the checkout link to them automatically (the response echoes emailedTo). Paid endpoint ($0.01 USDC via x402) — this package pays it automatically from AGENT_PRIVATE_KEY, so the call succeeds without you seeing a 402. COMPLIANCE: own-account rule — the sending wallet and the receiving bank account must belong to the SAME person (the agent's owner); no third-party funds, no aggregation, no P2P transfers. 18+; service area: Portugal + supported EU/EEA countries (NOT the UK). Crypto is volatile; not investment advice.
  • create_onramp_sessionBuy USDC with the owner's OWN fiat and deliver it to the agent's wallet (address locked). Returns checkoutUrl (valid ~2 hours) + partnerOrderId. Paid endpoint ($0.01 USDC via x402) — this package pays it automatically from AGENT_PRIVATE_KEY, so the call succeeds without you seeing a 402. COMPLIANCE: own-account rule — the sending wallet and the receiving bank account must belong to the SAME person (the agent's owner); no third-party funds, no aggregation, no P2P transfers. 18+; service area: Portugal + supported EU/EEA countries (NOT the UK). Crypto is volatile; not investment advice.
  • token_safetyPAID ($0.0045 USDC via x402, paid automatically). On-chain safety verdict for any EVM token BEFORE you trade it: honeypot detection, buy/sell tax, contract-verified, owner privileges (mint / blacklist / pausable / hidden owner / balance-modify), holder concentration, LP-locked %, CEX listing and live DEX liquidity (GoPlus Security + DexScreener). Returns verdict safe|caution|danger with the exact risks. Not financial advice.
  • stablecoin_intelPAID ($0.002 USDC via x402, paid automatically). Supply, peg health and per-chain breakdown for USDC and other stablecoins: total circulating supply, deviation from the $1.00 peg, peg mechanism, the amount circulating on Base (with its share of total) and the top chains by supply (DefiLlama). A treasury/payments agent uses it to check its settlement asset is healthy.
  • gas_pricePAID ($0.001 USDC via x402, paid automatically). The current Base gas price in wei and gwei — a gas-aware agent samples it before submitting a tx. On any RPC failure the call returns 4xx/5xx and is NOT charged.
  • block_numberPAID ($0.001 USDC via x402, paid automatically). The latest Base block number plus its timestamp — a freshness/liveness probe for the chain head. On any RPC failure the call returns 4xx/5xx and is NOT charged.
  • +36 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

CCXT

No confirmed install command for CCXT yet — follow the setup steps linked from its listing page rather than a guessed package name.

FiatDock

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "fiatdock": {
      "command": "npx",
      "args": [
        "-y",
        "fiatdock-mcp"
      ],
      "env": {
        "AGENT_PRIVATE_KEY": "YOUR_AGENT_PRIVATE_KEY_HERE",
        "FIATDOCK_TOOLS": "YOUR_FIATDOCK_TOOLS_HERE"
      }
    }
  }
}

Frequently asked questions

CCXT is categorized under Finance & Fintech and uses an install path we have not confirmed yet. FiatDock belongs to Finance & Fintech and uses a local stdio subprocess. Pick CCXT for finance & fintech work and FiatDock for finance & fintech.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client. CCXT has no confirmed install command yet — follow its own setup instructions.

CCXT has no declared pricing — check the project's own site. FiatDock has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add ccxt and fiatdock as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, CCXT has a quality signal of 64/100 (Good) with 2 views, 0 installs and 44,480 GitHub stars. FiatDock has 64/100 (Good) with 2 views, 0 installs and 1 GitHub stars.