Laravel Quickbooks MCP Server

A first-party PHP/Laravel Composer package that exposes **QuickBooks Online (QBO)** as a **Model Context Protocol (MCP) server**. AI clients —

Remote serverstreamable-http

What is the Laravel Quickbooks MCP server?

A first-party PHP/Laravel Composer package that exposes QuickBooks Online (QBO) as a Model Context Protocol (MCP) server. AI clients — Claude, Cursor, n8n, and others — connect over HTTP and perform full CRUD operations on QBO. Exposed over MCP by the laravel quickbooks mcp server, that capability becomes something an assistant can invoke while it works, not something you go and do afterwards.

What it actually does

  • 50 MCP tools — covering 11 QBO entities (customers, vendors, invoices, bills, estimates, purchases, employees, items, accounts, journal entries, and bill payments)
  • Remote HTTP transport — — not local stdio, so it works with any hosted AI client
  • Multi-tenant — — multiple QBO companies per Laravel installation
  • Name-to-ID resolution — — agents pass human-readable names; ID lookups happen automatically
  • Full OAuth 2.0 flow — — any SaaS user can connect their own QBO company
  • Production-ready — from day one (sandbox also supported)

Its toolset

Everything the assistant can do here goes through one of these:

  • create_account — Create a new account in the chart of accounts
  • search_accounts — Search accounts by name or type
  • update_account — Update an existing account
  • create_bill — Create a new accounts payable bill
  • get_bill — Get a bill by ID
  • search_bills — Search bills by vendor, date range, or unpaid status
  • update_bill — Update an existing bill
  • delete_bill — Permanently delete a bill
  • create_bill_payment — Pay one or more open bills
  • get_bill_payment — Get a bill payment by ID
  • search_bill_payments — Search bill payments by vendor or date range
  • update_bill_payment — Update an existing bill payment

Adding it to your client

Being a remote server, there is no local install. You register the endpoint with your client, authorise it once, and the tools appear.

Configuration

You will need 3 environment variables: QUICKBOOKS_CLIENT_ID, QUICKBOOKS_CLIENT_SECRET, QBO_MCP_PATH. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.

| Requirement | Version | |---|---| | PHP | >= 8.2 | | Laravel | >= 11.x | | laravel/mcp | ^1.0 | | spinen/laravel-quickbooks-client | ^4.0 | Your host application must also have: - A users table with an id column (standard Laravel) - The HasQuickBooksToken trait from spinen/laravel-quickbooks-client on the User model - At least one configured auth guard that resolves

When to reach for it

Among the payments and commerce options, the useful question is rarely "what can it do" but "what does it cost you to run" — permissions, credentials, and how much of your context its toolset consumes. Laravel Quickbooks's toolset — create_account, search_accounts, update_account and 11 more — is a fair guide to whether it matches your workflow. It is maintained by rajurayhan; worth a glance at recent repository activity before you build anything load-bearing on it.

This entry was verified against Laravel Quickbooks's own documentation before publication; SyncDev keeps the directory reviewed rather than auto-generated.

Caveats

  • Your data travels to the provider's service, so the usual questions apply about what you send and what they retain.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Laravel Quickbooks.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • MCP clients confirm each tool call by default. Leave that on until you have watched what the laravel quickbooks mcp server does with a few real requests.

Available tools

ToolWhat it does
create_accountCreate a new account in the chart of accounts
search_accountsSearch accounts by name or type
update_accountUpdate an existing account
create_billCreate a new accounts payable bill
get_billGet a bill by ID
search_billsSearch bills by vendor, date range, or unpaid status
update_billUpdate an existing bill
delete_billPermanently delete a bill
create_bill_paymentPay one or more open bills
get_bill_paymentGet a bill payment by ID
search_bill_paymentsSearch bill payments by vendor or date range
update_bill_paymentUpdate an existing bill payment
delete_bill_paymentPermanently delete a bill payment
create_customerCreate a new customer

Configuration

| Requirement | Version | |---|---| | PHP | >= 8.2 | | Laravel | >= 11.x | | laravel/mcp | ^1.0 | | spinen/laravel-quickbooks-client | ^4.0 | Your host application must also have: - A users table with an id column (standard Laravel) - The HasQuickBooksToken trait from spinen/laravel-quickbooks-client on the User model - At least one configured auth guard that resolves

VariableDescriptionRequired
QUICKBOOKS_CLIENT_IDConfiguration value read at startup.Optional
QUICKBOOKS_CLIENT_SECRETCredential the server authenticates with.Yes
QBO_MCP_PATHFilesystem location the server is allowed to use.Optional

Example prompts to try

  • Use Laravel Quickbooks to create account.
  • Use Laravel Quickbooks to search accounts.
  • Use Laravel Quickbooks to update account.

Frequently asked questions

It connects Laravel Quickbooks to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (create_account, search_accounts, update_account, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Laravel Quickbooks directly.