Stash / Blog · June 2026 · 8 min read

Claude AI Personal Knowledge Base: Keep What Matters, Find It Instantly

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.

Why Claude's memory problem is specifically a retrieval problem

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.

What a personal knowledge base for Claude actually is

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.

  1. add() — store a record (a contact, a note, a piece of context) in a named collection
  2. find() — full-text search across a collection, returns the most relevant matches
  3. context() — load your standing context in a single call (who you are, what you're working on)

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.

MCP in one sentence: Model Context Protocol is the standard Anthropic uses for giving Claude access to external tools and data sources. You add a connector URL in Claude's settings and Claude gains new capabilities. No code, no local setup for hosted connectors.

What to actually store

Not everything belongs in a knowledge base. Here is the breakdown that actually proves useful:

Your standing context

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.

Contacts and people

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.

Project and research notes

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.

Reference data

Anything you paste into Claude repeatedly. Price lists. Product specs. Style guides. Internal terminology. Team conventions. One-time add, search on demand.

How Stash works

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.

Setup: three steps

Adding Stash to Claude takes about 90 seconds. No code, no local server, no configuration files.

  1. Go to stashlite.com and sign in with Google. This creates your account and generates a personal connector URL.
  2. Open Claude. Go to Settings → Connectors (in Claude.ai) or add the MCP URL to your Claude configuration if you're using the API. Paste your connector URL.
  3. Start a new conversation. Claude now has access to your Stash. Say "set up my context" and Claude will walk you through it.

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 →

Three examples of it in practice

Example 1: "Start my day"

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.

Example 2: A mini-CRM via add()

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.

Example 3: Research notes that stay searchable

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.

The token cost picture

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.

Token comparison (preliminary, n=1 benchmark): Fetching a 500-record dataset whole: ~4,800 tokens. Searching via Stash FTS5 and returning top results: ~192 tokens. That is roughly a 25× reduction for a targeted query — or ~2.4× cheaper across a typical mix of retrieval tasks. These are early figures from a single benchmark. Your numbers will vary with record size and query pattern.

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.

What Stash is not

To be clear about the limits:

Compared to the alternatives

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)

The short version

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