quickbooks-mcp-server
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
This server cannot be installed
Maintenance
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
- AlicenseAqualityDmaintenanceEnables AI assistants to query and manage QuickBooks Online data through natural language, including customers, invoices, bills, vendors, accounts, and financial reports.7MIT
- AlicenseAqualityDmaintenanceAI 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.649MIT
- AlicenseNot gradedqualityDmaintenanceConnect Claude Desktop and Claude Code to QuickBooks Online for natural-language accounting. Ask questions about invoices, expenses, reports, and more using plain English.MIT
- AlicenseCqualityBmaintenanceProvides 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.100Apache 2.0
Related MCP Connectors
QuickBooks Online for Claude: reports, bookkeeping cleanup, and US & Canadian tax prep.
AI agents for bookkeeping, reconciliation, and financial close for SMBs.
Connect Claude to Fathom meeting recordings, transcripts, and summaries
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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