Yes — Claude has memory now. ChatGPT too. They're useful for
"remember I prefer Python." But that memory lives on their servers,
is bound to your subscription, can be silently rewritten by the
vendor, doesn't move with you when the next AI gets better, and
can't reach outside the chat to remind you about anything.
This is convenience without sovereignty. MyPA is the
archive at the back of the study — structured, queryable,
yours for decades.
Frequently answered
Questions you'll have.
Claude already has memory. Isn't this redundant?
Claude memory and ChatGPT memory are great for conversational
continuity — "use Python", "I live in London", "I prefer short
answers." They aren't great at: structured queries ("all decisions
about investments"), preserving the why of past choices
without silent revision, surviving a vendor change, multi-user
architecture, reaching outside the chat to push a reminder, or
being yours when the company gets acquired. Use both — they're
different layers of the same need.
When MyPA has updates, do I need to reconnect the Claude connector?
For data changes — no. Every Claude tool call hits the
live MyPA database in real time. Save an item now → ask Claude
about it in the next message → it's there. mypa-api restarts,
refresh-token rotation, and new users added on the server are all
transparent — Claude auto-reconnects on the next tool call.
Reconnect IS needed only for:
- New MCP tools added on the server side — Claude caches the tool list
per session, so either open a fresh chat or disconnect/reconnect the
connector to force a fresh tool fetch.
- If the operator rotates
OAUTH_JWT_SECRET — this
invalidates every JWT, so every connector must re-authorize.
- If the connector URL changes (e.g. domain move).
Why ntfy for push? Can't Claude just notify me?
Claude.ai's mobile app shows notifications for new messages in
conversations you're already in — it doesn't have a "wake me at
14:00 with this reminder" API. MyPA's notification layer is a
separate concern: a self-hosted ntfy
server we wire into the install, with mobile apps that work on iOS + Android.
It's optional — if you don't want phone push, skip the ntfy
step in setup; the archive itself, Claude integration, and the web
dashboard all work without it. We chose ntfy specifically because
it's open-source, self-hostable, and doesn't put a third-party
notification provider in the middle of your data.
What if I switch from Claude to a different AI later?
MyPA speaks MCP — Anthropic's open protocol that other vendors
are adopting. Switch from Claude.ai to whatever comes next; your
archive doesn't move. The new AI plugs into the same MCP endpoint,
reads the same data. No migration, no export-import, no lost
history. This is the entire point.
What does it cost to run?
£0 software + the cost of a place to run it. If you already have
a NAS or a home server, that's free. Otherwise: a £4-15/mo VPS works.
No per-user fees — a 5-person family install costs the same as a
1-person install. No API calls to Anthropic are made by MyPA itself
(Claude calls Anthropic; MyPA just holds the data).
Can I install it on my Synology / QNAP / Unraid?
Yes. The Docker compose stack runs on any Docker
host — Synology Container Manager, QNAP Container Station, Unraid
Community Apps, TrueNAS Scale. Same single-file .env to
configure. Walkthrough: docker/README.md.
What happens to my family photos when I save them?
Phone photos (typically 5-10 MB at 4032×3024) are downscaled
to a 2048 px longest edge on upload, re-encoded at 85% JPEG
quality, and the EXIF metadata — including GPS coordinates —
is stripped. A 6 MB photo typically becomes ~700 KB. The image is
still high enough resolution to identify everything in the frame, just
not big enough to waste your VPS disk. If you'd rather store originals
exactly as uploaded, set IMAGE_RESIZE_ENABLED=false. The
operator can also tune IMAGE_MAX_DIMENSION +
IMAGE_JPEG_QUALITY.
What protects my MyPA from being filled up?
Five layers, each independently capable of refusing an oversized
or abusive upload:
- Caddy rejects uploads larger than 10 MB at the proxy.
- FastAPI rejects them again from the
Content-Length header.
- A streaming read aborts immediately if the body exceeds the cap during transfer.
- Magic-byte validation refuses bytes that don't match a real image / PDF / audio format — clients can't lie about
Content-Type.
- A 1 GB-per-user lifetime quota stops a compromised account from filling the disk. The system also refuses uploads when the disk has < 1 GB free.
Every attempt — success or failure — is written to the audit log.
All knobs are env-tunable per install.
What about a Raspberry Pi?
Pi 4 (2 GB+) or Pi 5 runs MyPA comfortably. Use the Docker path or
the bare-metal setup.sh on Raspberry Pi OS / Ubuntu Server
arm64. For public access without a static IP: Cloudflare Tunnel or a dynamic-DNS provider does the job.
Will it work with GPT / Gemini / Copilot?
Today: Claude.ai natively (mobile + desktop), plus any agent that
speaks MCP. Other vendors are adopting MCP — once their clients support
custom connectors, MyPA works without code changes. The MCP protocol
is the abstraction.
What happens to my data if the project dies?
Your data lives on your VPS, in a SQLite file you can open with
standard tools. There's a Markdown-export tool. If MyPA the project
goes dormant tomorrow, your install keeps running. Self-hosted means
self-sovereign.
Is the dashboard required?
No. The dashboard is for browsing. Everything you actually do
happens through Claude (or REST scripts). You can skip the dashboard
install entirely if you only ever interact via AI.
Can I use this for work / sensitive data?
MyPA is meant for personal-life data —
decisions, preferences, life admin. We don't recommend it for
regulated data (PII at scale, PHI, financial-services records)
without an additional review of your specific compliance regime.