Every AI memory tool is per-account by design. memshare lets you hand the context you have built up to someone else โ item by item, with approval on both sides. Plain JSON files on your own machine. No server, no signup, nothing uploaded.
npm install -g memshare-mcp
Works with Claude Code, Cursor, Windsurf, VS Code โ anything that speaks MCP.
The problem
A decision gets made in a meeting. Someone hits a gotcha. A convention emerges. That knowledge belongs to the team โ but every memory product on the market files it per account.
Six engineers each explain the same five facts about the same codebase to their own AI. You pay O(n) for something that should cost O(1).
A new hire spends their first week teaching their AI what six other people's AIs already know perfectly well.
Ask any AI what it knows about you and you get a list you cannot export, edit precisely, or verify was ever deleted.
How it works
Every step is a sentence. Before anything is written or taken in, memshare shows you exactly what is about to change hands, and waits โ the approval moves into the conversation instead of disappearing from it.
Install it once, connect it, then just work. No commands, no curating a knowledge base.
"we went with Postgres โ the JSONB support decided it"
โ the assistant calls memory_set() โ saved as shareable โ it is a project fact
The assistant marks project facts shareable and anything about you private. Reviewing that, and changing your mind, is yours โ either in conversation or at a prompt.
"make the project-x notes shareable"
โ memory_set_visibility(). no command, no syntax.
You are shown the exact list before a file is written. Send it however you like โ Slack, email, a USB stick. On the other side they see every item and take only what they want, and nothing they already had is overwritten.
"send the project-x notes to Sam, good for 30 days"
โ 2 memories would go. 1 held back (contains an email). โ you say yes, and the bundle file is written. # Sam, on his machine: "import what Dana sent me" โ he sees each item and picks what he wants
Consent
Anything about you personally is saved private, and private items are never exported โ not even when their tags match what you asked for. When the call is arguable, the assistant is told to choose private.
Before anything leaves, memshare scans for emails, phone numbers, IDs, payment cards, credentials, and health or financial language. Flagged items are held back for you to decide, one at a time.
You preview the exact bundle before it is written. They accept or reject each item on the way in. Bundles are content-hashed, so a file edited in transit is refused.
How it compares
| Tool | Cross-model | Self-hosted | User-to-user | Consent flow |
|---|---|---|---|---|
| Claude / ChatGPT memory | โ | โ | โ | โ |
| Mem0 | โ | โ | โ | โ |
| OMP | โ | โ | โ | โ |
| Portable Memory | โ | โ | โ | โ |
| memshare | โ | โ | โ | โ |
Get started
Or try the whole flow first in a sandbox that never touches your real store โ see the repo.
npm install -g memshare-mcp memshare init claude mcp add memshare --scope user -- memshare serve
That is the whole setup. Restart your assistant and it can recall and save straight away.