Yes. Intuit publishes an open-source QuickBooks Online MCP server (github.com/intuit/quickbooks-online-mcp-server) that gives an AI agent 144 tools across 29 QuickBooks Online Accounting entities and 11 financial reports, with read and write access over OAuth 2.0. It is an Accounting-API surface run locally, so it has no payroll-detail tools.
What it can do. Give an AI agent OAuth-scoped read and write access to QuickBooks Online Accounting data (144 tools over 29 entities and 11 reports) to query financials and perform bookkeeping such as creating invoices, recording payments and posting journal entries.
Where it stops. Reach payroll detail or run payroll, because it ships no payroll tools, its Employee entity is a name record, and it is a local OAuth-gated developer tool rather than a hosted Intuit service.
Yes. intuit/quickbooks-online-mcp-server is an open-source (Apache-2.0) Model Context Protocol server that, per its README, gives AI assistants a standard tool interface to a QuickBooks Online company. It runs locally as a stdio subprocess and authenticates with OAuth 2.0 using an app you register on the Intuit Developer Portal (client id, client secret, refresh token and realm id). There are no per-user API keys, so even read-only use of your own books requires that app registration and a one-time OAuth handshake.
The README documents 144 tools with full create, read, update, delete and search coverage across 29 Accounting entities and 11 financial reports. Entities include Invoice, Bill, Customer, Vendor, Account, Item, Payment, Journal Entry, Time Activity and an Employee name record; reports include get_profit_and_loss, get_balance_sheet, get_general_ledger and get_trial_balance. Write access is enabled by default, and the server can be locked down with environment flags (QUICKBOOKS_DISABLE_WRITE, QUICKBOOKS_DISABLE_UPDATE, QUICKBOOKS_DISABLE_DELETE) so that read tools (get_*, search_*) stay available while create, update and delete tools are suppressed.
End to end, an agent can both answer questions and take bookkeeping actions against live data: pull a Profit and Loss or General Ledger for a period, search open invoices and aged receivables, create or update invoices, bills and customers, record payments, post journal entries, and export an invoice PDF. Because these are real writes on production books, running against a sandbox company and setting the disable flags are the recommended guardrails.
On payroll specifically, the server has no payroll tools. Its Employee entity is the Accounting name record, not a payroll object, and there are no compensation, paycheck or withholding tools in the codebase. The closest an agent gets to payroll is reading or posting the summary payroll Journal Entry and reading Time Activities, plus seeing payroll expense inside the financial reports. Employee-level pay detail is out of scope because the underlying Accounting API Employee entity does not expose it.
Hard limits worth flagging for finance leaders: this is a local developer tool, not a hosted Intuit service, so someone has to run and secure the process and its refresh token (which the README notes lapses after roughly 100 days of inactivity); it can only reach what the Accounting API allows, so no payroll detail and nothing beyond accounting and payments per the scopes catalog; and it acts on whatever company the OAuth token points to, so write access should be governed.