A ChatGPT memory alternative you can read
ChatGPT's memory lives inside one product and you can't edit it as a file. The portable alternative: plain markdown every AI client reads and writes over MCP.
If you want a ChatGPT memory alternative, what you actually want is for the memory to live outside ChatGPT. Keep your context in a store you own, connect every assistant to it over MCP, and the same facts reach ChatGPT, Claude, Cursor, and whatever you switch to next year. You can open it, edit it, and take it with you.
That’s the shape of the answer. Here’s why the built-in version runs out, and what to look for in a replacement.
What ChatGPT’s memory does and where it stops
ChatGPT remembers things it decides are worth remembering, plus it can reference your past chats. You can look at the saved memories in settings and delete the ones you don’t want. For preferences, it works. It knows you like short answers or that you’re learning Portuguese, and you stop repeating yourself inside that one product.
Three limits show up once you rely on it.
It’s written by the model, not by you. Memory accumulates as a side effect of conversation, which means the model decides what mattered. Something you said in passing gets saved. The architectural decision you spent an hour reasoning through gets summarized into one flat sentence, or missed.
It isn’t a document. You can view a list of snippets and delete them. You can’t open the thing as a file, restructure it, keep a version you’re proud of, or hand a section to a colleague.
It doesn’t leave the building. Open Claude Code, Cursor, or a fresh tool, and none of it comes with you. You start from zero, again, which is the cost of starting over you pay every time you switch.
That last one is the real cost for anyone who uses more than one assistant. Most people now do.
Three tests for a replacement
Before comparing tools, it helps to know what you’re testing for.
Can you read it? Not “can you see a settings list” — can you open the actual content, edit a sentence, and know exactly what your assistant will see next time. Inspectable beats clever.
Can you take it? One click, everything out, in a format that’s still useful somewhere else. If the export is a JSON dump of internal records, it’s technically portable and practically not.
Does every tool see the same copy? One store, many clients, no syncing. If you maintain a context file per repo and a memory per vendor, you don’t have a memory layer. You have four of them, drifting.
The honest field guide
Vendor memory (ChatGPT, Claude). Free, zero setup, fine for preferences. Fails all three tests the moment you use a second tool.
A context doc you paste in. Better than nothing and completely under your control. It also decays: it lives on one laptop, you’re the one copying it into every new chat, and the version in your other project is six weeks behind.
Local memory MCP servers. There are good ones — knowledge-graph servers, file-backed servers — and they run on your machine over MCP so any client can read them. They’re single-machine, though. No phone, no other laptop, no UI for the moments when you’d rather edit context by hand than ask a model to do it.
Notion or Obsidian with an MCP server. If your notes already live there, this is a reasonable move and costs you nothing new. What you get is general-purpose notes bolted onto an AI: retrieval built for humans browsing pages, not for an agent that needs one orienting read at the start of a session and structured work it can pick up.
Mem0, Zep, Letta. These are memory infrastructure for developers embedding memory into an application they’re building. SDKs, APIs, retrieval pipelines. If that’s what you’re doing, use one of them and skip the rest of this post. They’re not built for the person who just wants Claude to remember how they work.
A hosted context layer. One store, structured, plain markdown, reachable by any MCP client, with a UI when you want to edit by hand. That’s the category vtriv is in, and it’s the version that passes all three tests.
What this looks like in vtriv
Connect once. The endpoint is https://mcp.vtriv.com/mcp, Streamable HTTP with OAuth, so clients discover auth and open a browser sign-in instead of asking for an API key.
- ChatGPT: Settings → Apps & Connectors → add a custom MCP connector with that URL. Connector support depends on your plan, and the tools surface in developer-mode conversations.
- Claude Desktop or claude.ai: Settings → Connectors → Add custom connector.
- Claude Code:
claude mcp add --transport http vtriv https://mcp.vtriv.com/mcp - Cursor: Settings → MCP → Add server, type
streamableHttp.
One connection per client covers everything you have. There’s no server per project.
Then write the part you’re tired of repeating. Your profile is a single markdown document that stays in scope for every session in every client. Tell any connected assistant to save it:
Save a profile for me: I run marketing for a small B2B company. I write in plain language, no exclamation points, and I want drafts short enough to read on a phone. I care about the reasoning behind a recommendation more than the recommendation.
That’s stored as markdown you can open in the app and rewrite whenever you want. Durable material goes in a knowledge tree at paths you choose, like topic/positioning.md. Leave the path off and it lands in an inbox, searchable right away, filed later or never.
The read side is what makes it feel different. A new session calls vtriv_context once and gets who you are, what skills exist, and what you’re working on. Ask about something specific and vtriv_search runs hybrid semantic and keyword search across knowledge, projects, tasks, notes, and skills. When you want working context rather than a list of hits, vtriv_pack assembles the most relevant sections from across everything into one bundle inside a token budget.
Projects carry tasks, too, so the same layer that holds what your assistants know also holds what you’ve asked them to do. A task assigned to an agent is a queue it can pull; comments on the task are an async conversation with it. We run our own agent fleet against this daily. This post was filed as a task in vtriv, written by an agent that read the strategy doc out of vtriv, and reported back in the task thread.
And the exit is real: Settings → Export downloads a zip of everything as markdown. Profile at the top, skills as folders, knowledge at its paths, each project with its README, notes, and tasks as files. If you leave, you leave with a directory of markdown that opens in any editor. A layer you can’t walk away from isn’t yours either.
Start with the boring part
The temptation is to migrate everything at once. Don’t bother. Write the profile, add three or four documents you’d groan about re-explaining, and let the assistants fill in the rest as you work — what’s worth keeping covers how to decide. If you’re coming at this from the Claude side specifically, how to give Claude persistent memory across sessions walks the same setup end to end.
The free tier holds 50 documents, 25 skills, and unlimited projects and tasks, which is plenty to find out whether a memory you can read changes how you work. Get started.