mcpField
M
mcp-quickbooks

mcp-quickbooks

Local
github.com/codesparFinance275Updated 4w ago

About mcp-quickbooks

mcp-quickbooks is an MCP server for QuickBooks Online by Intuit, an accounting platform widely used in the US and UK. It targets LatAm companies that invoice international customers or belong to US parent companies and need their books in QuickBooks.

Key features

  1. 01Customer, invoice and payment create and query
  2. 02Product and service item management
  3. 03Bill and vendor management
  4. 04Chart of accounts querying with SQL-like syntax
  5. 05Profit and Loss report generation

Use cases

  1. 01Issuing invoices to international customers and recording payments
  2. 02Querying the chart of accounts and P&L from an agent workflow
  3. 03Managing accounts payable bills for a US parent company subsidiary

MCP support

This project is an MCP server that exposes 22 tools to MCP clients, covering customers, invoices, payments, items, bills, vendors, estimates, accounts and the P&L report.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"codespar-mcp-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>"
}
}
}
}
Run commandnpx -y @codespar/mcp-quickbooks
Environment variables to set
QB_ACCESS_TOKENSecretQuickBooks OAuth2 bearer access token. Expires in 1hr — caller is responsible for refresh via Intuit's OAuth2 auth_code flow.
QB_REALM_IDQuickBooks company id (realmId). Issued when a user authorizes your app against a specific company.
QB_ENVQuickBooks environment: 'sandbox' (default) or 'production'. Selects sandbox-quickbooks.api.intuit.com vs quickbooks.api.intuit.com.
QB_MINOR_VERSIONQuickBooks API minor version. Defaults to 70.

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@codespar/mcp-quickbooks0.2.2

Tools

22

Saved tool list · updated 2w ago

ParameterTypeRequiredDescription
BillAddrobjectNoBilling address
BillAddr.CitystringNo
BillAddr.Line1stringNo
BillAddr.CountrystringNo
BillAddr.PostalCodestringNo
BillAddr.CountrySubDivisionCodestringNoState/province code
GivenNamestringNo
FamilyNamestringNo
CompanyNamestringNo
DisplayNamestringYesUnique display name
PrimaryPhoneobjectNo
PrimaryPhone.FreeFormNumberstringNo
PrimaryEmailAddrobjectNo
PrimaryEmailAddr.AddressstringNo

Details

From the project README

@codespar/mcp-quickbooks

MCP server for QuickBooks Online (Intuit) — the most-used accounting platform in the US and UK, and the global default for small-business ERP.

This is our global accounting anchor. While the catalog covers BR/LatAm ERPs (Omie, Conta Azul, Alegra, Bling, Tiny), LatAm SaaS companies that invoice international customers — or subsidiaries of US parent companies — almost universally keep their books in QuickBooks.

Tools (22)

ToolPurpose
create_customerCreate a customer in QuickBooks Online.
update_customerUpdate a customer.
get_customerRetrieve a customer by QuickBooks entity id.
list_customersQuery customers using QBO's SQL-like query language.
create_invoiceCreate an invoice.
update_invoiceUpdate an invoice.
void_invoiceVoid an invoice.
delete_invoiceDelete an invoice.
get_invoiceRetrieve an invoice by QuickBooks entity id.
send_invoiceEmail an invoice to the customer.
create_paymentRecord a customer payment against one or more invoices.
get_paymentRetrieve a payment by QuickBooks entity id.
create_itemCreate a product or service item.
list_itemsQuery items using QBO's SQL-like query language.
create_billCreate a bill (AP / money owed to a vendor).
list_billsQuery bills using QBO's SQL-like query language.
create_vendorCreate a vendor (supplier).
list_vendorsQuery vendors using QBO's SQL-like query language.
create_estimateCreate an estimate (quote).
create_sales_receiptCreate a sales receipt (paid-on-the-spot sale — combines invoice + payment).
list_accountsQuery the chart of accounts using QBO's SQL-like query language.
get_profit_and_loss_reportRun a Profit and Loss report for a date range.

Install

npm install @codespar/mcp-quickbooks

Environment

QB_ACCESS_TOKEN="..."   # OAuth2 bearer (expires in 1hr — caller refreshes)
QB_REALM_ID="..."       # company id, issued on authorization
QB_ENV="sandbox"        # or "production". Default: sandbox
QB_MINOR_VERSION="70"   # optional, default 70

Authentication

QuickBooks uses OAuth2 authorization_code flow. Access tokens live 1hr; refresh tokens 100 days. This server assumes a valid QB_ACCESS_TOKEN is already issued — token acquisition and refresh live outside the MCP scaffold (typically in your agent's credential manager).

Run

# stdio (default)
npx @codespar/mcp-quickbooks

# HTTP
MCP_HTTP=true MCP_PORT=3000 npx @codespar/mcp-quickbooks

Query language

QuickBooks list endpoints use a SQL-like syntax passed via ?query=. Examples:

SELECT * FROM Customer WHERE Active = true MAXRESULTS 50
SELECT * FROM Item WHERE Type = 'Service'
SELECT * FROM Account WHERE AccountType = 'Income'

Pass the full query string to list_customers, list_items, list_accounts.

Enterprise

Need governance, budget limits, and audit trails for agent payments? CodeSpar Enterprise adds policy engine, payment routing, and compliance templates on top of these MCP servers.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.