@ilessio/quickbooks-connector
v0.4.0
Published
QuickBooks connector launcher for npx users (wraps the Python core).
Maintainers
Readme
QuickBooks Connector
Production-focused QuickBooks Online connector with:
- full MCP tool surface for AI assistants
npxlauncher for non-Python users- direct REST passthrough for complete API reach
- strict sandbox-tested accounting workflows
Why this project
31 MCP toolsexposed and validatedAPI passthrough(qb api request) so any QuickBooks Accounting endpoint can be reachedDual runtimesupport:uvandnpxStrict sandbox validation: customer -> invoice -> payment tested in both CLI and MCP paths
Quick Start (Recommended: npx)
npx @ilessio/quickbooks-connector setupThen configure local env:
cp .env.example .envQB_CLIENT_ID=your_client_id_here
QB_CLIENT_SECRET=your_client_secret_here
QB_REDIRECT_URI=http://localhost:8080/callback
QB_ENVIRONMENT=sandbox
QB_DEFAULT_CURRENCY=HKDStart OAuth:
npx @ilessio/quickbooks-connector authConnection check:
npx @ilessio/quickbooks-connector statusQuick Start (Python/uv)
git clone https://github.com/AIFlow-Labs-Limited/quickbooks-connector.git
cd quickbooks-connector
uv sync
uv run qb auth
uv run qb statusAPI Coverage
Catalog view:
uv run qb api endpointsDirect endpoint passthrough:
uv run qb api request GET query --params '{"query":"SELECT * FROM Customer MAXRESULTS 5"}'Write with confirmation gate:
uv run qb api request POST customer --json '{"DisplayName":"Acme Ltd"}'
uv run qb api request POST customer --json '{"DisplayName":"Acme Ltd"}' --confirmReports:
uv run qb api report ProfitAndLoss --params '{"start_date":"2026-01-01","end_date":"2026-01-31"}'MCP + Assistant Integrations
Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
{
"mcpServers": {
"quickbooks": {
"command": "npx",
"args": ["-y", "@ilessio/quickbooks-connector", "mcp"],
"env": {
"QB_CLIENT_ID": "your_client_id_here",
"QB_CLIENT_SECRET": "your_client_secret_here",
"QB_REDIRECT_URI": "http://localhost:8080/callback",
"QB_ENVIRONMENT": "sandbox",
"QB_DEFAULT_CURRENCY": "HKD"
}
}
}
}Repository skill layout
.claude/skills/quickbooks/SKILL.md.cursor/skills/quickbooks/SKILL.md.codex/skills/quickbooks/SKILL.md
Core Commands
| Command | Description |
|---|---|
| qb auth | OAuth connect |
| qb status | Connection state |
| qb api smoke | Core endpoint smoke checks |
| qb api endpoints | Entity/report coverage catalog |
| qb api request ... | Raw REST passthrough |
| qb api report ... | Reports endpoint |
| qb api customer-match ... | Find/create customer |
| qb api invoice-draft ... | Build invoice payload |
| qb api invoice-create ... --confirm | Create invoice |
| qb api payment-record ... --confirm | Record payment |
Strict Validation Status
Executed in sandbox:
- CLI strict flow (
uv): pass - CLI strict flow (
npx): pass - MCP strict flow (
uv-mcp): pass - MCP strict flow (
npx-mcp): pass - Tool coverage discovered by MCP:
31/31
Validation artifacts:
dist/strict-live-sandbox-report.jsondist/strict-mcp-sandbox-report.jsondist/strict-manual-sandbox-summary.md
Security and Secrets
Local secret policy:
.envis local-only and gitignored.env.exampleis safe template only
Quick checks:
git ls-files .env
git check-ignore -v .envSecurity scan artifacts:
dist/security/security-report.mddist/security/pip-audit.jsondist/security/npm-audit.jsondist/security/bandit.json
Webhooks and Tunnel
Webhook server:
uv run qb-webhooksDefault bind: 127.0.0.1:8090
Override:
QB_WEBHOOK_HOST=0.0.0.0 QB_WEBHOOK_PORT=8090 uv run qb-webhooksCloudflare tunnel (HTTP/2 fallback):
./scripts/start_tunnel.shPackaging and Release
Local package check:
npm pack --pack-destination dist
npx --yes --package=./dist/ilessio-quickbooks-connector-0.4.0.tgz quickbooks-connector statusRelease bundle generation:
uv run python scripts/package_release.pyMore details:
docs/marketplace-release.mddocs/production-hardening.md
Requirements
- Python
3.13+ uv- Node.js
18+(fornpxlauncher) - QuickBooks Online + Intuit Developer app
License
MIT
