Quickbooks Mcp Server

io.github.NyxToolsDev由 GitHub 帳號 NyxToolsDev 發布v0.1.1更新於 Oct 24, 2026

Connect Claude to QuickBooks Online — query finances, create invoices, run reports

概覽

AI 產生的概覽

把 Claude 連接到 QuickBooks Online,讓助理查詢發票、支出、帳戶與客戶,產出財務報表,並建立發票、付款與支出。

可以做什麼
  • 列出、篩選並檢視發票明細,包括逾期發票與各行項目
  • 依日期、廠商或類別檢視支出,並統計支出排行
  • 查看帳戶餘額與近期交易,搜尋客戶並取得其財務摘要
  • 產出損益表、資產負債表、現金流量表、應收/應付帳齡與期間比較等報表(付費版)
  • 建立發票、登錄付款、記錄支出(付費版)
  • 計算流動比率、DSO、資金消耗率與可支撐月數等財務健全指標(付費版)
適用情境
適合在 QuickBooks Online 記帳、想用自然語言直接詢問帳務問題而不必層層點開報表的使用者,也適合讓助理在對話中草擬發票、付款與支出記錄。
執行需求
以本機 Python 套件執行(pip install quickbooks-mcp),在 Claude Desktop 中設定。需要 Intuit 開發者應用程式提供的 Client ID 與 Client Secret,須執行一次 OAuth 授權並將權杖存在本機,並設定 QBO_CLIENT_ID、QBO_CLIENT_SECRET、QBO_REALM_ID 環境變數。付費工具需要 LICENSE_KEY;可用 QBO_SANDBOX 指向測試資料。
安裝前請注意
需要 QuickBooks OAuth 憑證(QBO_CLIENT_ID、QBO_CLIENT_SECRET)以及可存取公司財務資料的本機更新權杖。付費工具需每月 29 美元的 LICENSE_KEY。付費寫入工具會在真實帳套中建立發票、登錄付款與記錄支出,出錯會影響實際帳務,建議先用 QBO_SANDBOX 測試。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Quickbooks Mcp Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

QuickBooks MCP Server

Connect Claude Desktop and Claude Code to QuickBooks Online for natural-language accounting. Ask questions about invoices, expenses, reports, and more using plain English.

[License: MIT] [Python 3.10+]


What is this?

An MCP (Model Context Protocol) server that gives Claude direct access to your QuickBooks Online data. Instead of logging into QuickBooks and clicking through reports, just ask Claude:

"Show me all overdue invoices sorted by amount" "What's our P&L this quarter?" "Create an invoice for Acme Corp for $2,500"

The server handles OAuth authentication, API calls, rate limiting, and data formatting.


Quick Start

1. Install

bash
pip install quickbooks-mcp

Or install from source:

bash
git clone https://github.com/nyxtools/quickbooks-mcp-server.gitcd quickbooks-mcp-serverpip install -e .

2. Create a QuickBooks Developer App

  1. Go to developer.intuit.com
  2. Create an app and select QuickBooks Online and Payments
  3. Under Keys & OAuth, note your Client ID and Client Secret
  4. Add http://localhost:8080/callback as a Redirect URI

3. Set Environment Variables

bash
export QBO_CLIENT_ID='your_client_id'export QBO_CLIENT_SECRET='your_client_secret'

4. Run OAuth Setup

bash
python scripts/setup_oauth.py

This opens your browser, authorizes with QuickBooks, and stores tokens locally (encrypted). Note the Realm ID it prints at the end.

bash
export QBO_REALM_ID='your_realm_id'

5. Configure Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

json
{  "mcpServers": {    "quickbooks": {      "command": "quickbooks-mcp",      "env": {        "QBO_CLIENT_ID": "your_client_id",        "QBO_CLIENT_SECRET": "your_client_secret",        "QBO_REALM_ID": "your_realm_id"      }    }  }}

Config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

6. Start Using It

Restart Claude Desktop and try:

"What are my current bank account balances?"


All 19 Tools

Free Tier (9 tools)

ToolDescription
list_invoicesList and filter invoices by status, date, customer
get_invoice_detailsFull invoice details with line items and payment history
get_overdue_invoicesAll overdue invoices sorted by days past due
list_expensesList expenses with date, vendor, amount, and category filters
get_top_expensesTop expenses grouped by category or vendor for any period
get_account_balancesCurrent balances for Bank, Credit Card, or all accounts
get_account_transactionsRecent transactions for any account with date filters
search_customersSearch customers by name or email with contact info
get_customer_summaryCustomer financial summary: invoiced, paid, outstanding

Premium Tier (10 tools) -- $29/month

