moneybin
Health Warn
- License — License: AGPL-3.0
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Open-source, local-first, AI-native personal finance platform built on DuckDB
Your finances, understood by AI.
The personal finance platform you actually own — easy enough to just ask,
powerful enough to query with SQL, and built for the AI you already use.
As easy as Mint was. As powerful as the tools data engineers actually use. Ask your money anything in plain language — then ask to see the exact SQL behind the answer. Your data lives in one encrypted file on your own machine, and you can walk away with it any time.
Why I built this. When Mint shut down, I lost access to years of my own financial data. I'd switched to Mint from Quicken because it was effortless — and then it was just gone. I work with data all day and always wanted to query my money the way I query everything else: with SQL. So I built the tool I wanted — the ease of Mint, the power of a best-in-class analytics stack, and AI as the primary way you interact with it. — Brandon
What makes MoneyBin different
Ask your money anything. MoneyBin speaks MCP, the protocol your AI assistant uses to reach local tools — so Claude, Cursor, VS Code, Gemini CLI, Codex, and others can answer real questions about your finances. Bring your own model; when a better one ships, MoneyBin works with it on day one. → MCP guide
Query it like a data engineer. Underneath the chat is a real analytics warehouse — DuckDB plus SQLMesh, the framework that compiles and versions SQL pipelines. Every number traces from a canonical table back through a model to your original file. When the AI gives you an answer, ask it to show you the SQL. → SQL access
Built to be extended — by you and your agents. MoneyBin assumes you'll want to track your money your way. The schema and the import pipeline are stable contracts an agent can build against today — and a first-class extension contract for reports, analysis packages, and data providers is taking shape now, so you (or Claude Code, or Cursor) can vibe-code a new report, a custom importer, or a whole tracker on top of your own data. MoneyBin wants to be the first tool your agent reaches for. → Extension contract
You own it, end to end. Local-first by default — one encrypted DuckDB file per profile under
~/.moneybin/, AES-256-GCM at rest. No vendor account required, no data resale, no lock-in. The same code powers an optional hosted tier; switching deployments is moving one file. → Architecture · Threat modelYour history comes with you. Import from bank files (CSV/OFX/QFX/QBO/Excel/Parquet/PDF), sync from Plaid, or connect a live Google Sheet — your categories migrate with you and auto-rules learn from them. Cross-source dedup means re-importing overlapping months never double-counts. → Data import
How it works
graph LR
A["Your bank files<br/>Plaid · Sheets"] --> B["MoneyBin<br/>encrypted DuckDB + SQL"]
B --> C["AI assistants<br/>via MCP"]
B --> D["You<br/>CLI · SQL · agents"]
→ Architecture for the full pipeline.
Quick Start
Today's install is from source. The published
uvx moneybin/pip install moneybinpath lands with MoneyBin's first tagged release (abrew installpath follows). Until then,git clone+ uv is the way in — the commands below work today. Not comfortable with a CLI checkout? Bookmark the project and check back.Platform: macOS is the primary target; Linux works via PyPI; Windows is untested. MoneyBin runs on demand — no daemon, no container, no open network ports (the MCP server speaks stdio).
git clone https://github.com/bsaffel/moneybin.git
cd moneybin
make setup
The first command you run sets up your profile automatically — one encrypted database that's yours, under ~/.moneybin/. Everything you import lands there.
Bring in your data — import a file, drain the watched-folder inbox, or sync a Plaid-connected bank:
moneybin import files path/to/transactions.csv # CSV / TSV / Excel / Parquet / Feather
moneybin import files path/to/checking.qfx # OFX / QFX / QBO
moneybin import inbox # drain ~/Documents/MoneyBin/<profile>/inbox/
moneybin sync pull # Plaid sync (cash + credit-card accounts)
Coming from another tool? Tiller, Mint, and YNAB have first-class migration profiles; Lunch Money, Copilot, Monarch, and Maybe export CSV that the generic importer reads. Beancount and GnuCash users can drop OFX/QFX exports through the same command. → Data import guide
Wire MoneyBin into your AI client and ask in natural language:
moneybin mcp install --client claude-desktop # also: claude-code, cursor, codex, gemini-cli, ...
- "What's my spending by category this month?"
- "Find all my recurring subscriptions and their annual cost."
- "Show me the SQL behind that number."
Or drive the same primitives from the shell — agents and humans share one JSON envelope:
moneybin reports networth --output json
moneybin transactions list --category Groceries --output json
moneybin sql query "SELECT category, SUM(amount) FROM core.fct_transactions GROUP BY 1"
→ Data Import · MCP clients · CLI reference · What works today
Where it stands
MoneyBin is pre-v1. It's in daily use by the author, and the foundation is built to last rather than built to demo.
Working today: the CLI and MCP server (≈70 tools across nine AI clients), encrypted multi-profile storage, file imports (CSV/OFX/QFX/QBO/Excel/Parquet), native-text PDF statement import with saved replayable per-format recipes, a watched-folder inbox, Plaid sync (cash, credit cards, and investments), live Google Sheets sync, cross-source dedup and transfer detection, rule-based categorization with an opt-in LLM-assist step, investment tracking (buys, sells, dividends, four cost-basis methods, tax lots, realized gain/loss — by hand or synced from Plaid), eight curated reports, privacy-safe ad-hoc SQL, reversible edits with a full audit trail, and moneybin system doctor integrity checks.
In flight: a published pip install / brew install path and first-run onboarding, AI-assisted import for scanned and other hard-to-parse PDFs, an extensible report framework, non-author validation of Plaid sync (the link → sync → reconcile round-trip is built and author-tested against Production), and the contributor extension contract.
Planned: investment price feeds and net-worth integration, multi-currency, budgets, a web UI dashboard, and an opt-in hosted tier — same code you can self-host.
→ What works today · Roadmap · Where MoneyBin fits
Is it for you?
MoneyBin's lane is narrow on purpose: your data stays on your machine, AI assists rather than runs the show, the code is open source, and every database file is encrypted at rest. It fits best if you're comfortable in a terminal and want your finances inside your own data and AI workflow. If you need a polished mobile app, a shared household budget, or pure envelope budgeting today, the audience page names the tool that's genuinely a better fit — honestly. → Audience · Comparison
Documentation
- What Works Today — capability snapshot with per-feature links
- Feature Guides — how to use what's shipped
- Roadmap — what's in flight and planned
- Architecture — guarantees, diagram, read/write contract
- Threat Model — what encryption protects against, and what it doesn't
- MCP Server — tool catalog, response envelope, redaction
- Where MoneyBin Fits — the lane it's built for, and who to use instead
- Audience — who MoneyBin is for, today and at launch
- Licensing — why AGPL, what it does and doesn't mean
- Spec Index · Decision Records · Changelog · Security Policy
Community
- Issues: GitHub Issues for bugs and feature requests
- Discussions: GitHub Discussions for questions, ideas, and show-and-tell
Contributing
→ CONTRIBUTING.md — dev setup, project structure, scenario runner, branching conventions
License
AGPL-3.0. MoneyBin uses the same license model as Bitwarden, Plausible, Element, and Sentry — open source, self-hostable, with a planned hosted tier that runs the same code anyone can self-host. → Why AGPL
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found