Skip to content
Agentmart
Submit a tool

QuickBooks Online

QuickBooks Online MCP server: invoices, bills, customers, vendors, employees, and accounts

Connector by mindstone · GitHub account verified by the MCP Registry

IndexedLicense unknownLocal (stdio)★ 13
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/mindstone-mcp-server-quickbooks

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

QuickBooks Online MCP server: invoices, bills, customers, vendors, employees, and accounts

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
11 read · 1 write · 9 delete
Secrets
2 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Node.js package

Tools by what they do 21

Read from the source code; the running server may list different tools.

Read 11 · Look things up without changing anything.

  • download_quickbooks_invoice_pdf
  • get_quickbooks_entity
  • get_quickbooks_report
  • list_quickbooks_accounts
  • list_quickbooks_bills
  • list_quickbooks_customers
  • list_quickbooks_employees
  • list_quickbooks_estimates
  • list_quickbooks_invoices
  • list_quickbooks_vendors
  • query_quickbooks

Write 1 · Create, change, send or run things.

  • configure_quickbooks

Delete 9 · Delete, drop, revoke or wipe things.

  • create_quickbooks_bill
  • create_quickbooks_customer
  • create_quickbooks_estimate
  • create_quickbooks_invoice
  • create_quickbooks_vendor
  • send_quickbooks_invoice_email
  • update_quickbooks_customer
  • update_quickbooks_invoice
  • update_quickbooks_vendor

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • QUICKBOOKS_CLIENT_SECRET
  • QUICKBOOKS_REFRESH_TOKEN

Other settings (environment variables or headers).

  • MCP_HOST_BRIDGE_STATE
  • MINDSTONE_REBEL_BRIDGE_STATE
  • QUICKBOOKS_CLIENT_ID
  • QUICKBOOKS_ENVIRONMENT
  • QUICKBOOKS_REALM_ID

Tools (21)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • configure_quickbooks

    Configure QuickBooks Online credentials. Call this when the user provides their Intuit Developer app credentials. WORKFLOW: 1. Go to https://developer.intuit.com/ and create an app (or use existing) 2. Get the Client ID and Client Secret from the app's Keys & credentials page 3. Add http://localhost:8000/callback as a Redirect URI 4. Use the OAuth Playground or your app's auth flow to obtain a Refresh Token 5. Find your Company ID (Realm ID) in the URL when logged into QuickBooks Online COMMON MISTAKES: - Refresh tokens expire after 100 days of inactivity — re-authenticate if you get auth er…

  • create_quickbooks_billcan change or delete data

    Create a new bill (accounts payable) in QuickBooks Online. Example: { "vendorId": "123", "lines": [{ "description": "Office supplies", "amount": 250, "accountId": "456" }] } WORKFLOW: 1. Use list_quickbooks_vendors to find the vendor ID 2. Use list_quickbooks_accounts to find expense account IDs 3. Create with line items

  • create_quickbooks_customercan change or delete data

    Create a new customer in QuickBooks Online. Example: { "displayName": "Acme Corp" } Example: { "displayName": "Jane Smith", "email": "jane@smith.com", "phone": "555-1234" }

  • create_quickbooks_estimatecan change or delete data

    Create a new estimate (quote) in QuickBooks Online. Example: { "customerId": "123", "lines": [{ "description": "Consulting services", "amount": 1500 }] } WORKFLOW: 1. Use list_quickbooks_customers to find the customer ID 2. Create with line items (description + amount required) 3. Optionally set expirationDate and memo COMMON MISTAKES: - customerId is required (use list_quickbooks_customers to find it) - Each line needs at least description and amount - Dates use YYYY-MM-DD format

  • create_quickbooks_invoicecan change or delete data

    Create a new invoice in QuickBooks Online. Example: { "customerId": "123", "lines": [{ "description": "Consulting services", "amount": 1500 }] } WORKFLOW: 1. Use list_quickbooks_customers to find the customer ID 2. Create with line items (description + amount required) 3. Optionally set dueDate and memo COMMON MISTAKES: - customerId is required (use list_quickbooks_customers to find it) - Each line needs at least description and amount - Dates use YYYY-MM-DD format

  • create_quickbooks_vendorcan change or delete data

    Create a new vendor in QuickBooks Online. Example: { "displayName": "Office Depot" } Example: { "displayName": "AWS", "email": "billing@aws.amazon.com", "companyName": "Amazon Web Services" }

  • download_quickbooks_invoice_pdfread-only

    Download an invoice as a PDF file from QuickBooks Online. Returns the local file path where the PDF has been saved (system temp directory). Example: { "invoiceId": "123" } WORKFLOW: 1. Use list_quickbooks_invoices to find the invoice ID 2. Download the PDF, then attach or share the saved file

  • get_quickbooks_entityread-only

    Get a single QuickBooks entity by type and ID. Example: { "entityType": "Invoice", "entityId": "123" } Supported entity types: Account, Bill, BillPayment, Customer, Employee, Estimate, Invoice, Item, JournalEntry, Purchase, Vendor

  • get_quickbooks_reportread-only

    Run a financial report from QuickBooks Online. Reports available: ProfitAndLoss, BalanceSheet, CashFlow, AgedReceivables, AgedPayables. Example: { "report": "ProfitAndLoss", "startDate": "2026-01-01", "endDate": "2026-03-31" } Example: { "report": "AgedReceivables", "asOfDate": "2026-03-31" } WORKFLOW: 1. ProfitAndLoss / BalanceSheet / CashFlow cover a date range (startDate + endDate) 2. AgedReceivables / AgedPayables are as-of a single date (asOfDate) 3. Dates use YYYY-MM-DD format; omitted dates use the QuickBooks default period

  • list_quickbooks_accountsread-only

    List chart of accounts from QuickBooks Online. Returns: Id, Name, AccountType, AccountSubType, CurrentBalance, Active. Example: {} Example: { "accountType": "Expense" } Account types: Bank, Accounts Receivable, Other Current Asset, Fixed Asset, Other Asset, Accounts Payable, Credit Card, Other Current Liability, Long Term Liability, Equity, Income, Cost of Goods Sold, Expense, Other Income, Other Expense.

  • list_quickbooks_billsread-only

    List bills (accounts payable) from QuickBooks Online. Returns: Id, DocNumber, TxnDate, DueDate, Balance, TotalAmt, VendorRef. Example: {} Example: { "vendorId": "123" }

  • list_quickbooks_customersread-only

    List customers from QuickBooks Online. Returns: Id, DisplayName, PrimaryEmailAddr, PrimaryPhone, Balance, Active. Example: {} Example: { "active": true } Example: { "searchTerm": "Smith" }

  • list_quickbooks_employeesread-only

    List employees from QuickBooks Online. Returns: Id, DisplayName, PrimaryEmailAddr, PrimaryPhone, Active. Example: {}

  • list_quickbooks_estimatesread-only

    List estimates (quotes) from QuickBooks Online. Returns: Id, DocNumber, TxnDate, ExpirationDate, TotalAmt, TxnStatus, CustomerRef, Line items. Example: {} Example: { "status": "Pending" } Example: { "customerId": "123" } WORKFLOW: 1. Call with no args to see recent estimates 2. Filter by status (Pending/Accepted/Closed/Rejected) or customer 3. Use get_quickbooks_entity with entityType "Estimate" for full details

  • list_quickbooks_invoicesread-only

    List invoices from QuickBooks Online. Returns: Id, DocNumber, TxnDate, DueDate, Balance, TotalAmt, CustomerRef, Line items. Example: {} Example: { "status": "unpaid" } Example: { "customerId": "123" } WORKFLOW: 1. Call with no args to see recent invoices 2. Filter by status (unpaid/paid/overdue) or customer 3. Use get_quickbooks_entity for full invoice details

