Quickbooks MCP vs DataSinking
A side-by-side look at the Quickbooks MCP and DataSinking MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Quickbooks MCP for finance & fintech work as a local process; choose DataSinking 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?
Choose 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.
Choose DataSinking when
- You need dedicated capabilities in the Finance & Fintech domain.
- You prefer a local stdio subprocess transport.
- Its auth model fits you: API key required.
- You have the keys it needs:
DATASINK_API_KEY. - You want tools like
list_exchanges, list_stocks, list_reports.
Feature & specification comparison
Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Finance & Fintech | Finance & Fintech |
| Quality signal | 64/100 · Good | 67/100 · Great |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | OAuth 2.0 | API key required |
| Pricing | Not declared | Not declared |
| Required env vars | QBO_CREDENTIAL_MODEQBO_CLIENT_IDQBO_CLIENT_SECRETQBO_CREDENTIAL_FILEQBO_INLINE_OUTPUTQBO_SANDBOXAWS_REGIONQBO_SECRET_NAME | DATASINK_API_KEY |
| Verified owner | Community listing | Community listing |
| GitHub stars | 14 | 22 |
| Directory activity | 2 views 0 installs 0 upvotes | 1 views 0 installs 0 upvotes |
| Tools | 41 | 6 |
| Full listing | View Quickbooks MCP | View DataSinking |
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
DataSinking tools 6
list_exchangesList the exchanges DataSinking covers. Returns exchange codes (nyse / nasdaq / cboe / sse / szse / bj / jpx / ksc / koe / knx / twse / tpex / lse) with the number of reports available per exchange. Call this first to discover coverage. Sources: US = SEC EDGAR, A-shares = cninfo.com.cn, Japan = EDINET, Korea = DART, Taiwan = MOPS, UK = FCA NSM.list_stocksList the stocks on one exchange, including the report count per company.list_reportsList a company's reports — metadata only (id, title, period), no body text. Each item carries a `source` field naming the official disclosure platform; keep that attribution when you cite it.get_reportFetch one report's full text (metadata + Markdown body). The `source` field names the official disclosure platform; keep that attribution when you cite it. Expensive in tokens — prefer get_section when you only need one chapter. Content is annotated with block markers (`<!-- ds:block:N -->`) so you can cite a specific paragraph or table.list_sectionsList every section of a report with its size, before you decide what to pull. Returns `sections` (titles, in order) plus `section_details` — same order, one entry per section with `title`, `has_tables`, `chars` and `estimated_tokens`. Use `estimated_tokens` to avoid pulling a chapter that would blow your context, and `has_tables` to know whether the chapter needs special handling (tables are the part RAG pipelines usually get wrong). Then call get_section with a heading keyword — the headings are in the report's own language.get_sectionFetch only one section of a report by keyword — much cheaper than get_report, best for RAG. Content is annotated with block markers (`<!-- ds:block:N -->`) so you can cite a specific paragraph or table.
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": {
"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"
}
}
}
}
DataSinking
{
"mcpServers": {
"datasinking": {
"command": "npx",
"args": [
"-y",
"datasinking-mcp"
],
"env": {
"DATASINK_API_KEY": "YOUR_DATASINK_API_KEY_HERE"
}
}
}
}
Frequently asked questions
Quickbooks MCP is categorized under Finance & Fintech and uses a local stdio subprocess. DataSinking belongs to Finance & Fintech and uses a local stdio subprocess. Pick Quickbooks MCP for finance & fintech work and DataSinking 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.
Quickbooks MCP has no declared pricing — check the project's own site. Auth: oauth 2.0. DataSinking has no declared pricing — check the project's own site. Auth: api key required. 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 datasinking 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. DataSinking has 67/100 (Great) with 1 views, 0 installs and 22 GitHub stars.