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
-
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 model -
Your history comes with you. Import from bank files (CSV/OFX/QFX/QBO/Excel/Parquet), 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
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.
Today's install is for developers. A
brew installpath is in flight. Until then,git clone+ uv is the path. 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 setupThe 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
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) and a watched-folder inbox, Plaid sync (cash + credit cards), live Google Sheets sync, cross-source dedup and transfer detection, rule-based categorization with an opt-in LLM-assist step, eight curated reports, privacy-safe ad-hoc SQL, reversible edits with a full audit trail, and moneybin system doctor integrity checks.
In flight: a brew install path and first-run onboarding, drop-any-PDF import (AI-assisted extraction), an extensible report framework, Plaid production approval, and the contributor extension contract.
Planned: investment & cost-basis tracking, 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
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
- 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
- Issues: GitHub Issues for bugs and feature requests
- Discussions: GitHub Discussions for questions, ideas, and show-and-tell
→ CONTRIBUTING.md — dev setup, project structure, scenario runner, branching conventions
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