BookMind
Used as an LLM provider for AI-powered categorization and other natural language bookkeeping tasks.
Used as an LLM provider for AI-powered categorization and other natural language bookkeeping tasks.
Used as an LLM provider for AI-powered categorization and other natural language bookkeeping tasks, enabling local model inference.
Used as an LLM provider for AI-powered categorization and other natural language bookkeeping tasks.
Provides intelligent bookkeeping for QuickBooks Online, including auto-categorization, reconciliation, monthly close, anomaly detection, and vendor search.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BookMind Categorize my uncategorized transactions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
What is BookMind?
BookMind is an open-source MCP server that brings intelligent bookkeeping to QuickBooks Online. Unlike Intuit's official MCP server (a raw API wrapper), BookMind is an intelligent bookkeeping layer — you speak naturally, it handles the rest.
Why BookMind?
Problem | Solution |
Manual transaction categorization | Auto-categorize with 90%+ accuracy using learned rules + any LLM |
Month-end close takes hours | One prompt → full close package (P&L, BS, CF, action items) |
Bank reconciliation is tedious | Automatic fuzzy matching by amount, date, vendor |
Duplicate payments slip through | Statistical anomaly detection catches them |
Chasing overdue invoices | Professional emails in friendly/firm/escalation tones |
Vendor research is slow | Natural language search: "What did we pay AWS last quarter?" |
Locked into one AI provider | Works with OpenAI, Anthropic, Google, Groq, Mistral, NVIDIA, Ollama — or no provider at all |
Architecture
QuickBooks Online ──► BookMind (this MCP) ──► Local SQLite
│
┌─────────┼─────────┐
▼ ▼ ▼
Rules Engine Memory Anomaly DetectorZero cloud dependency — your data stays in local SQLite
Learns from you — every correction becomes a persistent rule
Model-agnostic — works with 7+ LLM providers (or rules-only mode)
Agent-agnostic — works with Claude, Cursor, Cline, Continue, Windsurf, VS Code Copilot, Goose
Related MCP server: qbo-mcp
Install
One command (any MCP client)
npx @bbookmind/mcpPre-built configs
Agent | Config | Location |
Claude Desktop |
|
|
Cursor |
|
|
Cline |
| VS Code → Extensions → Cline → MCP |
Continue |
|
|
Windsurf |
|
|
VS Code Copilot |
| VS Code → GitHub Copilot → MCP |
Environment (optional)
BookMind runs in rules-only mode by default (no API key needed). To enable AI categorization, add one provider key:
# Pick ONE:
export GROQ_API_KEY=... # Free tier available
export NVIDIA_API_KEY=... # Free tier available
export GOOGLE_API_KEY=... # Free tier available
export OPENAI_API_KEY=...
export ANTHROPIC_API_KEY=...
export MISTRAL_API_KEY=...
export OLLAMA_BASE_URL=http://localhost:11434Tools
BookMind exposes 14 tools that your AI agent discovers automatically:
Category | Tool | Description |
Categorization |
| Auto-categorize uncategorized transactions |
| Approve pending categorizations in batch | |
| Reject with feedback, auto-create rules | |
| Rollback from audit log | |
Data |
| Pull transactions, invoices, bills from QBO |
| Push approved changes back to QuickBooks | |
Reconciliation |
| Match bank feed ↔ invoices/bills |
Intelligence |
| Duplicate, drift, outlier detection |
| Full close package (P&L, BS, CF) | |
| Natural language vendor search | |
Communications |
| Overdue invoice email generator |
Learning |
| Create rules from user corrections |
Multi-company |
| Switch between QBO companies |
| List connected companies |
Example prompts
"Categorize my uncategorized transactions from last month"
"Reconcile my bank feed against open invoices"
"Generate March close package"
"Any duplicate payments to vendors?"
"What did we pay AWS last quarter?"
"Draft friendly chase emails for invoices over 30 days overdue"
"Remember: Stripe transactions → Payment Processing Fees"
"Switch to Acme Corp company"Pricing
Tier | Price | Transactions | Companies | Features |
Free | $0 | 50/mo | 1 | Rules-only categorization, basic vendor search |
Pro | $29/mo | 1,000/mo | 3 | AI categorize, reconcile, anomalies, vendor search |
Firm | $149/mo | Unlimited | Unlimited | Monthly close, chase emails, white-label PDFs, team seats |
14-day Pro trial — no credit card required.
Development
git clone https://github.com/bbookmind/mcp
cd bookmind
npm install
npm run dev # watch mode
npm run build # production build
npm test # vitestProject structure
src/
├── index.ts # MCP server entry
├── tools/ # 14 bookkeeping tools
│ ├── categorize.ts
│ ├── approveCategories.ts
│ ├── rejectCategories.ts
│ ├── undoCategories.ts
│ ├── fetchTransactions.ts
│ ├── syncToQbo.ts
│ ├── reconcile.ts
│ ├── anomalies.ts
│ ├── monthlyClose.ts
│ ├── vendorSearch.ts
│ ├── chaseEmail.ts
│ ├── learnRules.ts
│ ├── selectCompany.ts
│ └── listCompanies.ts
└── lib/
├── qbo.ts # QuickBooks OAuth + API client
├── db.ts # SQLite schema + migrations
└── llm.ts # Multi-provider LLM interfaceDistribution channels
npm:
npx @bbookmind/mcpMCP Registry:
registry.modelcontextprotocol.ioClaude Marketplace:
/plugin install bookmindGitHub: github.com/bbookmind/mcp
License
MIT — free to use, modify, and distribute.
Support
Available Tools
14 toolsbookmind.anomaliesB
Statistical anomaly detection: duplicate payments (Map-based O(n)), vendor cost drift (>25%), IQR outliers, frequency spikes (>10/mo), round numbers (>=$100), large weekend transactions (>=$500). Returns flagged items with severity. Persists to SQLite for review.
Inputs: transactions (required), rules, min_amount, lookback_days.
bookmind.approve_categorizationsA
Approve pending categorization suggestions. Accepts transaction IDs or 'all' to approve everything pending. Approved transactions get status='categorized' and approved=1.
Inputs: transaction_ids (required).
bookmind.categorizeA
Auto-categorize Uncategorized QuickBooks transactions using learned rules (regex) + keyword dict + LLM (when connected). Returns confidence-scored suggestions. Use bookmind.approve_categorizations to apply. New categorization requests stage in 'pending' status and follow approval workflow.
Inputs: transactions (required), auto_apply, confidence_threshold.
bookmind.chase_emailA
Generate overdue invoice chase emails in friendly, firm, or escalation tone. Returns ready-to-send drafts.
Inputs: invoices (required), tone, custom_message.
bookmind.fetch_transactionsA
Fetch transactions from QuickBooks Online for a date range. Returns normalized JSON array compatible with categorize, reconcile, anomalies, and monthly_close tools. Caches results in local SQLite.
Inputs: end_date (required), start_date (required), bills, fetch, +2 more.
bookmind.learn_rulesC
Learn categorization rules from user corrections. Stores regex patterns. Rules apply to current company by default; set global=true to share across all companies under one account.
Inputs: rule (required), transactions_to_apply.
bookmind.list_companiesA
List all companies configured in BookMind, showing company ID, name, and association status. Allows OAuth connection for unconnected companies.
Inputs: oauth_url, company_id.
bookmind.monthly_closeC
Generate complete monthly close package: P&L, Balance Sheet snapshot, Cash Flow, top vendors, expense breakdown, overdue AR, anomaly summary, and action items. Returns formatted markdown report.
Inputs: month (required), transactions (required), invoices, anomalies.
bookmind.reconcileA
Match bank feed transactions to invoices/bills by amount, date tolerance, and vendor similarity. Returns matched pairs and unmatched items. Score uses Levenshtein vendor similarity and weighted date/amount distance.
Inputs: bank_transactions (required), bills, invoices, fee_tolerance, +2 more.
bookmind.reject_categorizationsA
Reject pending categorization suggestions with feedback. Rejected transactions return to 'uncategorized'. Optional rule learning: set learn_rules=true and provide corrected_category, vendor_pattern, or description_pattern to auto-create a correction rule.
Inputs: transaction_ids (required), reason, learn_rules, vendor_pattern, +2 more.
bookmind.select_companyA
Switch between connected QuickBooks companies. Sets the active company for all subsequent operations. Returns the current company info.
Inputs: company_id (required).
bookmind.sync_to_qboA
Push approved categorizations from local SQLite back to QuickBooks Online. Creates journal entries for category reclassifications. Only syncs approved (approved=1) transactions.
Inputs: transaction_ids (required).
bookmind.undo_categorizeA
Undo categorization changes on transactions. Restore previous category from audit log. Accepts transaction IDs or 'all' to undo all categorizations from today's session.
Inputs: transaction_ids (required).
bookmind.vendor_searchC
Search transactions by vendor, description, category, or amount. Supports lookback and limit.
Inputs: query (required), transactions (required), limit, lookback_days.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 14 tools
Each tool has a distinct purpose with no overlap: categorization, approval, rejection, fetching, reconciliation, anomaly detection, reporting, etc. The workflow is clear and unambiguous.
Most tools follow a verb_noun pattern (e.g., fetch_transactions, approve_categorizations), though 'monthly_close' and 'vendor_search' are noun_noun. Still, all are lowercase with underscores, making them predictable.
14 tools cover a comprehensive bookkeeping workflow without being overwhelming. Each tool serves a clear need, and the count feels right for the domain.
The tool set covers the full lifecycle: fetching, categorizing (with approval), reconciliation, anomaly detection, monthly close, undo, sync, and search. Missing features like invoice creation are outside the stated scope.
Maintenance
Related MCP Connectors
AI agents for bookkeeping, reconciliation, and financial close for SMBs.
Double entry accounting run by your own AI: books, VAT figures, invoices, month close (UK, DE, AT).
Accounting knowledge graphs: SEC XBRL filings, QuickBooks ledgers, reports and forecasts over MCP.
Query your books, company data, business health, and ship invoices from your AI assistant.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceAn MCP server that enables AI agents to interact with QuickBooks Online accounts to manage invoices, customers, payments, and financial reports. It provides 20 tools to automate accounting workflows and retrieve financial data through natural language interfaces.-
- AlicenseAqualityDmaintenanceMCP server for QuickBooks Online providing read-only access to customers, vendors, invoices, bills, and chart of accounts. Enables natural language queries to your financial data through Claude or any MCP client.8MIT
- AlicenseBqualityBmaintenanceA Model Context Protocol server for KikoBooks enterprise bookkeeping software that enables AI assistants to perform accounting operations on accounts, customers, invoices, bills, and more through natural language.11664 npmMIT
- AlicenseNot gradedqualityCmaintenanceComprehensive MCP server for QuickBooks Online providing full CRUD operations on 29 entities (customers, invoices, bills, etc.) and 11 financial reports, enabling accounting data management via natural language.Apache 2.0