Second Brain for AI - Persistent memory for Claude, ChatGPT & Cursor. Free.

by
Every AI conversation starts from zero. Your projects, decisions, and preferences disappear as soon as you close the chat. Second Brain fixes that. It is a self-hosted memory layer that works with Claude, ChatGPT, Cursor, and any MCP client. You can store context once and recall it by meaning instead of keywords. It includes duplicate detection, semantic search, and a web UI. Built on Cloudflare, it offers a free tier and your data remains yours. MIT licensed.

Add a comment

Replies

Best

Does it work seamlessly with ChatGPT and Claude together?

 Yes! Claude and ChatGPT both connect via MCP and pull from the same Second Brain memory layer. Store something in Claude, recall it in ChatGPT. Same context, same session history, across both.

That's actually one of the core reasons I built it... your memory shouldn't be locked to one tool.

Is this a shared memory for absolutely everything? In most AI systems there is chat memory and overall account memory. It seems to me that in such a service it should decide itself what to pass from memory and what not to, otherwise it will consume a lot of tokens.

Good question. It doesn’t dump everything into context. When you call recall, it runs a semantic search against Cloudflare Vectorize and returns only the top-K most relevant entries (default is 5). The LLM sees those results, not your full memory store. So token usage stays flat regardless of how many things you’ve stored. If you set topK higher, you’ll use more tokens. Default of 5 keeps it minimal. Most users never touch it. For what it’s worth: I’ve been using Second Brain daily across hundreds of sessions. Memory context accounts for less than 0.1% of my total token usage. It’s genuinely negligible in practice.

Hey Product Hunt, I'm Rahil. I built Second Brain.


I got tired of explaining myself to every AI tool during each session. A new Claude window is a blank slate. A new Cursor project doesn’t know my stack. It adds up quickly.

Second Brain is a self-hosted memory layer that connects to Claude, ChatGPT, Cursor, and any MCP client. You store context once and recall it by meaning across any session. Everything lives in your own Cloudflare account, not on a third-party server. There's a free tier, and you don't need a subscription. You also get a web UI to browse and manage everything visually.

What makes it different:

  • It works with all your AI tools—not tied to one app.

  • It uses semantic recall, which finds memories by meaning instead of exact keywords.

  • It’s self-hosted, so your data stays in your own Cloudflare account.

  • There’s a free tier, so it costs nothing to run.

  • The web interface lets you browse, search, and manage memories visually.

II’m really curious: what context do you find yourself re-entering most? That has influenced my roadmap more than anything else.

Ask me anything. Big shout out to for his support!

Quick update since launch. Here are a few things worth noting:
We shipped the Second Brain CLI today. If you use the terminal, you can now capture and recall memories without leaving it.

npm install -g second-brain-cf-cli


For those asking about integrations, Second Brain works with Claude, ChatGPT, Cursor, Windsurf, and any MCP-compatible client. There’s also an Obsidian plugin in the community directory, a Chrome extension, iOS Shortcuts in the repo, and a web UI if you prefer managing everything visually.


CLI, Obsidian, Chrome extension, iOS Shortcuts, MCP… same memory, every interface.

How does duplicate detection handle near-duplicates or nuanced variations in context? I've found that tricky in my own memory tools.

Great question. We use a three tier cosine similarity band in what we call Smart Merge. Anything above 0.95 is a true duplicate and merges automatically. The 0.85 to 0.95 band is the nuanced zone where an LLM decides: merge, append, or keep separate. Below 0.85 it stores as new context. Smart Merge handles most edge cases without being too aggressive about collapsing related but distinct memories.

the memory problem is so underrated in AI tooling right now. you spend 20 minutes setting up context in a conversation and then it just... vanishes. self-hosted is the right call too, especially for teams dealing with proprietary code. how does it handle conflicting memories across different tools?

 Exactly right on the self-hosted point. Proprietary code should never be on someone else's server.

On conflicting memories across tools: since all your AI tools write to the same memory layer, conflicts are caught at the time of writing, no matter which tool triggered the write. When a new memory arrives that contradicts an existing one, it is detected through semantic similarity and LLM judgment. The old entry is replaced, and its vector is removed. So, if Claude updates something you told Cursor last week, it resolves automatically instead of accumulating into contradictory context.

Honestly didn’t expect this. Product of the Day with 253 upvotes and 46 comments…. that’s more than I could have hoped for. Thank you to everyone who tried it, upvoted, and left thoughtful comments. Special shoutout to and … your feedback is already on the roadmap. That’s exactly why I build in public. And a huge thanks to for hunting this. His advice shaped the launch more than anything else I did.

Really appreciate the mention, Rahil. Glad that feedback was useful.

What I like about the roadmap direction is that “memory” stops being a bucket of notes and starts becoming a set of commitments with status. That matters a lot once people use it for product, writing, or strategy work, because the cost of a stale-but-confident memory is higher than just forgetting.

Excited to see where you take the status/source layer.

The forgetting problem is the actual bottleneck — not the quality of the model's reasoning. We've been building AI agents at Tuple for 18 months and the single biggest drop in usefulness happens at session boundary. A tool that routes around that without requiring the user to manage a "context file" is directionally correct. The self-hosted angle matters more than it might seem for B2B adoption — our clients will not put proprietary deal flow or client strategy into a vendor's cloud memory layer, full stop. Local or self-hosted is the only viable path there.

Totally agree on the B2B reality – proprietary context isn’t going anywhere near a vendor’s cloud. Worth noting: Second Brain deploys into the client’s own Cloudflare account. Same model as running their business on Azure or AWS – Cloudflare hosts the infrastructure, they own the data entirely. No third party memory layer in the picture.

Persistent memory across tools is something I keep running into as a builder. Does it work across different Claude/ChatGPT accounts or is it tied to the browser?

You deploy once to Cloudflare, and any MCP client that points to that endpoint shares the same memory… Claude Desktop, Claude Code, ChatGPT, Cursor, wherever you’re engaging. Switch accounts, switch devices, switch tools… the brain stays the same.


Does this add continuity? Like timelime for the machine to understand that Its been 2 months I dont talk in that chat and It did not happen yesterday. I don't understand why is so difficult for ChatGPT to do this. I separate context in different chats...

I've been using persistent memory and cross memory between chats in chatGPT since last summer ( apparently I was an advance user or whatever, and It got activated before).

What I need is a TIME layer on it. Like timestamps / timeline awareness
Memory without time is incomplete.

Does this second brain fix this problem?

Yes, temporal recall is a core feature. Every memory is timestamped and you can query by time…“what did I work on last week”, “after May 1st”, or browse a full timeline view. The model understands when something happened, not just what it was. Memory without time is incomplete, which is why it’s baked in from the start.