Skip to main content
Glama
rjpaganini

quickbooks-mcp-server

by rjpaganini

quickbooks-mcp-server

一个单文件的 MCP 服务器,为 Claude 提供 QuickBooks Online 的完整读写权限,并附带对账工具,能发现人工逐行翻账簿时发现不了的问题。

$ qbo_health_check

  transport ...... stdio (Claude Desktop, Claude Code, claude.ai)
  api ............ QuickBooks Online v3
  tools .......... 22
  version ........ 2.0.0
  deploy ......... local, or HTTP on a Raspberry Pi behind Tailscale

为什么做这个

记账问题几乎从来都不是一次查询就能解决的。“我们是不是重复付款给那家供应商了?” 意味着列出采购记录、按金额和日期邻近程度分组、比对银行流水,然后还要查看那笔重复记录后来有没有被作废。这是一个循环,而循环正是智能体该处理的事。

设计上的押注是:给模型一组小而可自由组合的工具,让它自己完成推理,而不是交付一个巨大的 reconcile() 函数,把“什么差异代表什么意思”的判断写死在代码里。

正是这个押注让 v2.0.0 只有 22 个工具,而 v1.0.0 有 45 个。第一个版本为我问过的每一个问题都配了一个工具;结果发现其中大多数只是模型在组合两个基础工具 — 于是基础工具被保留,组合工具被删除。迁移对照见 CHANGELOG.md


Related MCP server: penni-mcp

工具

$ qbo --list-tools

  read
    qbo_company_info            qbo_get_preferences         qbo_health_check
    qbo_list_accounts           qbo_list_customers          qbo_get_customer
    qbo_list_bills              qbo_list_deposits           qbo_get_entity
    qbo_get_invoice             qbo_get_transaction         qbo_get_transfer
    qbo_get_journal_entry       qbo_get_report              qbo_account_register

  write
    qbo_create_invoice          qbo_create_payment          qbo_create_purchase
    qbo_delete_journal_entry    qbo_delete_purchase         qbo_delete_transfer
    qbo_batch_delete

  reconciliation
    qbo_detect_bank_feed_gaps       find dates where the feed silently stopped
    qbo_find_duplicate_transactions near-match scan across amount + date window
    qbo_duplicate_scan_by_account   the same, scoped to one account
    qbo_analyze_reconciliation      month-end variance with the arithmetic shown

对账工具才是最值得借鉴的。银行流水缺口就是那种不会被人预判到的失败模式 — 流水断掉四天、交易永远不会到达,账簿在不完整的数据下却依然完美做平。没有任何报错。要直到三月份年结数对不上时,你才会发现它。


安装

$ git clone https://github.com/rjpaganini/quickbooks-mcp-server
$ cd quickbooks-mcp-server
$ pip install -r requirements.txt
$ cp .env.example .env        # then fill in your QBO app credentials

developer.intuit.com 注册一个应用,获取客户端 ID 和密钥。你需要:

  QB_REALM_ID          your company id
  QB_CLIENT_ID         from the Intuit developer app
  QB_CLIENT_SECRET     from the Intuit developer app
  QB_REFRESH_TOKEN     from the OAuth playground
  QB_ACCESS_TOKEN      refreshed automatically once seeded
  QB_SANDBOX           true while testing — set false deliberately

然后把 MCP 客户端指向它:

{
  "mcpServers": {
    "quickbooks": {
      "command": "python",
      "args": ["/absolute/path/to/server.py"]
    }
  }
}

安全

这个服务器可以删除真实记/记账数据中的内容。 这不是假设 — qbo_batch_delete 之所以存在,就是因为手工清理一次糟糕的导入非常痛苦。

在把它指向真实公司文件之前,先阅读 SECURITY.md。简单版:先在 sandbox 中开始,保持 QB_SANDBOX=true 直到亲眼看着它正常工作,再把写操作和删除工具当成带通配符的 rm 一样对待。

$ pytest                       # unit tests, no network
$ pytest -m live               # smoke tests against a live sandbox company

说明

  • 刻意做成单文件。server.py 很大,但全部内容都能 grep,不需要在脑子里维护一张导入依赖图。

  • 也可以通过 deploy-to-pi.sh 在树莓派上以 HTTP 服务方式运行,我正是这样通过 Tailscale 从手机上的 claude.ai 访问它。

  • 本仓库不包含任何包含凭据、公司数据或财务记录的数据。


许可

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to query and manage QuickBooks Online data through natural language, including customers, invoices, bills, vendors, accounts, and financial reports.
    7
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    AI bookkeeper for small businesses that connects to QuickBooks Online. Enables users to query financial data like bank balances, P\&L reports, and invoices through natural language in Claude Desktop or Cursor.
    6
    49
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connect Claude Desktop and Claude Code to QuickBooks Online for natural-language accounting. Ask questions about invoices, expenses, reports, and more using plain English.
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    Provides complete QuickBooks Online API integration for Claude Code and other MCP-compatible clients, enabling full CRUD operations on 29 entity types and 11 financial reports.
    100
    Apache 2.0

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rjpaganini/quickbooks-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server