personal_db is an open-source sync layer that pipes your ๐sleep, ๐ฌmessages, ๐ตmoney, ๐ฑscreen time, ๐calendar, and ๐commits into one local SQLite file โ and serves it to Claude Code, Claude Desktop, Cursor, and any MCP agent.
Connect it once, and any agent you use can answer with your real data โ across sources that have never been in the same place before.
how did my sleep track against my shipping weeks last quarter?
โบ personal_db ยท query
SELECT w.week, w.avg_sleep_h, c.commits FROM whoop_weekly w JOIN github_weekly c USING (week) ORDER BY w.week;
Your two biggest shipping weeks (41 and 44 commits) both followed weeks you averaged 7h+ of sleep. The crash weeks tell the same story in reverse โ under 6h10m, commits fell by roughly a third.
what did I promise people over iMessage this week?
โบ personal_db ยท query
SELECT contact, text, sent_at
FROM imessage_messages
WHERE is_from_me = 1
AND sent_at > date('now', '-7 days')
AND text GLOB '*[Ii]''ll *';
log that I meditated today
โบ personal_db ยท log_event
{ "tracker": "habits", "event": "meditate" }
Store fragments extracted from past conversations. If it never came up in chat, it doesn't exist. Recall is fuzzy, unstructured, and lives in someone's cloud.
Syncs what actually happened โ sleep, spend, screen time, messages, commits โ whether or not you ever mentioned it. Structured tables, joinable with SQL, in a local file you own.
A memory layer can't tell you how you slept last Tuesday. Your database can โ and your agent can join it against everything else.
Everything lands in ~/personal_db/db.sqlite. Yours to query, back up, or take with you.
Auto-installs into Claude Code, Claude Desktop, and Cursor during setup. Any MCP agent can connect.
Wearables, messages, money, screen time, commits โ even browser-only feeds, via a companion Chrome extension. Browse them โ
Syncs itself in the background every 10 minutes. Nothing to schedule, nothing to babysit.
Ask Claude to use the create_tracker prompt โ it designs the schema and writes all four files.
Your API keys live in one file on your disk. There is no server side. There is no telemetry.
Sources sync themselves on a schedule, the way company data pipelines do โ except the warehouse is a file on your Mac and the analyst is your agent.
Whoopwhoop
Ouraoura
iMessageimessage
๐ฑScreen Timescreen_time
GitHubgithub_commits
Plaidplaid
Calendarcalendar
Chrome Historychrome_history
โ
Habitshabits
Contactscontacts
PersonalDB.app wraps your whole database in a real Mac app โ apps for attention, finance, and subscriptions; live health for every source; light, dark, and Morandi themes; a discreet mode that blurs sensitive numbers before anyone looks over your shoulder. Agents read over MCP whether or not it's open.
cloud services involved
SQLite file, owned by you
accounts to create
personal_db has no backend, no accounts, and no analytics. Sync runs on your Mac, the database lives in your home directory, and agents access it over local MCP. Delete the folder and it's gone.
Every agent conversation starts from zero.
Memory layers patch that with fragments of past chats. But your life doesn't happen in the chat.
It happens in your sleep, your messages, your money, your hours โ and that record belongs in a file you own, not in someone's cloud.
personal_db is exactly that โ a database of you, for the agents that work for you.