ToolDescription
get_profit_and_lossP&L report for any period with income/expense breakdown
get_balance_sheetBalance sheet as of any date (assets, liabilities, equity)
get_cash_flowCash flow statement (operating, investing, financing)
get_accounts_receivable_agingAR aging by customer (current/30/60/90+ days)
get_accounts_payable_agingAP aging by vendor (current/30/60/90+ days)
create_invoiceCreate invoices with line items, due dates, and memos
record_paymentRecord payments against invoices with method and reference
create_expenseRecord expenses with vendor, amount, category, and date
get_financial_healthKey ratios: current ratio, DSO, burn rate, runway
compare_periodsSide-by-side period comparison with % changes

Get a premium license at nyxtools.dev/quickbooks-mcp

Set it in your environment:

bash
export LICENSE_KEY='your_license_key'

Usage Examples

Invoices

"Show me all invoices from January" "Which invoices are overdue? Show me the worst ones first" "Get the details for invoice #1042" "Show me open invoices for Acme Corp"

Expenses

"What did we spend this month?" "Show me our top 10 expense categories this quarter" "How much have we spent at Amazon this year?"

Accounts

"What are our bank balances?" "Show me the last 20 transactions in checking" "What's the balance on our company credit card?"

Customers

"Find the customer John Smith" "Give me a financial summary for customer 456" "Search for customers with outstanding balances"

Reports (Premium)

"Show me the P&L for this quarter" "Pull up the balance sheet" "How's our cash flow this month?" "Show me the AR aging report" "Who are our slowest-paying customers?"

Write Operations (Premium)

"Create an invoice for customer 123: Website Design $2,500, Hosting $150/month, due net-30" "Record a $1,000 check payment on invoice #1042" "Record a $250 expense to Office Depot for supplies, paid by credit card on March 15"

Analytics (Premium)

"How healthy are our finances? Show me key ratios" "Compare this month to last month" "How did this quarter compare to the same quarter last year?"


Configuration

All configuration is via environment variables:

VariableRequiredDefaultDescription
QBO_CLIENT_IDYesQuickBooks OAuth2 Client ID
QBO_CLIENT_SECRETYesQuickBooks OAuth2 Client Secret
QBO_REALM_IDYesQuickBooks Company/Realm ID
QBO_REDIRECT_URINohttp://localhost:8080/callbackOAuth redirect URI
LICENSE_KEYNoPremium license key
QBO_SANDBOXNofalseUse sandbox environment
TOKEN_STORE_PATHNo~/.quickbooks-mcp/tokens.jsonToken storage location
LOG_LEVELNoINFOLogging level

Security

  • Tokens encrypted at rest using machine-specific keys (Fernet + PBKDF2)
  • Tokens auto-refresh -- access tokens last 60 min, refresh tokens 100 days
  • No credentials stored in code -- all secrets via environment variables
  • Rate limiting built in to respect QuickBooks API throttles
  • Input sanitization on all query parameters to prevent injection

Development

bash
# Clone and install with dev dependenciesgit clone https://github.com/nyxtools/quickbooks-mcp-server.gitcd quickbooks-mcp-serverpip install -e ".[dev]"
# Run testspytest
# Run with coveragepytest --cov=quickbooks_mcp
# Lintruff check src/ tests/
# Type checkmypy src/

Project Structure

quickbooks-mcp-server/  src/quickbooks_mcp/    auth/          # OAuth2 flow and encrypted token storage    client/        # QBO REST API client with rate limiting    tools/         # MCP tool implementations (19 tools)    utils/         # Money (Decimal), formatting, license validation    server.py      # MCP server setup and tool registration    config.py      # Environment-based configuration  scripts/    setup_oauth.py # Interactive OAuth setup  examples/        # Config examples and usage guide  tests/           # Pytest test suite

Troubleshooting

"No QuickBooks tokens found"

Run the OAuth setup:

bash
python scripts/setup_oauth.py

"Token refresh failed"

Your refresh token may have expired. Re-run OAuth setup.

"QuickBooks API error (HTTP 403)"

Verify your app has com.intuit.quickbooks.accounting scope.

"Rate limited by QuickBooks"

The server handles rate limiting automatically. If you see this error, wait 60 seconds.

"This is a premium feature"

Some tools require a license key. Get one here or set LICENSE_KEY in your environment.

Sandbox Mode

For testing without affecting real data:

bash
export QBO_SANDBOX=true

Use your Development keys (not Production) from the Intuit developer dashboard.


License

MIT License. See LICENSE for details.

Copyright (c) 2026 NyxTools

來源:README.md,提交 dffaac6

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分