Show 6 more tools
  • list_quickbooks_vendorsread-only

    List vendors from QuickBooks Online. Returns: Id, DisplayName, PrimaryEmailAddr, PrimaryPhone, Balance, Active. Example: {} Example: { "searchTerm": "Office" }

  • query_quickbooksread-only

    Run a QuickBooks query using the QuickBooks Query Language. Returns matching entities. QuickBooks uses a SQL-like query language. Example: { "query": "SELECT * FROM Invoice WHERE Balance > '0' ORDERBY DueDate" } Example: { "query": "SELECT * FROM Customer WHERE Active = true" } WORKFLOW: 1. Use this for flexible searches across any entity type 2. Entity names are PascalCase: Invoice, Customer, Vendor, Bill, Employee, etc. 3. String values use single quotes, dates use 'YYYY-MM-DD' format COMMON MISTAKES: - Entity names are case-sensitive PascalCase (Invoice, not invoice) - Use single quotes…

  • send_quickbooks_invoice_emailcan change or delete data

    Email an invoice to its customer via QuickBooks Online. Example: { "invoiceId": "123" } Example: { "invoiceId": "123", "sendTo": "billing@example.com" } WORKFLOW: 1. Use list_quickbooks_invoices to find the invoice ID 2. Send to the invoice's billing email, or override with sendTo Note: this emails a real customer.

  • update_quickbooks_customercan change or delete data

    Sparse-update an existing customer in QuickBooks Online. Example: { "customerId": "123", "email": "ap@example.com" } Example: { "customerId": "123", "active": false } If syncToken is omitted the customer is read first to obtain the current one (QuickBooks rejects stale SyncTokens). Setting active to false deactivates the customer.

  • update_quickbooks_invoicecan change or delete data

    Sparse-update an existing invoice in QuickBooks Online (header fields only — line items cannot be sparse-updated). Example: { "invoiceId": "123", "dueDate": "2026-04-01" } Example: { "invoiceId": "123", "memo": "Net 30", "privateNote": "Chased 2026-03-01" } If syncToken is omitted the invoice is read first to obtain the current one (QuickBooks rejects stale SyncTokens).

  • update_quickbooks_vendorcan change or delete data

    Sparse-update an existing vendor in QuickBooks Online. Example: { "vendorId": "123", "email": "ap@example.com" } Example: { "vendorId": "123", "active": false } If syncToken is omitted the vendor is read first to obtain the current one (QuickBooks rejects stale SyncTokens). Setting active to false deactivates the vendor.

Signals

Stars
13
Forks
4
Open issues
1
Weekly downloads
26
Last commit (this folder)
Oct 20, 2026 (8 days ago)
Last release
Oct 13, 2026 (15 days ago)
Last package publish
Oct 13, 2026 (15 days ago)

From GitHub (fetched Oct 24, 2026) and the package registry.

Details

Registry name
io.github.mindstone/mcp-server-quickbooks
Version
0.4.3
Auth
API key
License
License unknown
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from mindstone

Cite this page

QuickBooks Online MCP server. Agent Mart. https://agentmart.dev/connectors/mindstone-mcp-server-quickbooks (last updated 2026-10-24)