Skip to main content

accountingqb-setup

Setup helper for the AccountingQB MCP server in Claude Desktop.

Edits your claude_desktop_config.json safely: parses it as JSON (never regex), preserves your other MCP servers, makes a .bak before writing, validates the result round-trips, and gives you a clear restart instruction.

Install and run (end users)

uvx accountingqb-setup

You'll be prompted for your license key (input is hidden, never echoed). The helper detects your OS, finds your Claude Desktop config, shows you exactly what it's about to change, and asks for confirmation before writing.

After it finishes, fully quit Claude Desktop:

  • macOS: Cmd+Q. Closing the window is not enough.
  • Windows: Right-click the Claude tray icon -> Quit.

Then reopen Claude Desktop. Ask "What QuickBooks tools do you have?" to verify the connection.

Common flags

# Non-interactive (CI, scripts, retries)
accountingqb-setup --license-key LK-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --yes

# See what would change without writing
accountingqb-setup --license-key LK-... --dry-run

# Check current state
accountingqb-setup --status

# Diagnose issues (checks config, license, QB connection, server)
accountingqb-setup --doctor

# Remove
accountingqb-setup --uninstall

# Test against a config file in a different location
accountingqb-setup --config /tmp/test_config.json

Doctor command

The --doctor flag runs comprehensive diagnostic checks:

  1. uv installed - Checks if uvx is available in PATH
  2. Config file exists - Verifies Claude Desktop config file is present
  3. Config valid JSON - Ensures the config file is valid JSON
  4. AccountingQB configured - Checks if the MCP entry exists with a license key
  5. License valid - Validates the license key with the server
  6. QuickBooks connected - Checks if any QuickBooks companies are connected
  7. MCP server starts - Verifies the accountingqb package can load

Example output:

AccountingQB Doctor
Running diagnostic checks...

✓ uv installed
  uvx found at /usr/local/bin/uvx

✓ Config file exists
  /Users/you/Library/Application Support/Claude/claude_desktop_config.json

✓ Config valid JSON
  Config file is valid JSON

✓ AccountingQB configured
  License key: LK-****************************7F93

✓ License valid
  License valid (tier: solopreneur)

✓ QuickBooks connected
  1 company(ies): My Business LLC

✓ MCP server starts
  accountingqb package loads successfully

────────────────────────────────────────
All 7 checks passed!

Your AccountingQB setup looks healthy.

You can also pass the key via the QB_LICENSE_KEY environment variable instead of --license-key.

What gets written

The helper merges this entry into the mcpServers object in your Claude Desktop config:

"accountingqb": {
  "command": "uvx",
  "args": ["accountingqb"],
  "env": {
    "QB_LICENSE_KEY": "<your key>"
  }
}

If accountingqb is already configured, the helper compares the existing entry to the new one. If the license key has changed, it shows you the diff and confirms before updating. If the entry is identical, it exits with a "nothing to do" message.

Safety

  • JSON-aware merge. The config is parsed as JSON, the entry is added, the result is serialized back. No regex edits. Existing servers, custom top-level keys (e.g. globalShortcut), and formatting preferences are all preserved structurally.
  • Backup first. Before writing, the existing config is copied to claude_desktop_config.json.bak.
  • Atomic write. The new config is written to a temp file in the same directory, then renamed over the original. A crash mid-write can't corrupt your config.
  • Round-trip validation. After writing, the file is reloaded and compared to what we intended to write. Any mismatch raises an error (and the backup is still on disk).
  • No license-key echoing. Keys entered interactively use getpass (no terminal echo). Keys are masked when shown in confirmation output.
  • Refuses to repair invalid JSON. If your existing config is broken, the helper tells you to fix it manually rather than guessing.

Develop locally

git clone https://github.com/RCOLKITT/AccountingQB-MCP.git
cd AccountingQB-MCP/accountingqb-setup
uv venv
source .venv/bin/activate
uv pip install -e ".[dev]"
pytest

License

MIT

Metadata

Release files for accountingqb-setup 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for accountingqb-setup 0.2.0
File Size Uploaded Provenance
accountingqb_setup-0.2.0.tar.gz 11.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for accountingqb-setup 0.2.0
File Interpreter ABI Platform
accountingqb_setup-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 24.7 kB

Release files / accountingqb_setup-0.2.0.tar.gz

Download URL accountingqb_setup-0.2.0.tar.gz
Size 11.7 kB
Tags Source
SHA-256 checksum
How to use checksums
76d20f4af01f0e09c6a73d56714780c9d5aa07ef6f168cd334e257418a2b0f53
BLAKE2b-256 checksum
How to use checksums
ce9e4f15860cd85f385dd7d9835d7c5d44feea33100ecaea42428f88d1acae04
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.22

Release files / accountingqb_setup-0.2.0-py3-none-any.whl

Download URL accountingqb_setup-0.2.0-py3-none-any.whl
Size 13.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a309b8c5a51e58d8ad81da55ca86d3b10410f7b2cee7a0ab759a45486eb2e09b
BLAKE2b-256 checksum
How to use checksums
becb13848e79a8526a4ffa6d3a30344aa0a1e64fd5bb7aeb28c8708380f80c98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.22

Security for accountingqb-setup 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page