Skip to main content
Glama

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 Detector
  • Zero 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/mcp

Pre-built configs

Agent

Config

Location

Claude Desktop

install/claude-desktop.json

%APPDATA%\Claude\claude_desktop_config.json (Windows)

Cursor

install/cursor.json

~/.cursor/mcp.json

Cline

install/cline.json

VS Code → Extensions → Cline → MCP

Continue

install/continue.json

~/.continue/config.json

Windsurf

install/windsurf.json

~/.codeium/windsurf/mcp_config.json

VS Code Copilot

install/vscode-copilot.json

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:11434

Tools

BookMind exposes 14 tools that your AI agent discovers automatically:

Category

Tool

Description

Categorization

bookmind.categorize

Auto-categorize uncategorized transactions

bookmind.approve_categorizations

Approve pending categorizations in batch

bookmind.reject_categorizations

Reject with feedback, auto-create rules

bookmind.undo_categorize

Rollback from audit log

Data

bookmind.fetch_transactions

Pull transactions, invoices, bills from QBO

bookmind.sync_to_qbo

Push approved changes back to QuickBooks

Reconciliation

bookmind.reconcile

Match bank feed ↔ invoices/bills

Intelligence

bookmind.anomalies

Duplicate, drift, outlier detection

bookmind.monthly_close

Full close package (P&L, BS, CF)

bookmind.vendor_search

Natural language vendor search

Communications

bookmind.chase_email

Overdue invoice email generator

Learning

bookmind.learn_rules

Create rules from user corrections

Multi-company

bookmind.select_company

Switch between QBO companies

bookmind.list_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         # vitest

Project 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 interface

Distribution channels

  • npm: npx @bbookmind/mcp

  • MCP Registry: registry.modelcontextprotocol.io

  • Claude Marketplace: /plugin install bookmind

  • GitHub: github.com/bbookmind/mcp


License

MIT — free to use, modify, and distribute.


Support

Available Tools

14 tools
bookmind.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).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 14 tools

    Disambiguation5/5

    Each tool has a distinct purpose with no overlap: categorization, approval, rejection, fetching, reconciliation, anomaly detection, reporting, etc. The workflow is clear and unambiguous.

    Naming Consistency4/5

    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.

    Tool Count5/5

    14 tools cover a comprehensive bookkeeping workflow without being overwhelming. Each tool serves a clear need, and the count feels right for the domain.

    Completeness5/5

    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

    ActivityNo data
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      An 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.
      -
    • A
      license
      A
      quality
      D
      maintenance
      MCP 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.
      8
      MIT
    • A
      license
      B
      quality
      B
      maintenance
      A 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.
      116
      64 npm
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Comprehensive 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