The Closing Window logo

The Closing Window

Archives
AI Insights
March 23, 2026

Finding Meaning in Your Notes with CK Search

TL;DR

CK Search adds local semantic search to any directory, with a built-in MCP server for AI agent integration. Semantic search overcomes the limits of keyword search by finding notes based on meaning, not string matching. This post walks through the dead simple installation, configuration, and explains how semantic search finds what keyword search can't. It's not magic, and I'll be honest about where it falls short.


When Search Can't See What You Mean

In the first post, I described the moment when good organization still isn't enough. You can tag perfectly and still not find what you need, because you're searching for a concept and your note used different words. That's the ceiling of keyword search.

I have around 1,900 markdown files across three Obsidian vaults. If you're not an Obsidian user, you can just think of this as 1,900 text files in three different folders. They're tagged, linked, and structured with frontmatter, or more simply put, page properties. The organization is solid. But when I search for "authentication," I don't find my note about "session token management." When I search for "AI assistant," I miss the note about "Claude Desktop." The information is there. The search just can't see it.

Obsidian's built-in search, and most plugins that extend it, work on the same principle: match the characters you typed against the characters in your files. Some add functions to improve the keyword matches, but they're still searching for text only, not meaning.

Semantic search works differently. Instead of matching strings, it converts both your query and your notes into numerical representations and measures how close they are in meaning. "Authentication" and "session token management" end up near each other in this numerical space, because they're about the same concept. The search understands what you mean, not just what you typed.

Why CK Search

There are several tools that can add semantic search to Obsidian. I evaluated a few before settling on CK Search. CK Search isn't Obsidian-specific. It searches through any directory with text files.

The two things that mattered most to me: CK Search works without Obsidian running, and it has a built-in MCP server. The first means I can search from the command line, from scripts, from anywhere. The second means Claude Code can use it directly as a tool without additional dependencies, configuration or setup. It's also built in Rust, a language known for its speed.

One thing to know upfront: CK Search has no GUI. There's no Obsidian plugin with a search bar. It's a command-line tool, and that's by design — it's built to be used by AI agents and scripts, not clicked through manually. If you're looking for a point-and-click semantic search experience inside Obsidian, Smart Connections or Copilot might be a better fit. If you're building a system where an AI agent queries your notes programmatically, CK Search is the better tool.

Continue reading: https://pablooliva.de/the-closing-window/finding-meaning-in-your-notes-with-ck-search/

Don't miss what's next. Subscribe to The Closing Window:
Share this email:
Share on Twitter Share on LinkedIn Share on Hacker News
Powered by Buttondown, the easiest way to start and grow your newsletter.