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 分