# @devwithmj/quickbooks-mcp

Source: https://glimind.com/server/npm%2F-devwithmj%2Fquickbooks-mcp
Registry id: `npm/-devwithmj/quickbooks-mcp`
Status: unknown

## Install

```json
{
  "mcpServers": {
    "devwithmj-quickbooks-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@devwithmj/quickbooks-mcp"
      ]
    }
  }
}
```

Claude Code:

```sh
claude mcp add devwithmj-quickbooks-mcp -- npx -y @devwithmj/quickbooks-mcp
```

## Tools (80)

- `AccountTaxLineTools`
- `ActivityTools`
- `ActivityWriteTools`
- `BarCodeTools`
- `BatchWriteTools`
- `BillToPayTools`
- `ChangeTools`
- `CompanyActivityTools`
- `CompanyTools`
- `ContractorTaxTools`
- `Create`: Create a time entry, a vehicle mileage record or a to-do. Use describe_write_fields to see the field names; set dryRun to preview the request without sending it
- `CreateDefinition`: Define a new custom field (data extension) and the kinds of record it applies to.
- `CreateRecords`: Create up to 50 records in one call, each {entity, data, idempotencyKey?}; failed items are reported and the rest continue unless stopOnError. Give each an idem
- `CustomFieldTools`
- `CustomFieldWriteTools`
- `Delete`: Delete a list item or a transaction (prefer void_transaction); QuickBooks may only make a list item inactive. The user is asked to approve; if the client cannot
- `DeleteDefinition`: Delete a custom field definition and every value in it. The user is asked to approve; If the client cannot ask the user, the first call returns a preview and a 
- `DeleteTools`
- `DeleteValue`: Remove a custom field's value from a record. The user is asked to approve; If the client cannot ask the user, the first call returns a preview and a confirmatio
- `DisplayTools`
- `EventSubscriptionTools`
- `EventSubscriptionWriteTools`
- `GetAccountTaxLines`: Get the income tax form lines that accounts can be assigned to, as set up in the company file.
- `GetAgedPayables`: Get the accounts payable aging (what the company owes vendors and how overdue it is), as a summary or detail table.
- `GetAgedReceivables`: Get the accounts receivable aging (who owes money and how overdue it is), as a summary or detail table.
- `GetAssembliesCanBuild`: Get how many units of an inventory assembly can be built from the components on hand.
- `GetBalanceSheet`: Get the balance sheet as of the end of a period.
- `GetBarCodes`: Look up bar codes and the items they belong to. Give bar code values, or none to list the bar codes in the company file.
- `GetBillsToPay`: Get the unpaid bills for one vendor, with the credits available to apply.
- `GetChangesSince`: Get records created or modified since a time, for several entity types at once, plus next_since to use on the next sync. Pair with get_deleted_records to catch 
- `GetCompany`: Get the company name, address and other details of the open QuickBooks company file.
- `GetCompanyActivity`: Get when the company file was last changed. Cheap to call, so use it to check whether anything changed before re-reading data.
- `GetContractorTaxMappings`: Get which accounts feed which boxes of the 1099 forms.
- `GetCustomFieldDefinitions`: List the custom fields (data extensions) defined in the company file and which kinds of record they apply to. To see their values, search with includeCustomFiel
- `GetDeletedRecords`: Get list items (customers, items...) or transactions deleted since a time. Voided transactions are not deletions; they show up as changes.
- `GetEventSubscriptions`: Get the data event, UI event or UI extension subscriptions (or pending data event recovery info) registered by one subscriber application.
- `GetGeneralLedger`: Get the general ledger (every posting by account) for a period. Can be large; filter by account.
- `GetHostInfo`: Get the QuickBooks product, version and the qbXML versions it supports.
- `GetItemSites`: Get quantities on hand, on order and on sales orders per item and inventory site. Filter by item type, or by one item and/or one site.
- `GetPaymentsToDeposit`: Get payments and sales receipts received but not yet deposited (Undeposited Funds).
- `GetPayrollLastPeriod`: Get the dates of the last payroll period that was run.
- `GetPayrollReport`: Get a payroll report: PayrollSummary, EmployeeEarningsSummary, PayrollLiabilityBalances, PayrollItemDetail, PayrollTransactionDetail, PayrollTransactionsByPayee
- `GetProfitAndLoss`: Get the profit and loss (income statement) for a period, optionally by month, class or job.
- `GetReport`: Get any other QuickBooks report by type, e.g. SalesByCustomerSummary, CustomerBalanceSummary, VendorBalanceSummary, ExpenseByVendorSummary, SalesByItemDetail, O
- `GetSalesTaxPayable`: Get the sales tax payable to each tax agency as of a date.
- `GetSalesTaxReturnLines`: Get the lines of the sales tax return for the given tax agencies. Needs a company file with the sales tax return feature.
- `GetTrialBalance`: Get the trial balance for a period.
- `HostTools`
- `InventoryTools`
- `InventoryWriteTools`
- `ItemTools`
- `ListWriteTools`
- `Merge`: Merge a list item into another of the same type; the first is deleted and its transactions move to the second; QuickBooks must be in single-user mode. The user 
- `MergeTools`
- `NameTools`
- `OpenInQuickBooks`: Open a record in the QuickBooks window for the user to look at; changes nothing, and QuickBooks must be open.
- `PaymentsToDepositTools`
- `PayrollPeriodTools`
- `PayrollTools`
- `PurchaseTools`
- `PurchaseWriteTools`
- `QueryRecords`: Search any QuickBooks entity (Customer, Invoice, Bill...) with filters; returns records and a next_cursor.
- `QueryTools`
- `ReportTools`
- `SalesTaxReturnTools`
- `SearchActivities`: Search time entries (TimeTracking), vehicle mileage (VehicleMileage) or to-dos (ToDo).
- `SearchCustomers`: Search customers and jobs by name. Jobs are customers whose FullName is Customer:Job.
- `SearchEmployees`: Search employees by name. Payroll fields are included only if the QuickBooks user may see them.
- `SearchInventorySites`: Search inventory sites (warehouses and locations) by name. Needs QuickBooks Enterprise with advanced inventory.
- `SearchInventoryTransactions`: Search inventory transactions of one type: InventoryAdjustment, TransferInventory or BuildAssembly.
- `SearchItems`: Search items by name, optionally of one type; inventory items include quantities on hand.
- `SearchNames`: Search customers, vendors, employees and other names at once by name. Use when you do not know which list a name is in.
- `SearchOtherNames`: Search other names (people paid who are not vendors or employees) or leads.
- `SearchPayrollItems`: Search payroll items: wage items (salary, hourly, overtime) or non-wage items (taxes, deductions, company contributions).
- `SearchPurchaseTransactions`: Search purchase and banking transactions of one type: Bill, BillPaymentCheck, BillPaymentCreditCard, PurchaseOrder, ItemReceipt, VendorCredit, Check, CreditCard
- `SearchTransactions`: Search transactions of all types at once by date, name or account. Returns summaries; use the typed search tools for full detail.
- `SearchVendors`: Search vendors by name.
- `Update`: Update a time entry, a vehicle mileage record or a to-do; only the fields you give change, and the EditSequence is fetched for you.
- `UpdateValue`: Set the value of a custom field on a record (adds it the first time, changes it afterwards).
- `Void`: Void a transaction; it stays in the books at zero. The user is asked to approve; If the client cannot ask the user, the first call returns a preview and a confi

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
