That was me, staring at my collection of 1,000+ Bear notes, a digital memory vault that had become both invaluable and impenetrable.
The problem wasnāt organization. The problem was recall. And it hit me: Iām literally using AI assistants daily, so why am I still manually hunting through my notes?
The note-taking paradox
We take notes to remember things. Then we accumulate so many notes that we⦠forget whatās in them. Ironic, isnāt it?
Iām rather fond of Markdown (itās clean, portable, and future-proof), which is why Bear has been my go-to for years. But even with tags and search, finding the right note often felt like archaeology, digging through layers of keywords hoping to unearth what I needed.
Meanwhile, Iād been using AI assistants (most notably Claude) more frequently for various tasks, watching them make connections between ideas and synthesize information in ways that felt surprisingly⦠human.
š” The lightbulb moment: What if my AI assistants could search through my notes directly?
Building the bridge
For the uninitiated, MCP (Model Control Protocol) is Anthropicās standard for connecting AI assistants to external tools and systems. Itās what allows AI models to interact with the real world rather than being trapped in a conversational bubble. Read more here
I decided to build a custom MCP server that would connect my Bear Notes database directly to Claude. No middlemen, no cloud dependencies, no sharing my personal notes with third parties.
Whatās so great about it?
- šāØ Transforms notes into semantic vectors that capture meaning, not just keywords
- š¤š Claude can now retrieve relevant context from notes I havenāt explicitly mentioned
- šš Everything runs locally, no data leaves my machine, no API faff, no cloud dependencies
How it actually works š¤
Under the hood, the system uses the Xenova implementation of transformers.js with the all-MiniLM-L6-v2 model:
- It converts each note into a 384-dimensional vector that captures its semantic essence
- These vectors form a searchable index that understands meaning, not just text matching
- When I ask Claude something, it can query this index to find relevant context from my notes
Why this matters
This isnāt just about retrieving notes more efficiently. Itās about a fundamental shift in how we interact with our personal knowledge:
- From active to passive recall: Instead of having to remember what I know, I can ask what I know
- From siloed to connected: My notes are no longer isolated islands of information but an interconnected knowledge base
- From keyword to meaning: Finding information based on concepts and ideas, not just exact words
And perhaps most importantly, it happens entirely on my machine. In an age of cloud-everything, thereās something deeply satisfying about a powerful system that doesnāt need to phone home.
The unexpected benefits
Building this system yielded some unexpected advantages beyond just finding notes:
- Rediscovering forgotten ideas: Iāve bumped into old notes that sparked new thinking
- Connecting disparate concepts: Claude often finds connections between notes I didnāt realize were related
- Removing mental overload: I no longer worry about forgetting where I stored information
Try it yourself
If youāre a Bear Notes user with a penchant for tinkering, the entire code is available on GitHub if you want to dig into the implementation details or contribute to improving it.
The setup is detailed in the README, but the TL;DR is:
git clone https://github.com/ruanodendaal/bear-mcp-server
cd bear-mcp-server
npm install
npm run index # This creates vector embeddings of your notes
# Configure your MCP settings and you're good to go
The bigger picture
Beyond the practical utility, this project represents something I believe in deeply: technology should augment our thinking without compromising our privacy or agency.
By connecting my notes to AI in a way that keeps everything local, Iāve created a system that feels like an extension of my own memory rather than a separate service Iām querying.
Would love to hear your thoughts or answer questions if you decide to build something similar!