Skip to main content
Glama
wyre-technology

QuickBooks Online MCP Server

QuickBooks Online MCP Server

Model Context Protocol (MCP) server for the QuickBooks Online Accounting API. Enables Claude and other MCP-compatible clients to manage QBO customers, invoices, expenses, payments, and reports.

Quick Start

Prerequisites

  • Node.js >= 20

  • QuickBooks Online OAuth2 app credentials (requires an Intuit developer account)

Install and Build

npm install npm run build

Run (stdio mode)

QBO_ACCESS_TOKEN=your-access-token QBO_REALM_ID=your-realm-id npm start

Run (HTTP mode)

MCP_TRANSPORT=http QBO_ACCESS_TOKEN=your-access-token QBO_REALM_ID=your-realm-id npm start

The server listens on http://0.0.0.0:8080/mcp by default.

Docker

docker build -t qbo-mcp . docker run -p 8080:8080 \ -e MCP_TRANSPORT=http \ -e QBO_ACCESS_TOKEN=your-access-token \ -e QBO_REALM_ID=your-realm-id \ qbo-mcp

Environment Variables

Variable

Required

Default

Description

QBO_ACCESS_TOKEN

Yes (env mode)

QuickBooks Online OAuth2 access token

QBO_REALM_ID

Yes (env mode)

QuickBooks Online company (realm) ID

MCP_TRANSPORT

No

stdio

Transport type: stdio or http

MCP_HTTP_PORT

No

8080

HTTP server port

MCP_HTTP_HOST

No

0.0.0.0

HTTP server bind address

AUTH_MODE

No

env

Auth mode: env or gateway

Gateway Mode

When AUTH_MODE=gateway, credentials are passed per-request via HTTP headers instead of environment variables:

  • X-Qbo-Access-Token — OAuth2 access token

  • X-Qbo-Realm-Id — QuickBooks Online company (realm) ID

This allows a gateway/proxy to manage multi-tenant credentials.

Available Tools

Tools are organized into domains. Use qbo_navigate to select a domain, then use the domain-specific tools.

Navigation

  • qbo_navigate — Select a domain (customers, invoices, expenses, payments, reports)

  • qbo_back — Return to domain selection

Customers

  • qbo_customers_list — List customers

  • qbo_customers_get — Get customer by ID

  • qbo_customers_create — Create a new customer

  • qbo_customers_search — Search customers by name or other criteria

Invoices

  • qbo_invoices_list — List invoices

  • qbo_invoices_get — Get invoice by ID

  • qbo_invoices_create — Create a new invoice

  • qbo_invoices_send — Send an invoice via email

Expenses

  • qbo_expenses_list_purchases — List purchase transactions

  • qbo_expenses_list_bills — List bills

  • qbo_expenses_get_purchase — Get purchase by ID

  • qbo_expenses_get_bill — Get bill by ID

Payments

  • qbo_payments_list — List payments

  • qbo_payments_get — Get payment by ID

  • qbo_payments_create — Create a new payment

Reports

  • qbo_reports_profit_and_loss — Generate Profit and Loss report

  • qbo_reports_balance_sheet — Generate Balance Sheet report

  • qbo_reports_aged_receivables — Generate Aged Receivables report

  • qbo_reports_aged_payables — Generate Aged Payables report

  • qbo_reports_customer_sales — Generate Customer Sales report

License

Apache-2.0

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wyre-technology/qbo-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server