Skip to main content
Glama
rjpaganini

quickbooks-mcp-server

by rjpaganini

quickbooks-mcp-server

QuickBooks Online に対する完全な読み書きアクセスを Claude に与える単一ファイルの MCP サーバー。さらに、帳簿をスクロールして探す人間には見つけられないものを発見する照合ツールも備えています。

$ 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 では45 個から 22 個のツールに減った理由です。最初のバージョンには、これまで持ったことのあるすべての質問に対応するツールがありました。そのほとんどは実際には2つのプリミティブを組み合わせたものだと判明したため、プリミティブは残し、コンポジットは削除しました。移行マップは CHANGELOG.md を参照してください。


Related MCP server: quickbooks-mcp-server

ツール

$ 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

特に価値があるのは照合ツールです。銀取引フィードの欠落は、誰も気付かない障害モードです — フィードが4日間停止し、取引が到着せず、帳簿は不十分な全体像に対して完全に一致してしまいます。エラーは何も起きません。年末の数値が合わず、3月になって初めて発見するのです。


インストール

$ 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

クライアントIDとシークレットを取得するために、developer.intuit.com でアプリを登録します。必要なもの:

  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 を読んでください。一言で言えば、サンドボックスから始め、動作を確認できるまで QB_SANDBOX=true を維持し、書き込み・削除ツールは、ワイルドカード付きの rm と同じものとして扱ってください。

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

メモ

  • 意図的に単一ファイルです。サーバ.py は大きいですが、全体が検索可能で、頭の中に入れておくべきインポートグラフはありません。

  • deploy-to-pi.sh を介してRaspberry Pi 上の HTTP サービスとしても動作します。これにより、Tailscale 経由でスマートフォンの claude.ai からアクセスしています。

  • このリポジトリには、認証情報、会社データ、財務記録は一切含まれていません。


ライセンス

MIT。

Related MCP Connectors

Related MCP Servers

  • 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
    87 npm
    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
    D
    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
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides comprehensive CRUD operations for 29 QuickBooks Online entity types and 11 financial reports, enabling full accounting management through natural language.
    Apache 2.0