QuickBooks Online
NPM · @MINDSTONE/MCP-SERVER-QUICKBOOKS · SCANNED AUG 7
QuickBooks Online MCP server: invoices, bills, customers, vendors, employees, and accounts
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score →
Supply Chain Security98
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- No install/post-install scripts declared.Pass
- 30 of 96 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (FSL-1.1-MIT) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 80 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability72
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 1742 tokens (~134/item across 13 items; 13 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management37
- Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · @mindstone/mcp-server-quickbooks
claude mcp add mindstone-mcp-server-quickbooks -- npx -y @mindstone/mcp-server-quickbooks
codex mcp add mindstone-mcp-server-quickbooks -- npx -y @mindstone/mcp-server-quickbooks
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mindstone-mcp-server-quickbooks": {
"type": "local",
"command": [
"npx",
"-y",
"@mindstone/mcp-server-quickbooks"
],
"enabled": true
}
}
} openclaw mcp add mindstone-mcp-server-quickbooks --command npx --arg -y --arg @mindstone/mcp-server-quickbooks
mcp_servers:
mindstone-mcp-server-quickbooks:
command: "npx"
args: ["-y", "@mindstone/mcp-server-quickbooks"] {
"mcpServers": {
"mindstone-mcp-server-quickbooks": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-quickbooks"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 7 Aug 26 +4
- Known CVEs: partial → pass ▲ security
- Dependency health: partial → 0.85 functional
- 6 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.
- 5 Aug 26 +1
- CVE-2026-69207 no longer affects this package ▲ security
- Known CVEs: fail → partial ▲ security
- 4 Aug 26 +3
- CVE-2026-69207 affects this package: medium ▼ security
- Known CVEs: partial → fail ▼ security
- Stability: unverified → 0.27 ▲ functional
- 2 Aug 26 +42
- Provenance: unverified → fail ▼ security
- Malware scan: unverified → pass ▲ security
- Install scripts: unverified → pass ▲ security
- Known CVEs: unverified → partial ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- License: unverified → fail ▼ functional
- Maintenance: unverified → pass ▲ functional
- Schema quality: unverified → excellent ▲ functional
- Dependency health: unverified → partial ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Licence: FSL-1.1-MIT functional
- 1 Aug 26 +15
- Tool coverage: unverified → 100 ▲ functional
- 31 Jul 26 −1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 −39
- Malware scan: pass → unverified ▼ security
- Tool coverage: 100 → unverified ▼ functional
- First check of Schema quality: unverified functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 7 Aug 2026 · Analysed npm/@mindstone/[email protected]
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | npm |
Dependencies 96 packages
| Packages resolved | 96 |
|---|---|
| Stale | 30 |
| Tree resolution | Complete |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
configure_quickbooks ~253
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 errors - The Realm ID is NOT the same as the Client ID — it's your company identifier - Sandbox and Production use different credentials
| Name | Type | Req | Description |
|---|---|---|---|
| clientId | string | yes | Intuit Developer app Client ID |
| clientSecret | string | yes | Intuit Developer app Client Secret |
| environment | string | – | "sandbox" or "production" (default: production) |
| realmId | string | yes | QuickBooks company ID (Realm ID) |
| refreshToken | string | yes | OAuth2 refresh token from the authorization flow |
No output schema declared.
No examples provided.
create_quickbooks_bill ~145
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
| Name | Type | Req | Description |
|---|---|---|---|
| dueDate | string | – | Due date (YYYY-MM-DD) |
| lines | array | yes | Bill line items |
| memo | string | – | Memo / notes |
| vendorId | string | yes | Vendor ID (required) |
No output schema declared.
No examples provided.
create_quickbooks_customer ~111
Create a new customer in QuickBooks Online. Example: { "displayName": "Acme Corp" } Example: { "displayName": "Jane Smith", "email": "[email protected]", "phone": "555-1234" }
| Name | Type | Req | Description |
|---|---|---|---|
| companyName | string | – | Company name |
| displayName | string | yes | Customer display name (required, must be unique) |
| string | – | Primary email address | |
| phone | string | – | Primary phone number |
No output schema declared.
No examples provided.
create_quickbooks_invoice ~178
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
| Name | Type | Req | Description |
|---|---|---|---|
| customerId | string | yes | Customer ID (required) |
| dueDate | string | – | Due date (YYYY-MM-DD) |
| lines | array | yes | Invoice line items |
| memo | string | – | Customer memo / notes |
No output schema declared.
No examples provided.
create_quickbooks_vendor ~109
Create a new vendor in QuickBooks Online. Example: { "displayName": "Office Depot" } Example: { "displayName": "AWS", "email": "[email protected]", "companyName": "Amazon Web Services" }
| Name | Type | Req | Description |
|---|---|---|---|
| companyName | string | – | Company name |
| displayName | string | yes | Vendor display name (required, must be unique) |
| string | – | Primary email address | |
| phone | string | – | Primary phone number |
No output schema declared.
No examples provided.
get_quickbooks_entity ~92
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
| Name | Type | Req | Description |
|---|---|---|---|
| entityId | string | yes | Entity ID |
| entityType | string | yes | Entity type (PascalCase) |
No output schema declared.
No examples provided.
list_quickbooks_accounts ~152
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.
| Name | Type | Req | Description |
|---|---|---|---|
| accountType | string | – | Filter by account type (e.g., "Expense", "Income", "Bank") |
| active | boolean | – | Filter by active status |
| limit | number | – | Max results (default: 100) |
No output schema declared.
No examples provided.
list_quickbooks_bills ~85
List bills (accounts payable) from QuickBooks Online. Returns: Id, DocNumber, TxnDate, DueDate, Balance, TotalAmt, VendorRef. Example: {} Example: { "vendorId": "123" }
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results (default: 50) |
| vendorId | string | – | Filter by vendor ID |
No output schema declared.
No examples provided.
list_quickbooks_customers ~99
List customers from QuickBooks Online. Returns: Id, DisplayName, PrimaryEmailAddr, PrimaryPhone, Balance, Active. Example: {} Example: { "active": true } Example: { "searchTerm": "Smith" }
| Name | Type | Req | Description |
|---|---|---|---|
| active | boolean | – | Filter by active status |
| limit | number | – | Max results (default: 50) |
| searchTerm | string | – | Search by display name (partial match) |
No output schema declared.
No examples provided.
list_quickbooks_employees ~63
List employees from QuickBooks Online. Returns: Id, DisplayName, PrimaryEmailAddr, PrimaryPhone, Active. Example: {}
| Name | Type | Req | Description |
|---|---|---|---|
| active | boolean | – | Filter by active status |
| limit | number | – | Max results (default: 50) |
No output schema declared.
No examples provided.
list_quickbooks_invoices ~159
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
| Name | Type | Req | Description |
|---|---|---|---|
| customerId | string | – | Filter by customer ID |
| limit | number | – | Max results (default: 50) |
| status | string | – | Filter: "unpaid", "paid", or "overdue" |
No output schema declared.
No examples provided.
list_quickbooks_vendors ~91
List vendors from QuickBooks Online. Returns: Id, DisplayName, PrimaryEmailAddr, PrimaryPhone, Balance, Active. Example: {} Example: { "searchTerm": "Office" }
| Name | Type | Req | Description |
|---|---|---|---|
| active | boolean | – | Filter by active status |
| limit | number | – | Max results (default: 50) |
| searchTerm | string | – | Search by display name (partial match) |
No output schema declared.
No examples provided.
query_quickbooks ~205
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 for string/date values, not double quotes - LIKE operator uses % wildcard: DisplayName LIKE '%Smith%'
| Name | Type | Req | Description |
|---|---|---|---|
| limit | number | – | Max results (default: 100, max: 1000) |
| query | string | yes | QuickBooks Query Language statement |
No output schema declared.
No examples provided.