# mcp-quickbooks

Wires QuickBooks Online into your agent with 22 tools for customers, invoices, payments, items, bills and a P&L report. Handy when the books sit in QuickBooks and you would rather stay in the terminal.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 274
- Author: codespar
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/codespar/mcp-dev-latam/tree/HEAD/packages/erp/quickbooks
- Updated: 2026-09-27
- HTML: https://affpapa.org/en/nevibecode/mcp/mcp-quickbooks

## What it does

Day-to-day accounting is covered: add or edit customers and vendors, raise invoices, email them, void them, record payments, manage items and the chart of accounts, and pull a profit and loss figure for any date range. Customer, item, account, vendor and bill lookups take QuickBooks' SQL-like query string, so something like `SELECT * FROM Item WHERE Type = 'Service'` goes straight into the matching tool.

You must supply a live `QB_ACCESS_TOKEN`, an OAuth2 bearer that lasts an hour. This server neither obtains nor refreshes it; that sits with your credential manager or the agent. A company identifier, `QB_REALM_ID`, is also required. No valid token, no calls.

Pick the transport at launch: stdio by default, or HTTP with `MCP_HTTP=true MCP_PORT=3000`. `QB_ENV` defaults to `sandbox`, so early requests land in a test company rather than live books. Setting `QB_MINOR_VERSION` is optional; it defaults to 70.

## Requirements
- Needs: Node.js (commands run via npx)
- Environment variables: `QB_ACCESS_TOKEN`, `QB_REALM_ID`, `QB_ENV`, `QB_MINOR_VERSION` — 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 QB_ACCESS_TOKEN=<QB_ACCESS_TOKEN> --env QB_REALM_ID=<QB_REALM_ID> --env QB_ENV=<QB_ENV> --env QB_MINOR_VERSION=<QB_MINOR_VERSION> --transport stdio quickbooks -- npx -y @codespar/mcp-quickbooks
```
Replace <…> with your own values

### Codex

**Platform CLI**
```bash
codex mcp add quickbooks --env QB_ACCESS_TOKEN=<QB_ACCESS_TOKEN> --env QB_REALM_ID=<QB_REALM_ID> --env QB_ENV=<QB_ENV> --env QB_MINOR_VERSION=<QB_MINOR_VERSION> -- npx -y @codespar/mcp-quickbooks
```
Replace <…> with your own values

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "quickbooks": {
            "command": "npx",
            "args": [
                "-y",
                "@codespar/mcp-quickbooks"
            ],
            "env": {
                "QB_ACCESS_TOKEN": "<QB_ACCESS_TOKEN>",
                "QB_REALM_ID": "<QB_REALM_ID>",
                "QB_ENV": "<QB_ENV>",
                "QB_MINOR_VERSION": "<QB_MINOR_VERSION>"
            }
        }
    }
}
```
Replace <…> with your own values

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "quickbooks": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@codespar/mcp-quickbooks"
            ],
            "env": {
                "QB_ACCESS_TOKEN": "<QB_ACCESS_TOKEN>",
                "QB_REALM_ID": "<QB_REALM_ID>",
                "QB_ENV": "<QB_ENV>",
                "QB_MINOR_VERSION": "<QB_MINOR_VERSION>"
            }
        }
    }
}
```
Replace <…> with your own values

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add -e QB_ACCESS_TOKEN=<QB_ACCESS_TOKEN> -e QB_REALM_ID=<QB_REALM_ID> -e QB_ENV=<QB_ENV> -e QB_MINOR_VERSION=<QB_MINOR_VERSION> quickbooks npx -y @codespar/mcp-quickbooks
```
Replace <…> with your own values

## When to use it
- add a customer to QuickBooks without leaving the chat
- raise an invoice and email it to the buyer
- record a payment against one or more open invoices
- check the chart of accounts before running a report
- pull a P&L for a date range without opening the web UI

## Example prompts
- List the active customers in QuickBooks with `list_customers` and show 50 of them
- Create an invoice for this customer and send it by email
- Run the profit and loss report for last quarter

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

From the same set: [codespar/mcp-dev-latam](https://affpapa.org/en/nevibecode/by/codespar/mcp-dev-latam.md) — 124 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
