Here is the thing that wears you down after a few weeks of heavy Claude use: you have to re-explain yourself constantly. Your role. Your current projects. The names of the people you work with. The style rules you care about. Every new conversation, from scratch.
This is not a complaint about Claude — it is how the product is designed. Conversations are isolated. Claude has no memory of what happened in any previous session. But once you understand that, you can work around it properly. The right solution is a personal knowledge base: a place your context, lists, and notes live permanently, that Claude can search on demand without loading everything at once.
This post covers what that actually looks like in practice — not the theory, but the specific setup that works today.
When people say "I want Claude to remember things," they usually mean a few distinct things:
The instinct is to dump all of this into Claude's custom instructions or paste it at the start of each conversation. That works up to a point. Then the context window fills up, costs go up, and Claude starts losing track of things buried in the middle of a long prompt.
The better framing: this is a retrieval problem, not a storage problem. You don't need Claude to hold 500 records in context at once. You need Claude to find the 3 relevant records when you ask about them. That is a fundamentally different architecture — and it is what makes a proper knowledge base useful rather than just a bigger text file.
Let's be specific about what this is and is not. A personal knowledge base for Claude is not:
What it actually is: a hosted record store with three things Claude can call as tools.
When you connect this to Claude via MCP, Claude can call these tools the same way it calls any other tool — transparently, mid-conversation, without you having to think about it. You ask "who is Sarah again?" and Claude calls find("Sarah") and tells you. You say "add this to my contacts" and Claude calls add(). You open a new conversation and Claude calls context() to know who it's talking to.
Not everything belongs in a knowledge base. Here is the breakdown that actually proves useful:
This is the single highest-value thing to store. One record (or a few) that tells Claude who you are every time you start a new conversation:
Without a knowledge base, this lives in custom instructions — a static text field you have to manually edit. With a knowledge base, you update one record and every future conversation gets the new version automatically.
If you deal with more than a handful of people regularly, a contacts collection is immediately useful. Store names, roles, organisations, and any notes you want Claude to be able to recall. "Who does marketing at Acme?" becomes a one-second lookup rather than a manual explain.
The underrated use case: storing the output of previous Claude conversations so future sessions can find them. You did a research sprint on a topic three weeks ago. Instead of re-running it, you stored the summary. Now you can ask Claude to find it, and it appears in seconds.
Anything you paste into Claude repeatedly. Price lists. Product specs. Style guides. Internal terminology. Team conventions. One-time add, search on demand.
Stash is a hosted MCP record store built for exactly this use case. It gives you the three tools described above (add(), find(), context()), plus collections to organise records by type, and full-text search powered by full-text search — meaning fast, exact-match search that works on personal-scale data without the overhead of embedding pipelines.
It is a new service — we are honest about that. The pricing may evolve. Free tier: 10,000 records, 100 queries per month. Pro: £8/month for more. No credit card needed to start.
Adding Stash to Claude takes about 90 seconds. No code, no local server, no configuration files.
That's it. From this point on, add(), find(), and context() are available in every Claude conversation on every device.
Add Stash to Claude — free
10,000 records, 100 queries/month. No credit card.
Get your connector URL →The most common pattern once people have Stash connected. You open Claude in the morning and say: "Start my day." Claude calls context(), loads your standing context — who you are, active projects, current priorities — and responds with a brief that is actually useful because it knows your situation.
The first time you do this, Claude will ask you to fill in your context record. After that, it just works. Any new conversation, any device, the same brief. Update the context record when your situation changes and the brief updates automatically.
This is the use case that made us build Stash. The full "Start my day" post covers the pattern in more depth.
You have a conversation with someone interesting. You want to remember who they are for next time. Instead of writing a note somewhere else and hoping you remember where:
Add to my contacts: Sarah Chen, Head of Product at Meridian, met at ProductCon 2026. Working on their AI procurement process. Follow up in August.
Claude calls add(), stores the record in your contacts collection. Three months later:
Who was the product person I met at ProductCon?
Claude calls find("ProductCon"), returns the record. You have the context you need.
This is not a replacement for a proper CRM if you're managing hundreds of contacts with pipelines and stages. But for personal-scale contact memory — the kind where you just need to remember who someone is and what you talked about — it is significantly better than nothing, and it lives where you already work.
See the full mini-CRM post for a more detailed walkthrough.
You ask Claude to research a topic. It produces a solid summary. Normally that summary lives in the conversation, then disappears when you close it. With Stash:
Save this as a research note: "competitor-analysis-june-2026" — [summary]
Claude calls add(), stores the note. Six weeks later, you're writing a proposal and want to reference it:
Find my competitor analysis notes
Claude calls find("competitor analysis"), retrieves the record. You pick up where you left off.
The same pattern works for: meeting notes, decision logs, technical documentation you want Claude to be able to recall, style guides, anything you'd currently paste into the chat manually.
Here is why the search-not-load approach matters at scale.
If you stored 500 records in a Notion database and wanted Claude to work with that data, you'd need to fetch the database and load it into context. A 500-record Notion database costs roughly 4,800 tokens to pass to Claude. That number grows linearly as your database grows.
A Stash find() query that searches those same 500 records and returns the 3 most relevant results costs around 192 tokens. The search result, not the entire dataset, goes into context.
The difference matters when you are running multiple Claude sessions a day. Loading a large context dump repeatedly adds up. Search-on-demand does not.
This is also why a Notion database connected directly to Claude is expensive at scale — the full post on Notion-to-Claude token costs covers this in detail if you want the numbers.
To be clear about the limits:
| Approach | Good for | Breaks down at |
|---|---|---|
| Custom instructions | Stable, rarely-changing preferences | Anything dynamic; loads in full every message |
| Claude Projects (attached files) | Document-centric work on Claude.ai | Growing lists; loads files in full; API users excluded |
| Filesystem MCP + notes.md | Flexible, works for small notes | No search; full file loads every read; local only |
| Notion database connected to Claude | If you already live in Notion | High token cost at scale; ~4,800 tokens per 500-record fetch |
| Stash (hosted MCP record store) | Lists, contacts, notes, context — anything that grows | Multi-page documents; team collaboration (not yet) |
Claude does not remember anything by default. A personal knowledge base via MCP changes that — not by giving Claude a bigger memory, but by giving it a place to search. Store your context, your contacts, your research notes. Find them with a sentence. Pay for the result, not the whole database.
Stash is free to start, takes about 90 seconds to add, and requires no code. If you have been re-explaining yourself to Claude every session, this is the fix.
Add Stash to Claude — free
Free: 10,000 records, 100 queries/month. Pro: £8/mo. No credit card to start.
Get your connector URL →Related: How to Make Claude Remember Things Across Conversations · The "Start My Day" Pattern for Claude · Claude as a Mini-CRM · Notion Database Claude Token Costs