# QuickBooks Online

This MCP server connects an AI coding host to QuickBooks Online for invoices, customers, vendors, accounts, and financial reports.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 13
- Author: mindstone
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/mindstone/mcp-servers/tree/HEAD/connectors/quickbooks
- Updated: 2026-10-22
- HTML: https://affpapa.org/en/nevibecode/mcp/quickbooks-online

## What it does

QuickBooks Online exposes company data and accounting actions to an MCP host. The server can run QuickBooks Query Language requests, fetch individual entities, and produce ProfitAndLoss, BalanceSheet, CashFlow, AgedReceivables, and AgedPayables reports. It also covers customers, vendors, invoices, and estimates.

Its 21 tools include creating and updating records, emailing an invoice to its customer, and downloading an invoice as a PDF. OAuth uses `QUICKBOOKS_CLIENT_ID`, `QUICKBOOKS_CLIENT_SECRET`, `QUICKBOOKS_REFRESH_TOKEN`, `QUICKBOOKS_REALM_ID`, and `QUICKBOOKS_ENVIRONMENT`. Node.js 20+ and npm are required.

Tools that change QuickBooks data perform writes by default; the host’s approval layer controls confirmation. The server cannot connect to a QuickBooks Online company without the OAuth values, so prepare those credentials before adding the MCP server.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `QUICKBOOKS_CLIENT_ID`, `QUICKBOOKS_CLIENT_SECRET`, `QUICKBOOKS_REFRESH_TOKEN`, `QUICKBOOKS_REALM_ID`, `QUICKBOOKS_ENVIRONMENT`, `MCP_HOST_BRIDGE_STATE`, `MINDSTONE_REBEL_BRIDGE_STATE` — keys and tokens: ask the human for the values, never commit them or put them in shared files.

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add --env QUICKBOOKS_CLIENT_ID=<QUICKBOOKS_CLIENT_ID> --env QUICKBOOKS_CLIENT_SECRET=<QUICKBOOKS_CLIENT_SECRET> --env QUICKBOOKS_REFRESH_TOKEN=<QUICKBOOKS_REFRESH_TOKEN> --env QUICKBOOKS_REALM_ID=<QUICKBOOKS_REALM_ID> --env QUICKBOOKS_ENVIRONMENT=<QUICKBOOKS_ENVIRONMENT> --transport stdio quickbooks -- npx -y @mindstone/mcp-server-quickbooks
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Codex

**Platform CLI**
```bash
codex mcp add quickbooks --env QUICKBOOKS_CLIENT_ID=<QUICKBOOKS_CLIENT_ID> --env QUICKBOOKS_CLIENT_SECRET=<QUICKBOOKS_CLIENT_SECRET> --env QUICKBOOKS_REFRESH_TOKEN=<QUICKBOOKS_REFRESH_TOKEN> --env QUICKBOOKS_REALM_ID=<QUICKBOOKS_REALM_ID> --env QUICKBOOKS_ENVIRONMENT=<QUICKBOOKS_ENVIRONMENT> -- npx -y @mindstone/mcp-server-quickbooks
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "quickbooks": {
            "command": "npx",
            "args": [
                "-y",
                "@mindstone/mcp-server-quickbooks"
            ],
            "env": {
                "QUICKBOOKS_CLIENT_ID": "<QUICKBOOKS_CLIENT_ID>",
                "QUICKBOOKS_CLIENT_SECRET": "<QUICKBOOKS_CLIENT_SECRET>",
                "QUICKBOOKS_REFRESH_TOKEN": "<QUICKBOOKS_REFRESH_TOKEN>",
                "QUICKBOOKS_REALM_ID": "<QUICKBOOKS_REALM_ID>",
                "QUICKBOOKS_ENVIRONMENT": "<QUICKBOOKS_ENVIRONMENT>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "quickbooks": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@mindstone/mcp-server-quickbooks"
            ],
            "env": {
                "QUICKBOOKS_CLIENT_ID": "<QUICKBOOKS_CLIENT_ID>",
                "QUICKBOOKS_CLIENT_SECRET": "<QUICKBOOKS_CLIENT_SECRET>",
                "QUICKBOOKS_REFRESH_TOKEN": "<QUICKBOOKS_REFRESH_TOKEN>",
                "QUICKBOOKS_REALM_ID": "<QUICKBOOKS_REALM_ID>",
                "QUICKBOOKS_ENVIRONMENT": "<QUICKBOOKS_ENVIRONMENT>"
            }
        }
    }
}
```
Replace <…> with your own values. 2 more environment variables are in the server README

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e QUICKBOOKS_CLIENT_ID=<QUICKBOOKS_CLIENT_ID> -e QUICKBOOKS_CLIENT_SECRET=<QUICKBOOKS_CLIENT_SECRET> -e QUICKBOOKS_REFRESH_TOKEN=<QUICKBOOKS_REFRESH_TOKEN> -e QUICKBOOKS_REALM_ID=<QUICKBOOKS_REALM_ID> -e QUICKBOOKS_ENVIRONMENT=<QUICKBOOKS_ENVIRONMENT> quickbooks npx -y @mindstone/mcp-server-quickbooks
```
Replace <…> with your own values. 2 more environment variables are in the server README

## When to use it
- look up customers and vendors
- create or edit a QuickBooks Online invoice
- run an accounts receivable report
- email an invoice to its customer
- download an invoice as a PDF

## Example prompts
- Find unpaid QuickBooks Online invoices and show each customer and amount.
- Create a QuickBooks Online invoice for this customer with these line items.
- Run the AgedReceivables report and explain the overdue balances.

## Similar
- [World Monitor](https://affpapa.org/en/nevibecode/mcp/world-monitor.md) — MCP server · ★ 89609
- [CCXT](https://affpapa.org/en/nevibecode/mcp/ccxt.md) — MCP server · ★ 44591
- [Finance Toolkit](https://affpapa.org/en/nevibecode/mcp/finance-toolkit.md) — MCP server · ★ 5469
- [EdgarTools](https://affpapa.org/en/nevibecode/mcp/edgartools.md) — MCP server · ★ 2817
- [LetsFG — Flights & Hotels](https://affpapa.org/en/nevibecode/mcp/letsfg-flights-hotels.md) — MCP server · ★ 2197
- [AutoTS](https://affpapa.org/en/nevibecode/mcp/autots.md) — MCP server · ★ 1434

From the same set: [mindstone/mcp-servers](https://affpapa.org/en/nevibecode/by/mindstone/mcp-servers.md) — 24 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
