Local-first Apple Notes backup control room for macOS with a read-only MCP surface.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
Apple Notes Snapshot is the backup control room for Apple Notes on
macOS. Keep the upstream notes-exporter engine, then add path-aware exports,
launchd scheduling, visible health checks, and a calmer recovery path when
the local backup loop drifts.
π€ Sister repo: looking to recover deleted notes after the fact, not back them up beforehand? See notes-recover β the forensic-grade reader for Apple Notes'
NoteStore.sqlite(recover deleted notes, browse the raw store, ship audit-ready bundles).notebackupcovers the before;notes-recovercovers the after. Together they cover the full Apple Notes lifecycle on macOS.
After the control room already makes sense, the repo also ships extra builder and diagnostics surfaces so humans and coding agents can inspect the same backup state without turning the workflow into a hosted service.
Start the 3-step quickstart | First-run troubleshooting | Open the proof page | Compare with upstream | Browse release history | Get support or routing help

launchd to schedule repeatable snapshots instead of babysitting manual exports.Category: Apple Notes backup control room. AI/agent hook: AI-assisted diagnostics plus optional coding-agent access once the operator workflow is already clear. Result: a calmer, more reviewable backup workflow on your own Mac.
Best fit: people who already rely on Apple Notes and want a calmer, reviewable backup routine on their own Mac.
Not the goal: cloud sync, team collaboration, or two-way write-back into Apple Notes.
If you only want the shortest truthful filter before reading deeper, use this table first:
| What you need to know | Current answer |
|---|---|
| Product thesis | an Apple Notes backup control room for macOS |
| First success | ./notesctl run --no-status -> ./notesctl install --minutes 30 --load -> ./notesctl verify |
| First proof surface | the proof page after one healthy local loop exists |
| Second ring only | AI Diagnose, Local Web API, and MCP come after the operator path already makes sense |
| What it must never be reduced to | a hosted Notes service, cloud sync product, or generic AI dashboard |
launchd turns a one-off export into a repeatable local rhythm.status, verify, doctor, logs, and proof pages all stay on the same local facts.If you want the shortest public evidence trail after that first pass, open the proof page. It collects the repo-owned gates, the GitHub-controlled release and Pages evidence, and the current access boundary in one place.
Treat the first healthy loop like a three-stop checklist, not like a dashboard to decode all at once.
./notesctl run --no-status once so macOS can surface permissions and
the local ledger can record a first successful baseline../notesctl install --minutes 30 --load after that first run so the
workflow becomes a repeatable launchd loop instead of a manual chore../notesctl verify first, then ./notesctl doctor only if warnings or
empty state remain.After that verified loop exists, the Web console, proof page, AI Diagnose, Local Web API, and MCP surfaces become much easier to read because they are all describing a baseline you already proved.
The public product front door is still the local backup control room. The lanes
below are for builders after the first healthy loop exists; they do not replace
Run -> Install -> Verify.
launchd loop, and the health check surface on your own Mac./notesctl mcp and the root server.jsonexamples/public-skills/notes-snapshot-control-room/
teaches hosts how to attach to that same local control room.mcpb packaging
plugins/apple-notes-snapshot-control-room/
and packaging/mcpb/ are host-shaped packaging
surfaces around the same local workflowUse the integration links below only after the operator loop already makes sense.
Secondary integration reads after the first healthy loop: AI Diagnose | Local Web API | MCP Provider | Distribution and listing boundaries | For Codex / Claude Code integrations
Start here if you want the shortest honest path from manual export to a repeatable local snapshot loop. The first-successful-run promise is 3 steps and about 3 minutes, not a zero-click install.
config/notes_snapshot.env and keep or change the default export path.Fail fast:
./notesctl verify says FAIL: no last_success record; run ./notesctl run,
you have not completed the first manual export yet../notesctl permissions and the
public troubleshooting guide.Keep the operator lane and the maintainer lane separate.
./notesctl run --no-status./notesctl install --minutes 30 --load./notesctl verify./notesctl doctor./notesctl status --full./notesctl ai-diagnose, ./notesctl web, and ./notesctl mcp./notesctl clean-cache --dry-run./notesctl clean-cache./notesctl rebuild-dev-env./notesctl update-vendor./notesctl setup / ./notesctl self-healIf your goal is a healthy backup loop, stay in the operator lane first. The maintainer lane is for repo upkeep and contributor verification after the local workflow already makes sense.
The upstream notes-exporter
project is great when you want to export Apple Notes right now. This repository
exists for the moment when "run it once" turns into "keep it healthy every
day."
Apple Notes Snapshot wraps the upstream exporter with:
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/apple-notes-snapshot)<a href="https://allmcps.com/mcp/apple-notes-snapshot"><img src="https://allmcps.com/api/badge/apple-notes-snapshot?style=directory" alt="Apple Notes Snapshot on AllMCPs" /></a>