QuickBooks Online

io.github.mindstone由 GitHub 账号 mindstone 发布v0.4.3更新于 Oct 24, 2026

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

已验证STDIO仅桌面金融商业与电商

概览

AI 生成的概览

本地 MCP 服务器,让助手读写 QuickBooks Online 的客户、供应商、发票、账单、报价、员工、科目和财务报表

可以做什么
用 QuickBooks 查询语言查询并获取单个实体,运行利润表、资产负债表、现金流量表、应收账龄和应付账龄等财务报告。列出、创建和更新客户与供应商,包括将其停用。列出、创建和更新发票,把发票邮件发送给客户,并将发票下载为 PDF。列出和创建报价与账单,列出员工和会计科目表。在助手内配置 QuickBooks Online 的 OAuth 凭据。
适用场景
适合让助手直接处理公司的 QuickBooks Online 账务:拉取报表、查询客户或发票、起草并发送发票,或在不打开 QuickBooks 网页界面的情况下登记账单和报价。
运行要求
通过 npx 在本地运行,需要 Node.js 20+ 和 npm。需要 Intuit 开发者应用,以及环境变量 QUICKBOOKS_CLIENT_ID、QUICKBOOKS_CLIENT_SECRET、QUICKBOOKS_REFRESH_TOKEN 和 QUICKBOOKS_REALM_ID;QUICKBOOKS_ENVIRONMENT 选择 sandbox 或 production,默认 production。需要访问 QuickBooks API 的网络连接。
安装前请注意
写入类工具默认启用且没有开关限制,创建、更新、停用记录和发送邮件都依赖宿主的工具审批机制。发送发票邮件会联系真实客户。环境默认是 production,测试时应设为 sandbox。需要客户端密钥和 OAuth 刷新令牌,可访问公司财务数据。来自 QuickBooks 的文本会被标记为不可信内容。

安装

在 SourceWeft 中

  1. 打开 控制台中的 QuickBooks Online,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

@mindstone/mcp-server-quickbooks

[npm version] [License: FSL-1.1-MIT]

QuickBooks Online MCP server for Model Context Protocol hosts. Manage invoices, bills, customers, vendors, employees, and accounts in QuickBooks Online through a standardised MCP interface.

Status

Production writes are enabled by default

Every QuickBooks-mutating tool (create_quickbooks_invoice, create_quickbooks_bill, create_quickbooks_customer, create_quickbooks_vendor, create_quickbooks_estimate, send_quickbooks_invoice_email, update_quickbooks_invoice, update_quickbooks_customer, update_quickbooks_vendor) executes its write without any opt-in: capability is enabled by default and the host's tool-approval layer is the gate. Read-only tools (list_*, get_*, query_*, download_*, configure_quickbooks) are unaffected.

Versions 0.3.0–0.4.0 gated these writes behind a QB_ALLOW_PROD_WRITES=1 environment variable. That gate has been removed; the variable is no longer read and can be deleted from host configurations.

Requirements

  • Node.js 20+
  • npm

One-click install

[Add to Cursor] [Add to VS Code] [Add to VS Code Insiders]

After clicking the button, your host will prompt you to fill: QUICKBOOKS_CLIENT_ID, QUICKBOOKS_CLIENT_SECRET, QUICKBOOKS_REFRESH_TOKEN, QUICKBOOKS_REALM_ID, QUICKBOOKS_ENVIRONMENT.

Manual config for Claude Desktop / Claude Code / Goose / Continue.dev (QuickBooks Online)
json
{  "mcpServers": {    "QuickBooks Online": {      "command": "npx",      "args": [        "-y",        "@mindstone/mcp-server-quickbooks"      ],      "env": {        "QUICKBOOKS_CLIENT_ID": "",        "QUICKBOOKS_CLIENT_SECRET": "",        "QUICKBOOKS_REFRESH_TOKEN": "",        "QUICKBOOKS_REALM_ID": "",        "QUICKBOOKS_ENVIRONMENT": "production"      }    }  }}

Quick Start

Install & build

bash
cd <path-to-repo>/connectors/quickbooksnpm installnpm run build

npx (once published)

bash
npx -y @mindstone/mcp-server-quickbooks

Local

bash
node dist/index.js

Configuration

