Quickbooks MCP vs CCXT

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

Quickbooks MCP logoQuickbooks MCPFinance & Fintech · Local subprocess (stdio)MCP server for QuickBooks Online API integration64GoodAuth: oauth 2.0CCXT logoCCXTFinance & FintechOfficial CCXT MCP server - Market data and trading across 100+ exchanges and prediction markets60GoodAuth: not declared

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

Which MCP server should you choose?

Quickbooks MCP logoChoose Quickbooks MCP when

  • You need dedicated capabilities in the Finance & Fintech domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: OAuth 2.0.
  • You have the keys it needs: QBO_CREDENTIAL_MODE, QBO_CLIENT_ID, QBO_CLIENT_SECRET, QBO_CREDENTIAL_FILE, QBO_INLINE_OUTPUT, QBO_SANDBOX, AWS_REGION, QBO_SECRET_NAME.
  • You want tools like qbo_authenticate, get_company_info, query.
Explore Quickbooks MCP

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

Feature & specification comparison

Rows where the two servers differ are marked.

SpecQuickbooks MCP logoQuickbooks MCPCCXT logoCCXT
CategoryFinance & FintechFinance & Fintech
Quality signal64/100 · Good60/100 · Good
Install commandConfirmedNot confirmed yet
TransportLocal subprocess (stdio)—
AuthOAuth 2.0Not declared
PricingNot declaredFree
Required env varsQBO_CREDENTIAL_MODEQBO_CLIENT_IDQBO_CLIENT_SECRETQBO_CREDENTIAL_FILEQBO_INLINE_OUTPUTQBO_SANDBOXAWS_REGIONQBO_SECRET_NAMENone listed
Verified ownerCommunity listingCommunity listing
GitHub stars1444,531
Directory activity 2 views 0 installs 0 upvotes 3 views 0 installs 0 upvotes
Tools4132

Tools & capabilities

Quickbooks MCP tools 41

  • qbo_authenticateAuthenticate with QuickBooks using OAuth (local credential mode only). Step 1: Call with no arguments to get the authorization URL. Step 2: After authorizing in browser, call with authorization_code and realm_id from the callback URL. This tool only works when QBO_CREDENTIAL_MODE is 'local' (the default).
  • get_company_infoGet information about the connected QuickBooks company.
  • queryExecute a QuickBooks query using SQL-like syntax. Supports querying any entity type (Customer, Vendor, Invoice, Bill, Account, Item, Department, etc.). Results are written to a file to preserve context. Defaults to MAXRESULTS 1000 if not specified. Examples: 'SELECT * FROM Customer', 'SELECT * FROM SalesReceipt WHERE TxnDate >= \'2025-11-01\' AND TxnDate <= \'2025-11-30\''
  • list_accountsList all accounts in the chart of accounts. Returns AcctNum (the user-facing account number), Name, AccountType, AccountSubType, and CurrentBalance. Use AcctNum to reference accounts in other queries or operations.
  • get_profit_lossGet a Profit and Loss (Income Statement) report. Can be broken down by department/location.
  • get_balance_sheetGet a Balance Sheet report. Can be broken down by department/location.
  • get_reportRun a QuickBooks report that has no dedicated tool: A/R and A/P aging, customer and vendor balances, transaction lists, general ledger, journal, sales by customer/item/class/department, cash flow, and detail variants. Answers what is outstanding and how old it is, which the entity query tools cannot — a report sees postings that carry no account reference in entity JSON. Profit and Loss, Balance Sheet and Trial Balance have their own tools.
  • get_trial_balanceGet a Trial Balance report. Useful for month-end close and reconciliation. Note: Trial Balance does not support department/location breakdown in QuickBooks Online.
  • query_account_transactionsQuery all transactions affecting a specific account, across all 13 posting transaction types. Returns a consolidated list with date, type, amount (debit/credit), and description. Useful for investigating account balance discrepancies. Note: the A/R side of invoices, credit memos, and payments has no account reference in QBO's data model and cannot appear here — use account_period_summary for A/R totals.
  • account_period_summaryGet a period summary for an account: opening balance, total debits/credits, closing balance, and transaction count. Uses the General Ledger report. Supports department filtering.
  • create_journal_entryCreate a journal entry. Accepts account/department/entity names (will lookup IDs automatically). Validates debits=credits before creating. Lines may carry an entity (vendor, customer, or employee) — QuickBooks requires one on any line posting to Accounts Receivable or Accounts Payable. Returns entry details and a link to view in QuickBooks.
  • get_journal_entryFetch a single journal entry by ID with full details including SyncToken (needed for edits). Returns formatted summary and writes full object to temp file.
  • +29 more on the listing page

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

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.

Quickbooks MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "quickbooks-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "quickbooks-mcp"
      ],
      "env": {
        "QBO_CREDENTIAL_MODE": "YOUR_QBO_CREDENTIAL_MODE_HERE",
        "QBO_CLIENT_ID": "YOUR_QBO_CLIENT_ID_HERE",
        "QBO_CLIENT_SECRET": "YOUR_QBO_CLIENT_SECRET_HERE",
        "QBO_CREDENTIAL_FILE": "YOUR_QBO_CREDENTIAL_FILE_HERE",
        "QBO_INLINE_OUTPUT": "YOUR_QBO_INLINE_OUTPUT_HERE",
        "QBO_SANDBOX": "YOUR_QBO_SANDBOX_HERE",
        "AWS_REGION": "YOUR_AWS_REGION_HERE",
        "QBO_SECRET_NAME": "YOUR_QBO_SECRET_NAME_HERE"
      }
    }
  }
}

CCXT

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

Frequently asked questions

Quickbooks MCP is categorized under Finance & Fintech and uses a local stdio subprocess. CCXT belongs to Finance & Fintech and uses an install path we have not confirmed yet. Pick Quickbooks MCP for finance & fintech work and CCXT 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.

Quickbooks MCP has no declared pricing — check the project's own site. Auth: oauth 2.0. CCXT is listed as free. 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 quickbooks-mcp and ccxt as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Quickbooks MCP has a quality signal of 64/100 (Good) with 2 views, 0 installs and 14 GitHub stars. CCXT has 60/100 (Good) with 3 views, 0 installs and 44,531 GitHub stars.