Setup helper for the AccountingQB MCP server in Claude Desktop
Project description
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:
- uv installed - Checks if uvx is available in PATH
- Config file exists - Verifies Claude Desktop config file is present
- Config valid JSON - Ensures the config file is valid JSON
- AccountingQB configured - Checks if the MCP entry exists with a license key
- License valid - Validates the license key with the server
- QuickBooks connected - Checks if any QuickBooks companies are connected
- 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file accountingqb_setup-0.2.0.tar.gz.
File metadata
- Download URL: accountingqb_setup-0.2.0.tar.gz
- Upload date:
- Size: 11.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
76d20f4af01f0e09c6a73d56714780c9d5aa07ef6f168cd334e257418a2b0f53
|
|
| MD5 |
fe7dd3d2e0dbb56baf3a645302c70a23
|
|
| BLAKE2b-256 |
ce9e4f15860cd85f385dd7d9835d7c5d44feea33100ecaea42428f88d1acae04
|
File details
Details for the file accountingqb_setup-0.2.0-py3-none-any.whl.
File metadata
- Download URL: accountingqb_setup-0.2.0-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.22
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a309b8c5a51e58d8ad81da55ca86d3b10410f7b2cee7a0ab759a45486eb2e09b
|
|
| MD5 |
0abf3c6c4da0fe195fa124a9c74fff98
|
|
| BLAKE2b-256 |
becb13848e79a8526a4ffa6d3a30344aa0a1e64fd5bb7aeb28c8708380f80c98
|