QuickBooks Online MCP Server

QuickBooks Online MCP server for Claude Desktop and any MCP client, written in Python on the official MCP SDK (FastMCP). It exposes 18 tools over invoices, customers, and payments (create, read…

Local serverstdio

What is the QuickBooks Online MCP Server?

mcp-quickbooks is an MCP project maintained in the amin-ale/mcp-quickbooks repository. The maintainer describes its purpose as “QuickBooks Online MCP server for Claude Desktop and any MCP client, written in Python on the official MCP SDK (FastMCP). It exposes 18 tools over…”. Read the project documentation for the complete scope.

Local setup

The project provides a local client configuration using mcp-quickbooks. Follow the repository’s build and installation steps before copying it, and replace example paths with the paths on your own computer.

Configuration values

The example declares QBO_ENVIRONMENT. Secret-looking values have been replaced with placeholders. Required and optional labels are shown only when the documentation states them.

Source

Project documentation · Repository · Discovery listing. This profile records the public documentation checked on 2026-10-08.

Recorded tools

Check the linked publisher documentation and your connected client's tool list. Names and availability can vary with the server version and account permissions.

ToolWhat it does
create_customerCreate a customer. The display name must be unique; QuickBooks rejects duplicates with error 6240.
get_customerRead one customer by Id, including balance, contact details, and the current SyncToken.
update_customerSparse update of an existing customer. Needs the Id and a fresh SyncToken.
delete_customerDeactivate a customer (QuickBooks has no hard delete for customers), preserving history.
list_customersList customers, most recently updated first, with caller-driven pagination.
search_customersFind customers by display-name prefix, exact email, or active flag.
create_invoiceCreate an invoice for an existing customer with one or more line items.
get_invoiceRead one invoice by Id, including lines, totals, balance, and the current SyncToken.
update_invoiceReplace an invoice. Lines are replaced wholesale, so send every line it should end with.
delete_invoiceDelete an invoice permanently. Needs the Id and a fresh SyncToken.
list_invoicesList invoices, most recent transaction date first, with caller-driven pagination.
search_invoicesFind invoices by customer Id, transaction-date range, or document number.
create_paymentRecord a payment received, optionally applied against a specific invoice.
get_paymentRead one payment by Id, including linked transactions and the current SyncToken.
update_paymentReplace a payment. Dropping the invoice link reopens that invoice's balance.
delete_paymentDelete a payment permanently. Any invoice it settled goes back to unpaid.
list_paymentsList payments, most recent transaction date first, with caller-driven pagination.
search_paymentsFind payments by customer Id or transaction-date range.

How to install the QuickBooks Online MCP Server

{
  "mcpServers": {
    "quickbooks": {
      "command": "mcp-quickbooks",
      "args": [
        "stdio"
      ],
      "env": {
        "QBO_ENVIRONMENT": "sandbox"
      }
    }
  }
}

From the project documentation. Replace placeholders and example paths before connecting.

Configuration

VariableDescriptionRequired
QBO_ENVIRONMENTDeclared in the maintainer’s client configuration.Check documentation