Local-first · open source

Your money, on your machine — answerable in plain English.

House of Hearth links your bank, credit and brokerage accounts through Plaid, keeps everything in a single encrypted SQLite file, and ships a read-only MCP server so you can simply ask Claude about your finances. Nothing is hosted. Nothing leaves your laptop.

Get started Star on GitHub MIT licensed · runs on macOS, Windows & Linux
read-only · 5 MCP tools

Ask, don't dig.

Spreadsheets make you hunt. House of Hearth's local MCP server hands Claude five read-only query tools — so you ask a question in your own words and get an answer straight from your own data.

The agent can read your spending. It can never move money, call Plaid, or decrypt your bank tokens.

● claude desktop · finance-tracker
You
What did I spend on dining out last month, and what was the biggest hit?
Claude
You spent $342.18 on dining across 11 transactions. The largest was $85.00 at Chez Panisse on Apr 5.
↳ called category_spend() · search_transactions()

Built like a vault, not a SaaS.

Every design choice favours your privacy and your control.

Natural-language finance

A local stdio MCP server exposes five read-only tools so Claude answers questions from your real numbers.

Secrets encrypted at rest

Plaid tokens are sealed with AES-GCM; the master key lives in your OS keychain, never on disk. A stolen DB file is inert.

Incremental sync, crash-safe

Plaid's cursor sync commits one page at a time and soft-deletes removed rows — a sync that dies mid-run resumes cleanly.

One core, two consumers

A pure-Python core/ layer is shared by the FastAPI app and the MCP server, so query logic lives in exactly one place.

Least-privilege AI

The MCP server opens SQLite read-only, never imports the crypto layer, and has no path to Plaid. Worst case: it reads.

Yours, end to end

No cloud, no public ingress, no webhooks. It runs only when you open it — on your hardware, under your login.

Get started in four commands.

Clone it, add your Plaid Sandbox keys, and you're running locally in minutes.

bash — house_of_hearth
# 1 — clone
$ git clone https://github.com/Kandel-Bibas/House_of_Hearth.git
$ cd House_of_Hearth

# 2 — backend (Python 3.11+)
$ python3 -m venv .venv && source .venv/bin/activate
$ pip install -e ".[dev]" && cp .env.example .env   # add Plaid keys

# 3 — frontend
$ cd frontend && pnpm install && cd ..

# 4 — run the API + UI together
$ make dev
→ API   http://localhost:8000
→ UI    http://localhost:5173

Full setup, the HTTP/MCP reference, and the security model are in the README. Wiring it into Claude Desktop takes one config block — see the MCP setup guide.

Runs where you do.

The secrets layer uses the cross-platform keyring library, so your master key sits in the native vault on every OS.

macOS
Keychain
Built & tested here · double-click launcher
Windows
Credential Locker
Run with make dev / uvicorn + vite
Linux
Secret Service
GNOME Keyring / KWallet on the desktop

Under the hood

Python 3.11+ FastAPI SQLAlchemy 2.0 Alembic SQLite · WAL Plaid AES-GCM MCP / FastMCP React 19 TypeScript Vite Tailwind v4 TanStack Query Recharts pytest