@bbookmind/mcp 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +27 -0
- package/.claude-plugin/plugin.json +18 -0
- package/.env.example +15 -0
- package/.github/workflows/validate.yml +55 -0
- package/CEO_QUICKSTART.md +161 -0
- package/CLAUDE.md +30 -0
- package/CNAME +1 -0
- package/LAUNCH_CONTENT.md +210 -0
- package/LICENSE +21 -0
- package/README.md +196 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +283 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/db.d.ts +6 -0
- package/dist/lib/db.d.ts.map +1 -0
- package/dist/lib/db.js +209 -0
- package/dist/lib/db.js.map +1 -0
- package/dist/lib/llm.d.ts +14 -0
- package/dist/lib/llm.d.ts.map +1 -0
- package/dist/lib/llm.js +110 -0
- package/dist/lib/llm.js.map +1 -0
- package/dist/lib/qbo.d.ts +35 -0
- package/dist/lib/qbo.d.ts.map +1 -0
- package/dist/lib/qbo.js +157 -0
- package/dist/lib/qbo.js.map +1 -0
- package/dist/tools/anomalies.d.ts +3 -0
- package/dist/tools/anomalies.d.ts.map +1 -0
- package/dist/tools/anomalies.js +142 -0
- package/dist/tools/anomalies.js.map +1 -0
- package/dist/tools/approveCategories.d.ts +3 -0
- package/dist/tools/approveCategories.d.ts.map +1 -0
- package/dist/tools/approveCategories.js +41 -0
- package/dist/tools/approveCategories.js.map +1 -0
- package/dist/tools/categorize.d.ts +3 -0
- package/dist/tools/categorize.d.ts.map +1 -0
- package/dist/tools/categorize.js +160 -0
- package/dist/tools/categorize.js.map +1 -0
- package/dist/tools/chaseEmail.d.ts +3 -0
- package/dist/tools/chaseEmail.d.ts.map +1 -0
- package/dist/tools/chaseEmail.js +29 -0
- package/dist/tools/chaseEmail.js.map +1 -0
- package/dist/tools/fetchTransactions.d.ts +3 -0
- package/dist/tools/fetchTransactions.d.ts.map +1 -0
- package/dist/tools/fetchTransactions.js +72 -0
- package/dist/tools/fetchTransactions.js.map +1 -0
- package/dist/tools/learnRules.d.ts +3 -0
- package/dist/tools/learnRules.d.ts.map +1 -0
- package/dist/tools/learnRules.js +72 -0
- package/dist/tools/learnRules.js.map +1 -0
- package/dist/tools/listCompanies.d.ts +3 -0
- package/dist/tools/listCompanies.d.ts.map +1 -0
- package/dist/tools/listCompanies.js +26 -0
- package/dist/tools/listCompanies.js.map +1 -0
- package/dist/tools/monthlyClose.d.ts +3 -0
- package/dist/tools/monthlyClose.d.ts.map +1 -0
- package/dist/tools/monthlyClose.js +92 -0
- package/dist/tools/monthlyClose.js.map +1 -0
- package/dist/tools/reconcile.d.ts +3 -0
- package/dist/tools/reconcile.d.ts.map +1 -0
- package/dist/tools/reconcile.js +86 -0
- package/dist/tools/reconcile.js.map +1 -0
- package/dist/tools/rejectCategories.d.ts +3 -0
- package/dist/tools/rejectCategories.d.ts.map +1 -0
- package/dist/tools/rejectCategories.js +36 -0
- package/dist/tools/rejectCategories.js.map +1 -0
- package/dist/tools/selectCompany.d.ts +3 -0
- package/dist/tools/selectCompany.d.ts.map +1 -0
- package/dist/tools/selectCompany.js +28 -0
- package/dist/tools/selectCompany.js.map +1 -0
- package/dist/tools/syncToQbo.d.ts +3 -0
- package/dist/tools/syncToQbo.d.ts.map +1 -0
- package/dist/tools/syncToQbo.js +53 -0
- package/dist/tools/syncToQbo.js.map +1 -0
- package/dist/tools/undoCategories.d.ts +3 -0
- package/dist/tools/undoCategories.d.ts.map +1 -0
- package/dist/tools/undoCategories.js +50 -0
- package/dist/tools/undoCategories.js.map +1 -0
- package/dist/tools/vendorSearch.d.ts +3 -0
- package/dist/tools/vendorSearch.d.ts.map +1 -0
- package/dist/tools/vendorSearch.js +39 -0
- package/dist/tools/vendorSearch.js.map +1 -0
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/index.html +403 -0
- package/install/claude-desktop.json +14 -0
- package/install/cline.json +16 -0
- package/install/continue.json +14 -0
- package/install/cursor.json +14 -0
- package/install/goose.yaml +10 -0
- package/install/lm-studio.json +14 -0
- package/install/vscode-copilot.json +14 -0
- package/install/windsurf.json +14 -0
- package/mcp-server.toml +30 -0
- package/package.json +49 -0
- package/server.json +136 -0
- package/src/index.ts +313 -0
- package/src/lib/db.ts +212 -0
- package/src/lib/llm.ts +140 -0
- package/src/lib/qbo.ts +187 -0
- package/src/tools/anomalies.ts +144 -0
- package/src/tools/approveCategories.ts +46 -0
- package/src/tools/categorize.ts +166 -0
- package/src/tools/chaseEmail.ts +30 -0
- package/src/tools/fetchTransactions.ts +79 -0
- package/src/tools/learnRules.ts +71 -0
- package/src/tools/listCompanies.ts +30 -0
- package/src/tools/monthlyClose.ts +95 -0
- package/src/tools/reconcile.ts +86 -0
- package/src/tools/rejectCategories.ts +43 -0
- package/src/tools/selectCompany.ts +33 -0
- package/src/tools/syncToQbo.ts +56 -0
- package/src/tools/undoCategories.ts +50 -0
- package/src/tools/vendorSearch.ts +32 -0
- package/src/types.ts +11 -0
- package/tsconfig.json +23 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "bookmind-marketplace",
|
|
3
|
+
"owner": {
|
|
4
|
+
"name": "bookmind",
|
|
5
|
+
"email": "support@bookmind.dev"
|
|
6
|
+
},
|
|
7
|
+
"description": "AI bookkeeping for QuickBooks Online. Use any model, any provider.",
|
|
8
|
+
"plugins": [
|
|
9
|
+
{
|
|
10
|
+
"name": "bookmind",
|
|
11
|
+
"source": "./",
|
|
12
|
+
"description": "AI bookkeeping for QuickBooks Online — auto-categorize, reconcile, monthly close, anomaly detection, chase emails",
|
|
13
|
+
"displayName": "BookMind — AI Bookkeeper",
|
|
14
|
+
"version": "1.0.0",
|
|
15
|
+
"author": {
|
|
16
|
+
"name": "bookmind"
|
|
17
|
+
},
|
|
18
|
+
"homepage": "https://github.com/your-org/bookmind",
|
|
19
|
+
"repository": "https://github.com/your-org/bookmind",
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"keywords": ["mcp", "quickbooks", "bookkeeping", "accounting", "ai-agent"],
|
|
22
|
+
"category": "finance",
|
|
23
|
+
"tags": ["quickbooks", "bookkeeping", "accounting", "automation"],
|
|
24
|
+
"defaultEnabled": true
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "bookmind",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "AI bookkeeping for QuickBooks Online. Use any model, any provider.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "bookmind",
|
|
7
|
+
"email": "support@bookmind.dev"
|
|
8
|
+
},
|
|
9
|
+
"repository": "https://github.com/your-org/bookmind",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"keywords": ["mcp", "quickbooks", "bookkeeping", "accounting", "ai-agent"],
|
|
12
|
+
"mcp": {
|
|
13
|
+
"server": {
|
|
14
|
+
"command": "npx",
|
|
15
|
+
"args": ["-y", "@bookmind/mcp"]
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
package/.env.example
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# QuickBooks (required)
|
|
2
|
+
QBO_CLIENT_ID=
|
|
3
|
+
QBO_CLIENT_SECRET=
|
|
4
|
+
QBO_REDIRECT_URI=http://localhost:3000/callback
|
|
5
|
+
QBO_ENVIRONMENT=sandbox
|
|
6
|
+
|
|
7
|
+
# AI Provider (optional — pick ONE)
|
|
8
|
+
# BookMind runs in rules-only mode without any of these
|
|
9
|
+
GROQ_API_KEY=
|
|
10
|
+
NVIDIA_API_KEY=
|
|
11
|
+
GOOGLE_API_KEY=
|
|
12
|
+
MISTRAL_API_KEY=
|
|
13
|
+
OPENAI_API_KEY=
|
|
14
|
+
ANTHROPIC_API_KEY=
|
|
15
|
+
OLLAMA_BASE_URL=http://localhost:11434
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
name: Validate & Publish
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [main]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [main]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
validate:
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- uses: actions/checkout@v4
|
|
14
|
+
- uses: actions/setup-node@v4
|
|
15
|
+
with:
|
|
16
|
+
node-version: '20'
|
|
17
|
+
cache: 'npm'
|
|
18
|
+
- run: npm ci
|
|
19
|
+
- run: npm run lint
|
|
20
|
+
- run: npm run build
|
|
21
|
+
- run: npm test
|
|
22
|
+
- name: Validate Claude Plugin
|
|
23
|
+
run: npx claude plugin validate
|
|
24
|
+
env:
|
|
25
|
+
CLAUDE_CODE_VERSION: latest
|
|
26
|
+
|
|
27
|
+
publish-npm:
|
|
28
|
+
needs: validate
|
|
29
|
+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
|
30
|
+
runs-on: ubuntu-latest
|
|
31
|
+
steps:
|
|
32
|
+
- uses: actions/checkout@v4
|
|
33
|
+
- uses: actions/setup-node@v4
|
|
34
|
+
with:
|
|
35
|
+
node-version: '20'
|
|
36
|
+
registry-url: 'https://registry.npmjs.org'
|
|
37
|
+
- run: npm ci
|
|
38
|
+
- run: npm run build
|
|
39
|
+
- run: npm publish --access public
|
|
40
|
+
env:
|
|
41
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
42
|
+
|
|
43
|
+
# Auto-bump marketplace pin on push
|
|
44
|
+
bump-marketplace:
|
|
45
|
+
needs: validate
|
|
46
|
+
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
|
47
|
+
runs-on: ubuntu-latest
|
|
48
|
+
steps:
|
|
49
|
+
- uses: actions/checkout@v4
|
|
50
|
+
- name: Bump marketplace pin
|
|
51
|
+
run: |
|
|
52
|
+
git config user.name "github-actions[bot]"
|
|
53
|
+
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
54
|
+
# The community marketplace auto-pins to commit SHA on push
|
|
55
|
+
# This job just ensures the build passes
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
# BookMind — Quick Start Commands for CEO
|
|
2
|
+
|
|
3
|
+
## Your Part (CEO) — Do These First (15 min total)
|
|
4
|
+
|
|
5
|
+
### 1. Anthropic Console (needed for Plugin Marketplace submission)
|
|
6
|
+
- Go to https://platform.claude.com
|
|
7
|
+
- Sign up / sign in (free)
|
|
8
|
+
- This gives you access to submit to the Community Marketplace
|
|
9
|
+
- **Takes 2 minutes**
|
|
10
|
+
|
|
11
|
+
### 2. Lemon Squeezy (you said you have this)
|
|
12
|
+
- Log in to your Lemon Squeezy dashboard
|
|
13
|
+
- Create **3 products**:
|
|
14
|
+
1. **BookMind Pro** — $29/mo, recurring, 14-day trial
|
|
15
|
+
2. **BookMind Firm** — $149/mo, recurring, 14-day trial
|
|
16
|
+
3. **BookMind Pro Annual** — $290/yr (optional, for yearly discount)
|
|
17
|
+
- For each: enable **Webhooks** → add URL: `https://your-domain.com/api/lemon-webhook` (we'll build this later; for now just note the webhook secret)
|
|
18
|
+
- Copy **Store ID**, **Product IDs**, and **Webhook Secret** — save these
|
|
19
|
+
- **Takes 10 minutes**
|
|
20
|
+
|
|
21
|
+
### 3. QuickBooks Developer App (for live testing)
|
|
22
|
+
- Go to https://developer.intuit.com
|
|
23
|
+
- Create App → "QuickBooks Online API" → OAuth 2.0
|
|
24
|
+
- Set Redirect URI: `http://localhost:3000/callback` (for local dev)
|
|
25
|
+
- Copy **Client ID** and **Client Secret**
|
|
26
|
+
- **Takes 5 minutes**
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## My Part (CTO) — Building Now
|
|
31
|
+
|
|
32
|
+
Complete project in `C:\Users\Acer\bookmind` with:
|
|
33
|
+
|
|
34
|
+
```
|
|
35
|
+
bookmind/
|
|
36
|
+
├── .claude-plugin/
|
|
37
|
+
│ ├── plugin.json # Plugin manifest (for /plugin install)
|
|
38
|
+
│ └── marketplace.json # Marketplace catalog entry
|
|
39
|
+
├── .github/workflows/
|
|
40
|
+
│ └── validate.yml # CI: build + lint + test + plugin validate
|
|
41
|
+
├── install/
|
|
42
|
+
│ ├── claude-desktop.json # MCP config for each agent
|
|
43
|
+
│ ├── cursor.json
|
|
44
|
+
│ ├── cline.json
|
|
45
|
+
│ ├── continue.json
|
|
46
|
+
│ ├── windsurf.json
|
|
47
|
+
│ ├── vscode-copilot.json
|
|
48
|
+
│ ├── lm-studio.json
|
|
49
|
+
│ └── goose.json
|
|
50
|
+
├── src/
|
|
51
|
+
│ ├── index.ts # MCP server entry (stdio transport)
|
|
52
|
+
│ ├── tools/ # 7 bookkeeper tools
|
|
53
|
+
│ │ ├── categorize.ts # Auto-categorize (rules + LLM)
|
|
54
|
+
│ │ ├── reconcile.ts # Bank ↔ invoice/bill matching
|
|
55
|
+
│ │ ├── anomalies.ts # Duplicate, drift, outliers, weekends
|
|
56
|
+
│ │ ├── monthlyClose.ts # P&L, BS, CF, top vendors, action items
|
|
57
|
+
│ │ ├── vendorSearch.ts # Semantic search
|
|
58
|
+
│ │ ├── chaseEmail.ts # Friendly/firm/escalation emails
|
|
59
|
+
│ │ └── learnRules.ts # User corrections → persistent rules
|
|
60
|
+
│ └── lib/ # QBO client, SQLite, LLM interface
|
|
61
|
+
├── index.html # GitHub Pages landing page
|
|
62
|
+
├── README.md # Full docs
|
|
63
|
+
├── package.json
|
|
64
|
+
├── tsconfig.json
|
|
65
|
+
├── .gitignore
|
|
66
|
+
└── LICENSE
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### What's Done
|
|
70
|
+
- [x] Project scaffold + config
|
|
71
|
+
- [x] MCP server with 7 tools (mock data mode — works without QBO keys)
|
|
72
|
+
- [x] SQLite schema (transactions, rules, anomalies, invoices)
|
|
73
|
+
- [x] Plugin manifests (plugin.json + marketplace.json)
|
|
74
|
+
- [x] CI workflow
|
|
75
|
+
- [x] Landing page (index.html)
|
|
76
|
+
- [x] README
|
|
77
|
+
- [x] Multi-provider LLM (Groq, NVIDIA, Google, Mistral, OpenAI, Anthropic, Ollama) — auto-detects from env
|
|
78
|
+
- [x] Rules-only fallback when no AI key set
|
|
79
|
+
- [x] Install configs for 8 MCP clients
|
|
80
|
+
|
|
81
|
+
### What's Next (after you do your 3 items above)
|
|
82
|
+
1. `npm install` → `npm run build` — verify compiles
|
|
83
|
+
2. Add real QBO OAuth + API client in `src/lib/qbo.ts`
|
|
84
|
+
3. Lemon Squeezy webhook endpoint + license-key gating
|
|
85
|
+
4. `npx @bookmind/mcp` — test locally in your agent
|
|
86
|
+
5. `npm publish` — publish to npm
|
|
87
|
+
6. Submit to **MCP Registry** (PR to modelcontextprotocol/registry)
|
|
88
|
+
7. Submit to **Claude Plugin Community Marketplace** (platform.claude.com/plugins/submit)
|
|
89
|
+
8. PR to `Chat2AnyLLM/awesome-claude-plugins`
|
|
90
|
+
9. Launch posts (Show HN, 4 Reddits, IH, X, YouTube)
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Test Locally (Once You Have QBO Keys)
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
cd C:\Users\Acer\bookmind
|
|
98
|
+
npm install
|
|
99
|
+
npm run build
|
|
100
|
+
|
|
101
|
+
# Set env vars (PowerShell)
|
|
102
|
+
$env:QBO_CLIENT_ID="your_id"
|
|
103
|
+
$env:QBO_CLIENT_SECRET="your_secret"
|
|
104
|
+
$env:QBO_REDIRECT_URI="http://localhost:3000/callback"
|
|
105
|
+
$env:QBO_ENVIRONMENT="sandbox"
|
|
106
|
+
|
|
107
|
+
# Optional: add ONE AI provider key for smart categorization
|
|
108
|
+
$env:GROQ_API_KEY="your_groq_key"
|
|
109
|
+
|
|
110
|
+
# Run MCP server
|
|
111
|
+
npx @bookmind/mcp
|
|
112
|
+
# Or from source:
|
|
113
|
+
node dist/index.js
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
Then in another terminal:
|
|
117
|
+
```bash
|
|
118
|
+
claude --plugin-dir ./bookmind
|
|
119
|
+
# Or in Claude Code: /plugin install bookmind@bookmind
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
Try: **"Categorize my uncategorized transactions from this month"**
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Files You'll Need to Update (CEO inputs)
|
|
127
|
+
|
|
128
|
+
| File | What to Add |
|
|
129
|
+
|------|-------------|
|
|
130
|
+
| `.claude-plugin/plugin.json` | Your name/email in `author` |
|
|
131
|
+
| `.claude-plugin/marketplace.json` | Your GitHub repo URL |
|
|
132
|
+
| `README.md` | Your GitHub org in badges/links |
|
|
133
|
+
| `index.html` | Your pricing page URLs (Lemon Squeezy checkout links) |
|
|
134
|
+
| `src/lib/qbo.ts` | Your QBO Client ID/Secret (or use env vars) |
|
|
135
|
+
| `LEMON_SQUEEZY_CONFIG` | Store ID, Product IDs, Webhook Secret (env vars) |
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Timeline
|
|
140
|
+
|
|
141
|
+
| Day | Goal |
|
|
142
|
+
|-----|------|
|
|
143
|
+
| Today | You: 3 CEO tasks above. Me: finish QBO client + LS webhook + build verification |
|
|
144
|
+
| Day 1 | Local test passes, npm publish, MCP Registry PR, Plugin submission |
|
|
145
|
+
| Day 2 | Approvals land → GitHub Pages live, launch posts go out |
|
|
146
|
+
| Day 7 | First paying customer (Pro trial converts) |
|
|
147
|
+
| Day 30 | 50 Pro users = $1,450 MRR |
|
|
148
|
+
| Day 90 | 200 Pro + 10 Firm = $7,000 MRR |
|
|
149
|
+
| Day 180 | 1,000 Pro + 50 Firm = $36,000 MRR |
|
|
150
|
+
| Day 365 | 2,500 Pro + 100 Firm = **$1.1M ARR** |
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
## Questions for You (Reply When Ready)
|
|
155
|
+
|
|
156
|
+
1. **Anthropic Console** — done? (platform.claude.com)
|
|
157
|
+
2. **Lemon Squeezy** — 3 products created? Webhook secret saved?
|
|
158
|
+
3. **QBO Developer App** — Client ID/Secret ready?
|
|
159
|
+
4. **GitHub Repo** — want me to push to `your-org/bookmind`? (need repo URL or I'll init local git)
|
|
160
|
+
|
|
161
|
+
Once you confirm 1-3, I'll wire the real integrations and we ship.
|
package/CLAUDE.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# BookMind
|
|
2
|
+
|
|
3
|
+
AI bookkeeping for QuickBooks Online. Open-source MCP server with 14 tools.
|
|
4
|
+
|
|
5
|
+
## Quick Install
|
|
6
|
+
```bash
|
|
7
|
+
npx @bbookmind/mcp
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Env vars needed
|
|
11
|
+
- `QBO_CLIENT_ID`, `QBO_CLIENT_SECRET` (from Intuit Developer)
|
|
12
|
+
- Optional: one AI provider key (`GROQ_API_KEY`, `ANTHROPIC_API_KEY`, etc.)
|
|
13
|
+
|
|
14
|
+
## Key commands for testing
|
|
15
|
+
```bash
|
|
16
|
+
npm run build
|
|
17
|
+
npm start
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Directory submission checklist
|
|
21
|
+
- [ ] Official MCP Registry (via mcp-publisher)
|
|
22
|
+
- [ ] Claude Community Marketplace (platform.claude.com/plugins/submit)
|
|
23
|
+
- [ ] awesome-mcp-servers PR (punkpeye/awesome-mcp-servers)
|
|
24
|
+
- [ ] Smithery (smithery.ai)
|
|
25
|
+
- [ ] MCP.so (github.com/chatmcp/mcpso)
|
|
26
|
+
|
|
27
|
+
## Launch posts
|
|
28
|
+
- Show HN
|
|
29
|
+
- r/MCP, r/QuickBooks, r/Bookkeeping
|
|
30
|
+
- X/Twitter: @bookmind_dev
|
package/CNAME
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
bookmind.dev
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
# BookMind Launch Content
|
|
2
|
+
|
|
3
|
+
## Show HN Post
|
|
4
|
+
|
|
5
|
+
**Title:** Show HN: BookMind – Open-Source AI Bookkeeping for QuickBooks Online (MCP Server)
|
|
6
|
+
|
|
7
|
+
**Body:**
|
|
8
|
+
|
|
9
|
+
I built BookMind — an open-source MCP server that brings AI-powered bookkeeping to QuickBooks Online.
|
|
10
|
+
|
|
11
|
+
It runs locally, stores data in SQLite, and works with any LLM provider (OpenAI, Anthropic, Google, Groq, Mistral, NVIDIA, Ollama — or rules-only mode with no API key at all).
|
|
12
|
+
|
|
13
|
+
**14 tools:**
|
|
14
|
+
|
|
15
|
+
- Auto-categorize transactions (rules + any LLM)
|
|
16
|
+
- Approve/reject/undo categorizations
|
|
17
|
+
- Fetch and sync data to/from QuickBooks Online
|
|
18
|
+
- Reconcile bank feeds with fuzzy matching
|
|
19
|
+
- Statistical anomaly detection (duplicates, drift, outliers)
|
|
20
|
+
- Monthly close package (P&L, Balance Sheet, Cash Flow)
|
|
21
|
+
- Natural language vendor search
|
|
22
|
+
- Professional chase email generator
|
|
23
|
+
- Learning engine (corrections → persistent rules)
|
|
24
|
+
- Multi-company support with OAuth
|
|
25
|
+
|
|
26
|
+
**Why I built it:**
|
|
27
|
+
|
|
28
|
+
QuickBooks Online has an official MCP server, but it's a raw API wrapper — you need to know QuickBooks IDs, entity names, and API structure. BookMind sits on top as an intelligent bookkeeper layer: you say "categorize my transactions" or "generate March close package" and it just works.
|
|
29
|
+
|
|
30
|
+
Also, Intuit's server requires Anthropic. BookMind works with any provider — or no provider at all (rules-only mode).
|
|
31
|
+
|
|
32
|
+
**Stack:** TypeScript, MCP SDK, SQLite (via sql.js), multi-provider LLM abstraction
|
|
33
|
+
|
|
34
|
+
**Install:** `npx @bbookmind/mcp`
|
|
35
|
+
|
|
36
|
+
[https://github.com/bbookmind/mcp](https://github.com/bbookmind/mcp)
|
|
37
|
+
|
|
38
|
+
Would love feedback from anyone doing QuickBooks bookkeeping — what's your biggest pain point?
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Reddit Posts
|
|
43
|
+
|
|
44
|
+
### r/MCP
|
|
45
|
+
|
|
46
|
+
**Title:** BookMind – Open-source MCP server for QuickBooks Online bookkeeping (14 tools)
|
|
47
|
+
|
|
48
|
+
**Body:**
|
|
49
|
+
|
|
50
|
+
Hey r/MCP! I built BookMind, an open-source MCP server that connects AI agents to QuickBooks Online for automated bookkeeping.
|
|
51
|
+
|
|
52
|
+
**Features:**
|
|
53
|
+
- 14 tools: categorize, reconcile, monthly close, anomaly detection, vendor search, chase emails
|
|
54
|
+
- Works with any LLM (OpenAI, Anthropic, Google, Groq, Mistral, NVIDIA, Ollama)
|
|
55
|
+
- Rules-only mode (no API key needed)
|
|
56
|
+
- Local SQLite storage (your data never leaves your machine)
|
|
57
|
+
- Multi-company OAuth support
|
|
58
|
+
|
|
59
|
+
**Quick start:**
|
|
60
|
+
```bash
|
|
61
|
+
npx @bbookmind/mcp
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Then in Claude/Cursor/etc: "Categorize my uncategorized transactions"
|
|
65
|
+
|
|
66
|
+
GitHub: [https://github.com/bbookmind/mcp](https://github.com/bbookmind/mcp)
|
|
67
|
+
|
|
68
|
+
Would love to hear what you think!
|
|
69
|
+
|
|
70
|
+
### r/QuickBooks
|
|
71
|
+
|
|
72
|
+
**Title:** Free open-source tool: AI-powered bookkeeping for QBO via MCP
|
|
73
|
+
|
|
74
|
+
**Body:**
|
|
75
|
+
|
|
76
|
+
I built an open-source MCP server that brings AI bookkeeping to QuickBooks Online. It runs locally, works with Claude/Cursor/any MCP client, and stores everything in SQLite on your machine.
|
|
77
|
+
|
|
78
|
+
**You can ask your AI agent to:**
|
|
79
|
+
- "Categorize my uncategorized transactions" — 90%+ accuracy with learned rules
|
|
80
|
+
- "Reconcile my bank feed" — matches by amount, date, vendor
|
|
81
|
+
- "Generate March close package" — P&L, BS, CF, action items
|
|
82
|
+
- "Any duplicate payments?" — anomaly detection
|
|
83
|
+
- "What did we pay AWS last quarter?" — natural language vendor search
|
|
84
|
+
- "Draft chase emails for overdue invoices" — friendly/firm/escalation
|
|
85
|
+
|
|
86
|
+
**No AI key required** — runs in rules-only mode. If you add a key, it works with any provider (including free options like Groq).
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
npx @bbookmind/mcp
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
[https://github.com/bbookmind/mcp](https://github.com/bbookmind/mcp)
|
|
93
|
+
|
|
94
|
+
Free tier: 50tx/mo. Pro: $29/mo for 1000tx + AI features.
|
|
95
|
+
|
|
96
|
+
### r/Bookkeeping
|
|
97
|
+
|
|
98
|
+
**Title:** I built a free AI bookkeeping tool for QuickBooks — would love your feedback
|
|
99
|
+
|
|
100
|
+
**Body:**
|
|
101
|
+
|
|
102
|
+
I'm a developer who works with a lot of small business owners, and I noticed a pattern: everyone hates manual transaction categorization and month-end close.
|
|
103
|
+
|
|
104
|
+
So I built BookMind — an open-source MCP server that connects to QuickBooks Online and lets you do bookkeeping through your AI agent.
|
|
105
|
+
|
|
106
|
+
**What it does:**
|
|
107
|
+
- Auto-categorize transactions using rules you teach it
|
|
108
|
+
- Reconcile bank feeds automatically
|
|
109
|
+
- Generate monthly close packages (P&L, Balance Sheet, Cash Flow)
|
|
110
|
+
- Detect anomalies (duplicate payments, unusual patterns)
|
|
111
|
+
- Draft chase emails for overdue invoices
|
|
112
|
+
- Search vendor history in plain English
|
|
113
|
+
|
|
114
|
+
**The key thing:** It learns from you. Every time you correct a categorization, it creates a rule so it doesn't make the same mistake again.
|
|
115
|
+
|
|
116
|
+
It's free for up to 50 transactions/month (no credit card). Pro is $29/mo.
|
|
117
|
+
|
|
118
|
+
Install: `npx @bbookmind/mcp`
|
|
119
|
+
|
|
120
|
+
GitHub: [https://github.com/bbookmind/mcp](https://github.com/bbookmind/mcp)
|
|
121
|
+
|
|
122
|
+
I'd love feedback from real bookkeepers — what would make this actually useful for your workflow?
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## X (Twitter) Posts
|
|
127
|
+
|
|
128
|
+
**Post 1 (Launch):**
|
|
129
|
+
BookMind is live! 🚀
|
|
130
|
+
|
|
131
|
+
Open-source AI bookkeeping for QuickBooks Online.
|
|
132
|
+
→ Auto-categorize, reconcile, monthly close
|
|
133
|
+
→ Any LLM provider (or no provider at all)
|
|
134
|
+
→ Your data stays local in SQLite
|
|
135
|
+
→ Works with Claude, Cursor, any MCP client
|
|
136
|
+
|
|
137
|
+
`npx @bbookmind/mcp`
|
|
138
|
+
github.com/bbookmind/mcp
|
|
139
|
+
|
|
140
|
+
**Post 2 (Pain point):**
|
|
141
|
+
Manual transaction categorization is the most hated bookkeeping task.
|
|
142
|
+
|
|
143
|
+
BookMind automates it:
|
|
144
|
+
• 90%+ accuracy with learned rules
|
|
145
|
+
• Works with any AI provider (or zero-cost rules-only mode)
|
|
146
|
+
• Corrections become rules — it gets smarter over time
|
|
147
|
+
|
|
148
|
+
`npx @bbookmind/mcp`
|
|
149
|
+
|
|
150
|
+
**Post 3 (Monthly close):**
|
|
151
|
+
"Generate March close package" → P&L, Balance Sheet, Cash Flow, action items.
|
|
152
|
+
|
|
153
|
+
One prompt. 30 seconds. Done.
|
|
154
|
+
|
|
155
|
+
BookMind for QuickBooks Online.
|
|
156
|
+
Open source. MIT. Free to start.
|
|
157
|
+
|
|
158
|
+
`npx @bbookmind/mcp`
|
|
159
|
+
|
|
160
|
+
**Post 4 (Comparison):**
|
|
161
|
+
Intuit's official MCP server: raw API wrapper, requires Anthropic.
|
|
162
|
+
|
|
163
|
+
BookMind: intelligent bookkeeping layer, any provider, local storage, learns from you.
|
|
164
|
+
|
|
165
|
+
Both are open source. One does your bookkeeping. The other is just an API client.
|
|
166
|
+
|
|
167
|
+
`npx @bbookmind/mcp`
|
|
168
|
+
|
|
169
|
+
---
|
|
170
|
+
|
|
171
|
+
## awesome-mcp-servers PR Content
|
|
172
|
+
|
|
173
|
+
**Entry to add in README.md:**
|
|
174
|
+
|
|
175
|
+
```markdown
|
|
176
|
+
### QuickBooks & Accounting
|
|
177
|
+
|
|
178
|
+
- [BookMind](https://github.com/bbookmind/mcp) - AI bookkeeping for QuickBooks Online. Auto-categorize, reconcile, monthly close, anomaly detection, chase emails. 14 tools. Works with any LLM provider.
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
**PR description:**
|
|
182
|
+
```
|
|
183
|
+
Add BookMind — AI bookkeeping MCP server for QuickBooks Online
|
|
184
|
+
|
|
185
|
+
Features 14 tools including auto-categorization, bank reconciliation, monthly close packages, anomaly detection, natural language vendor search, and chase email generation. Provider-agnostic (OpenAI, Anthropic, Google, Groq, Mistral, NVIDIA, Ollama). Runs locally with SQLite storage.
|
|
186
|
+
|
|
187
|
+
GitHub: https://github.com/bbookmind/mcp
|
|
188
|
+
npm: https://www.npmjs.com/package/@bbookmind/mcp
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Smithery Submission
|
|
194
|
+
|
|
195
|
+
**Server Name:** BookMind
|
|
196
|
+
**Tagline:** AI bookkeeping for QuickBooks Online — automate categorization, reconciliation, and monthly close
|
|
197
|
+
**Description:** BookMind is an open-source MCP server that brings intelligent bookkeeping to QuickBooks Online. It auto-categorizes transactions using learned rules + any LLM provider, reconciles bank feeds against invoices/bills, generates complete monthly close packages (P&L, Balance Sheet, Cash Flow), detects financial anomalies, enables natural language vendor search, and drafts professional chase emails. Provider-agnostic (works with OpenAI, Anthropic, Google, Groq, Mistral, NVIDIA, Ollama — or no provider at all in rules-only mode). All data stays in local SQLite.
|
|
198
|
+
**Category:** Finance & Accounting
|
|
199
|
+
**Tags:** quickbooks, bookkeeping, accounting, finance, qbo
|
|
200
|
+
**GitHub URL:** https://github.com/bbookmind/mcp
|
|
201
|
+
**npm package:** @bbookmind/mcp
|
|
202
|
+
|
|
203
|
+
---
|
|
204
|
+
|
|
205
|
+
## MCP.so Submission
|
|
206
|
+
|
|
207
|
+
**GitHub URL:** https://github.com/bbookmind/mcp
|
|
208
|
+
**Description:** AI bookkeeping for QuickBooks Online. Auto-categorize transactions, reconcile bank feeds, generate monthly close packages, detect anomalies, and draft chase emails — all from your AI agent. Works with any LLM provider (or no provider at all).
|
|
209
|
+
**Tags:** quickbooks, bookkeeping, accounting, qbo, finance
|
|
210
|
+
**Category:** Finance
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024 BookMind
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|