Environment variables

  • QUICKBOOKS_CLIENT_ID — Intuit Developer app client ID
  • QUICKBOOKS_CLIENT_SECRET — Intuit Developer app client secret
  • QUICKBOOKS_REFRESH_TOKEN — OAuth 2.0 refresh token
  • QUICKBOOKS_REALM_ID — QuickBooks company (realm) ID
  • QUICKBOOKS_ENVIRONMENT — sandbox or production (default: production)
  • MCP_HOST_BRIDGE_STATE — optional path to a host bridge state file used for credential management
  • MINDSTONE_REBEL_BRIDGE_STATE — backwards-compatible alias for MCP_HOST_BRIDGE_STATE

Host configuration examples

Claude Desktop / Cursor

json
{  "mcpServers": {    "QuickBooks": {      "command": "npx",      "args": ["-y", "@mindstone/mcp-server-quickbooks"],      "env": {        "QUICKBOOKS_CLIENT_ID": "your-client-id",        "QUICKBOOKS_CLIENT_SECRET": "your-client-secret",        "QUICKBOOKS_REFRESH_TOKEN": "your-refresh-token",        "QUICKBOOKS_REALM_ID": "your-realm-id"      }    }  }}

Local development (no npm publish needed)

json
{  "mcpServers": {    "QuickBooks": {      "command": "node",      "args": ["<path-to-repo>/connectors/quickbooks/dist/index.js"],      "env": {        "QUICKBOOKS_CLIENT_ID": "your-client-id",        "QUICKBOOKS_CLIENT_SECRET": "your-client-secret",        "QUICKBOOKS_REFRESH_TOKEN": "your-refresh-token",        "QUICKBOOKS_REALM_ID": "your-realm-id"      }    }  }}

Tools (21)

Configuration

  • configure_quickbooks — Configure QuickBooks Online OAuth credentials

Query

  • query_quickbooks — Run a QuickBooks query using QuickBooks Query Language
  • get_quickbooks_entity — Get a single entity by type and ID

Reports

  • get_quickbooks_report — Run a financial report (ProfitAndLoss, BalanceSheet, CashFlow, AgedReceivables, AgedPayables)

Customers

  • list_quickbooks_customers — List customers
  • create_quickbooks_customer — Create a new customer
  • update_quickbooks_customer — Sparse-update a customer (deactivate with active: false)

Vendors

  • list_quickbooks_vendors — List vendors
  • create_quickbooks_vendor — Create a new vendor
  • update_quickbooks_vendor — Sparse-update a vendor (deactivate with active: false)

Invoices

  • list_quickbooks_invoices — List invoices
  • create_quickbooks_invoice — Create a new invoice
  • update_quickbooks_invoice — Sparse-update invoice header fields (dueDate, memo, privateNote)
  • send_quickbooks_invoice_email — Email an invoice to its customer
  • download_quickbooks_invoice_pdf — Download an invoice as a PDF (saved to the system temp directory)

Estimates

  • list_quickbooks_estimates — List estimates (quotes)
  • create_quickbooks_estimate — Create a new estimate

Bills

  • list_quickbooks_bills — List bills (accounts payable)
  • create_quickbooks_bill — Create a new bill

Employees

  • list_quickbooks_employees — List employees

Accounts

  • list_quickbooks_accounts — List chart of accounts

Untrusted content envelopes

Text authored inside QuickBooks (customer/vendor display names, memos, line descriptions, report cells) is attacker-influenceable, so the connector wraps it in <untrusted-content source="quickbooks:…"> envelopes before returning it to the model. Typed entity payloads are sanitized deny-by-default: every string is enveloped — including strings inside arrays, which have no key context — unless its key is a narrow structural predicate (IDs, SyncToken, dates/timestamps, enums) and its value passes a shape guard. query_quickbooks, get_quickbooks_entity, and reports envelope every string key and value wholesale. Structural values such as Id, SyncToken, dates, and amounts are left untouched so they stay usable as inputs to follow-up calls.

Licence

FSL-1.1-MIT — Functional Source License, Version 1.1, with MIT future licence. The software converts to MIT licence on 2030-04-08.

来源:connectors/quickbooks/README.md,提交 0396f0b

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.4.3最新Oct 14, 2026
  2. v0.4.2Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。