You're three weeks into a new codebase. You've figured out why the authentication layer works the way it does, which third-party API has the rate-limit quirk, and why the team chose one database over another for that particular service. You've debugged the tricky race condition in the job queue. You know this project.
Now you open Claude for help with a new feature. And you explain it all again from scratch.
Every. Single. Time.
This is the developer's context problem. Claude is incredibly useful for coding — but it walks into every conversation with a blank slate. By the time you've re-oriented it, you've burned 10 minutes and a few thousand tokens just to get back to where you were.
This post shows you how to fix it with Stash — a small, fast record store that Claude can query over MCP. You set it up once. After that, Claude knows your projects.
It's not just "what does this function do" — that's what the code is for. The information that keeps getting lost is the why:
None of this is in your README. It's in your head. When you ask Claude something, it doesn't have any of it.
Stash is a hosted record store with an MCP connector. You add it to Claude once (30 seconds, no code), and then Claude can query it with natural language in any conversation.
The workflow for developers looks like this:
The key thing: Claude doesn't need you to brief it every time. It retrieves the context. That's it.
That whole exchange took about 15 seconds. No re-briefing. Claude walked in already knowing the project.
For any project you're actively working on, a useful Stash collection has three types of records:
| Type | Example |
|---|---|
| Architecture decisions | "Chose Redis for queue over RabbitMQ — team has more Redis experience and the message volume doesn't justify AMQP overhead" |
| Environment gotchas | "Staging has PAYMENT_MODE=sandbox but webhook URLs still need to be registered in Stripe dashboard manually" |
| Debugging notes | "The 'connection refused' errors in staging are a timing issue on container start — app starts before DB is ready. Added health-check with retry loop." |
| Open questions / blockers | "Undecided: versioned API endpoints or header-based versioning? Need to align with mobile team before implementing." |
| Team context | "Anna owns the auth layer — don't touch middleware/auth.py without checking with her first" |
The real payoff comes when you're working across multiple codebases — a common situation for engineers at startups, consultants, and anyone on a team with more than one product.
You can have a Stash collection per project. When you switch, you just ask: "What's my context on the billing-service?" — and you're oriented in seconds. No open tabs to hunt through, no "where did I write that down" moments.
The free tier covers 2,500 records and 50 queries a month. For a developer actively working on 3–4 projects, that's typically 3–4 weeks before hitting the limit. The paid tier (£8/month) removes those caps. Pricing may change; cancel anytime.
Claude → Settings → Connectors → Add custom → paste this URL:
https://app.stashlite.com/mcp
Sign in with Google. Start storing project context. No setup, no code.
Get your connector URL →Claude Projects are good for static documents — you upload a spec, a README, a design doc, and Claude can reference it throughout a project. That's a different tool for a different job.
Stash is for the information that evolves. You add records as you learn things. You query them with natural language. You update them when something changes. You search across projects. The data lives in a store Claude can reach from any conversation — not locked inside one Project context.
They're complementary. Use Claude Projects for reference documents. Use Stash for living knowledge.
https://app.stashlite.com/mcpThat's it. From that point, any conversation can query your Stash store. The data persists across sessions. You never lose context again.
No CLI to install. No API keys to manage. No schema to define. It's just a store Claude can talk to.