The problem with Notion as Claude's memory
If you're using Notion's MCP integration with Claude, you've probably hit at least one of these:
- You ask Claude to search a database with 200+ entries. It returns 25. Maybe fewer.
- Every query drags in Notion's full property structure — all the metadata, version markers, and block formatting Claude didn't ask for — and your context window fills up fast.
- You watch the token counter climb and realise you're spending £0.30 on a lookup that should cost pennies.
- On larger databases, queries start to stall. The bigger the store, the slower and more expensive it gets.
None of this is Notion's fault. Notion is a document tool. It stores your data in a rich, flexible, human-browsable format. That richness is exactly why it's expensive to query programmatically: every lookup returns far more than you wanted.
Notion's MCP connector was built to give Claude access to your workspace. It was not designed to be fast, cheap retrieval for structured data. The row limit (~25 rows returned per query) and metadata overhead are symptoms of that mismatch — not bugs.
What Notion actually sends Claude
Run a query against a Notion database from Claude and look at what arrives in the context. A single row from a contacts database might look something like this — stripped down:
The ratio is roughly 20:1 between what Notion sends and what Claude needs. Multiply that by 25 rows, and a single query can consume 4,000–5,000 tokens just in payload — before Claude says a word back.
What Stash does differently
Stash is a hosted record store built for exactly this use case. It stores your data as plain records — no blocks, no property wrappers, no version history — and retrieves them via FTS5 full-text search, returning only what Claude asked for.
When you query Stash, the response is tight:
No row limits that matter in practice. No metadata bloat. Full-text search across your entire store — whether it's 50 records or 5,000.
| Feature | Notion MCP | Stash |
|---|---|---|
| Rows returned per query | ~25 (hard ceiling) | All matching — no wall |
| Tokens per row | 100–300 (metadata bloat) | 10–30 (records only) |
| Search type | Property filter | FTS5 full-text across all fields |
| Setup | Integration + API key + database sharing | Paste one URL, sign in with Google |
| What Claude talks to | Notion's full workspace API | Purpose-built retrieval tools |
Stash is not a Notion replacement for writing, project management, or team collaboration. It is a retrieval layer. If you want to write a doc, use Notion. If you want Claude to remember and search your structured data cheaply, Stash wins that one.
What it actually costs
We ran an informal comparison: 500-record contacts list, query for "all contacts in London", running against both Notion's MCP and Stash.
Query cost — 500-record contacts search
// preliminary · n=1 test · your numbers will vary by Claude model and record size
// Notion also returned 25 rows max. Stash returned all 12 matching records.
These numbers are preliminary, from one test, with one Claude model and one record format. Your mileage will vary — particularly if your Notion records have many properties, or your Stash records are long. We're sharing the direction and order of magnitude, not a guarantee. We'll firm this up with a reproducible eval and update this page when we do.
The gap in Notion's favour gets wider with bigger databases and higher row counts — both because more metadata is included and because the row cap means multiple round-trips to get complete coverage.
How to add Stash to Claude
Stash connects to Claude as a custom MCP connector. It takes about 90 seconds and needs no card.
Copy the connector URL
Use the box at the bottom of this page. One click copies it to your clipboard.
Add it in Claude
In Claude: Settings → Connectors → Add custom, paste the URL. Claude walks you through Google sign-in — that's also your free account creation.
Just talk to it
"Stash this." "Search contacts for London." "What's on my deals list?" That's the interface.
The free tier is generous enough to run a real migration and use Stash daily. Pricing may change — this is a new service. Cancel anytime; your data goes with you.
Moving your Notion data to Stash
You don't need to export a CSV or write a script. The fastest way is to let Claude do it while both connectors are active.
Method 1: Let Claude migrate it (easiest)
With both Notion MCP and Stash active in the same Claude conversation:
Claude handles the mapping. You only need to tell it which fields matter — it ignores the Notion metadata noise automatically.
Method 2: Add records as you go (lighter)
If you don't need to migrate everything at once, just start fresh. Tell Claude to stash new contacts, notes, or items as they come up. The old Notion database stays as archive; Stash becomes the live layer Claude actively uses.
What to stash (and what to leave in Notion)
Stash is the right layer for structured data you want Claude to search and recall: contacts, deals, tasks, recurring items, notes with facts you need back. Leave long-form writing, rich-media docs, and team collaboration in Notion — Stash doesn't do any of that.
| Good fit for Stash | Keep in Notion |
|---|---|
| Contacts + CRM notes | Long-form docs and wikis |
| Deal pipeline rows | Meeting notes with embeds |
| Task or schedule lists | Team boards with comments |
| Standing context (who you are, your OKRs) | Databases you browse visually more than query |
| Any list Claude checks repeatedly | Content you publish from Notion |
What you get back
Once your contacts (or whatever you moved) are in Stash, the retrieval model changes:
Full results, every time. No row wall. And because the response is compact, you have context budget left for Claude to actually do something with what it found.
Add Stash to Claude
Paste this URL into Claude's connector settings. Sign in with Google. Free account — no card needed.
Settings → Connectors → Add custom → paste → Google sign-in · takes about 90 seconds
// Stash is a new service. Pricing may change. Cancel anytime.