Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Description from the maker (original English)
Official CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
Passed 2/2 checks · Runs on your computer
First: which AI do you use?
Pick your app and the steps appear below.
Works with Claude, with some setup first
Install Node.js on your computer first (one time) · Only the Claude desktop app (Windows or Mac), not the web or phone
One time only; it works for every server that needs Node.js
SettingsDeveloperEdit Config
{
"mcpServers": {
"ccxt": {
"command": "npx",
"args": [
"-y",
"ccxt-mcp"
]
}
}
}Use CCXT and tell me what you can do for me, then show me one thing✓ If Claude says it is using CCXT or shows a CCXT tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
ChatGPT cannot connect CCXT yet
CCXT runs on your computer, but ChatGPT can only connect servers that run on the web
A · Use an app that can connect CCXT
B · Others in Accounting, finance & tax that work with ChatGPT
Picked from the most used in the same category, only ones that connect by address with no key
Works with Claude Code, with some setup first
Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Mac: press Command+Space and type Terminal · Windows: open PowerShell
claude mcp add ccxt -- npx -y ccxt-mcpYou should see CCXT listed as connected
Use CCXT and tell me what you can do for me, then show me one thing✓ If Claude Code says it is using CCXT or shows a CCXT tool in the answer, you are connected
Menu names checked against Anthropic’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with Cursor, with some setup first
Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Use CCXT and tell me what you can do for me, then show me one thing✓ If Cursor says it is using CCXT or shows a CCXT tool in the answer, you are connected
Menu names checked against Cursor’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Works with VS Code, with some setup first
Install Node.js on your computer first (one time)
One time only; it works for every server that needs Node.js
Use CCXT and tell me what you can do for me, then show me one thing✓ If VS Code says it is using CCXT or shows a CCXT tool in the answer, you are connected
Menu names checked against VS Code’s help page on Nov 11, 2026 · your screen may differ slightly by app version
Claude Code
claude mcp add ccxt -- npx -y ccxt-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"ccxt": {
"command": "npx",
"args": [
"-y",
"ccxt-mcp"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"ccxt": {
"command": "npx",
"args": [
"-y",
"ccxt-mcp"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"ccxt": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"ccxt-mcp"
]
}
}
}These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
npm: ccxt-mcpBased on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 11, 2026
The registry name was verified with the GitHub account ccxt, which owns the repo
Code last changed today
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Ask, share a tip or report that it does not work. Sorted by what people marked helpful.
No posts yet. Be the first to ask or share.
Posts here are written by users, not the PopNx team.
No reviews yet
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 2 of 2 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed today, and the latest version (0.1.3) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Finance Toolkit, AKQuant, AKTools
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Search and fetch AKShare financial data (stocks, futures, funds, macro) from AI assistants
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Connect AI agents (Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, and any MCP host) to 100+ cryptocurrency exchanges and prediction markets through the unified ccxt API: market data, account balances, order management, and — when you explicitly enable it — trading.
claude mcp add ccxt -- npx -y ccxt-mcp
Your API keys stay on your machine, and the AI model never sees them:
verbose is force-disabled.trading, funds (withdraw/transfer), and implicitWrites (raw endpoints) must each be enabled per account in the config file — there is no tool that edits config, so a conversation can never grant itself permissions. Unregistered tiers do not even appear in the tool list.Recommended exchange-side backstops (they hold even if your machine is compromised): create API keys with withdrawal permission disabled and an IP allowlist.
One honest caveat: any local agent with filesystem access could read the config file with its own tools — that is governed by your MCP host's permission model, not by this server. Prefer your host's secret storage where available (see below), keep the file chmod 600, and consider a deny rule for the path in your host's settings.
Requires Node.js ≥ 18. The npm package is ccxt-mcp; the server binary is npx -y ccxt-mcp.
claude mcp add ccxt -- npx -y ccxt-mcp
Or per-project via .mcp.json (safe to commit — no secrets):
{ "mcpServers": { "ccxt": { "command": "npx", "args": ["-y", "ccxt-mcp"] } } }
Add to claude_desktop_config.json (Settings → Developer → Edit Config):
{ "mcpServers": { "ccxt": { "command": "npx", "args": ["-y", "ccxt-mcp"] } } }
~/.cursor/mcp.json (or .cursor/mcp.json per project):
{ "mcpServers": { "ccxt": { "command": "npx", "args": ["-y", "ccxt-mcp"] } } }
.vscode/mcp.json — VS Code's inputs mechanism stores values in encrypted secret storage, the best option for keys among the JSON-config hosts:
{
"inputs": [ { "id": "binance-key", "type": "promptString", "password": true, "description": "Binance API key" }, { "id": "binance-secret", "type": "promptString", "password": true, "description": "Binance API secret" } ], "servers": { "ccxt": { "command": "npx", "args": ["-y", "ccxt-mcp"], "env": { "BINANCE_APIKEY": "${input:binance-key}", "BINANCE_SECRET": "${input:binance-secret}" } } } }
~/.codeium/windsurf/mcp_config.json — same mcpServers shape as Claude Desktop; ${env:VAR} interpolation is supported.
With no configuration the server serves public market data on all exchanges — that alone is a useful install.
To add accounts, create the config file (path shown by the get_safety_status tool):
~/Library/Application Support/ccxt-mcp/config.json~/.config/ccxt-mcp/config.json%APPDATA%\ccxt-mcp\config.jsonCCXT_MCP_CONFIG at any path (a legacy per-exchange keys.local.json shape also loads).{
"accounts": { "binance-testnet": { "exchange": "binance", "apiKey": "…", "secret": "…", "sandbox": true, // testnet — recommended first stop "trading": true // true enables SANDBOX/DEMO trading only }, "binance-main": { "exchange": "binance", "apiKey": "…", "secret": "…", "trading": "live", // live trading requires the explicit string "live"… "maxOrderValue": 250, // …and a per-order USD cap you author (null = opt out) "maxDailyValue": 1000, // optional rolling-24h cap "allowedSymbols": ["BTC/USDT", "ETH/*"], // optional strict allowlist "confirm": "live" // always | live (default) | never }, "polymarket-main": { "exchange": "polymarket", "walletAddress": "0x…", "privateKey": "0x…" } } }
Account fields: any credential from the exchange's requiredCredentials (apiKey, secret, password, uid, walletAddress, privateKey, …), sandbox/demo, defaultType, options (ccxt constructor options), prediction: true (for exchanges that exist in both the crypto and prediction namespaces, e.g. hyperliquid), and the safety switches below. chmod 600 the file; the server warns otherwise (or refuses with "settings": {"strictPermissions": true}).
Environment variables work too: _ (e.g. BINANCE_APIKEY, OKX_PASSWORD) fill missing credentials, and the CCXT_MCP_EXCHANGE/CCXT_MCP_APIKEY/CCXT_MCP_SECRET/CCXT_MCP_SANDBOX/CCXT_MCP_TRADING set defines a single account named default.
Claude Desktop (`.mcpb` bundle): the install form configures one exchange. To use several exchanges (or enable live trading/withdrawals), set the Config file field to a config.json with an accounts map like the one above — or just create it at the default path and leave the form fields blank.
| Tier | Enables | Switch | Default |
|---|---|---|---|
| market | tickers, order books, OHLCV, trades, markets, prediction events, read-only raw GET endpoints | — | on |
| read | balances, orders, own trades, positions | an account with credentials exists | on when configured |
| trading | create/edit/cancel orders, leverage, margin, position ops | per-account "trading": true (sandbox/demo) or "live" | off |
| funds | withdraw, internal transfer, deposit addresses | per-account "funds": true or "live" | off |
| implicitWrites | raw POST/PUT/DELETE endpoints (anything exchange-specific, incl. key mgmt) | per-account "implicitWrites": true | off |
"trading": true deliberately works only on sandbox/demo accounts; live trading requires typing "trading": "live" *and* deciding a maxOrderValue (a number, or explicitly null to opt out). The same pattern applies to funds with maxTransferValue. Activating a tier is your responsibility — the server's job is honest gates, confirmation, and the audit journal ( /ccxt-mcp/journal/).
market — list_exchanges, describe_exchange, describe_method (search/signatures/per-exchange params + docs links), search_markets, get_tickers, get_orderbook, get_ohlcv, get_trades, search_events (prediction markets), call_read_method (any unified fetch*/load* — structurally read-only), call_implicit_get (raw GET endpoints), get_safety_status, fetch_route (best execution route for converting an asset at a given size across ~50 exchanges, via the CCXT order router — a quote, no keys needed).
live (WebSocket) — watch_subscribe opens a background ccxt.pro stream; watch_read returns fresh data. State streams are snapshots of "what is X right now" — watchTicker(s), watchOrderBook(ForSymbols), watchOHLCV, watchBalance, watchPositions, watchBidsAsks, watchMarkPrice(s): the server merges live updates into the full current set, so watch_read always returns every subscribed symbol in latest (a multi-symbol stream never shows just the one that last ticked). Event streams are logs — watchTrades and the private watchOrders/watchMyTrades/watch(My)Liquidations (private need an account): watch_read returns new items oldest-first in events with a cursor. Pass waitForChange: true to watch_read to block until the next update (or timeout) instead of polling — the efficient way to wait for a fill or position change. watch_unsubscribe stops it; watch_list shows active streams. The long-lived server holds the socket so the agent always has fresh data; idle streams auto-stop after 10 minutes.
read — list_accounts, get_balance, get_orders, get_my_trades, get_positions.
trading — create_order, edit_order, cancel_order, cancel_all_orders, set_leverage, set_margin_mode, call_write_method (allowlisted long tail: margin/position/batch-cancel ops), execute_route (executes a fetch_route result with ccxt's OrderRouter across your accounts — every order still bound by that account's caps, symbol lists and confirmation).
funds — withdraw, transfer, get_deposit_address. implicitWrites — call_implicit_write.
Every list result is capped and paginated to fit host context limits (with in-band truncation notices); the raw info payload is stripped by default. Prediction exchanges use the same tools with outcome handles (from search_events) in the symbol position.
options if needed.loadMarkets() can take seconds; it is cached on disk for 24h afterwards.npx @modelcontextprotocol/inspector npx -y ccxt-mcp opens an interactive tool console.npm run mcp.ts # run the server from live TypeScript sources (tsx)
cd mcp && npm test # unit + schema + integration tests cd mcp && npm run build # tsc + regenerate js/data/method-docs.json
See DESIGN.md for the architecture, the prior-art analysis this server is built on, and the decision log.