Semantic Search
MUR indexes two different things and searches both the same way: your codebase and your knowledge (skills and notes). Both use LanceDB for vector storage combined with BM25 keyword scoring, so every query is ranked on meaning and on exact term matches at once.
Embedding Setup
Both indexes are built with the embedding provider configured in
~/.mur/config.yaml.
Ollama (default — free, local)
No API key. Runs entirely on your machine:
ollama pull qwen3-embedding:0.6b
# ~/.mur/config.yaml
embedding:
provider: ollama
model: qwen3-embedding:0.6b
dimensions: 1024
OpenAI
# ~/.mur/config.yaml
embedding:
provider: openai
model: text-embedding-3-small
dimensions: 1536
api_key_ref: keychain:mur/openai # or: api_key_env: OPENAI_API_KEY
provider also accepts gemini and anthropic. api_key_ref takes a secret
ref and wins over api_key_env when both are set.
dimensions is fixed once an index exists. Changing the model or the
dimension count means rebuilding: mur project index --rebuild for a codebase,
mur internals reindex for the knowledge index.
See Configuration for the full model table and the memory cost of each Ollama model.
Searching Your Codebase
Index a repo once, then ask for code by what it does rather than what it is called:
cd path/to/repo
mur project index
mur project search "where do we validate the auth token"
Results carry the file path, line numbers and a relevance score.
mur project search "retry with backoff" --limit 10
mur project search "rate limiting" --all # every indexed project, not just this one
mur project search "session cleanup" --json # machine-readable
mur project index also installs a post-commit hook, so the index refreshes
itself on every commit — you index a repo once, not once per change. Indexes
live in ~/.mur/indexes/codebase/<project>.lance.
Housekeeping:
mur project status # is this repo indexed, and how fresh
mur project list # every indexed project
mur project remove # drop an index and reclaim its disk
Searching Your Knowledge
mur skill search "swift testing" # remote registry
mur skill search "swift testing" --local # only what is installed
mur notes search "deployment checklist"
The knowledge index is rebuilt from the YAML files under ~/.mur/:
mur internals reindex
YAML is always the source of truth, so this index is disposable — deleting it costs you a rebuild, never data.
From Your AI Tool
The MCP server exposes the same indexes mid-conversation, so an assistant can search without you leaving the chat:
mur_project_search— the codebase indexmur_notes_search— notes and patternsmur_project_status— which projects are indexed and how fresh
See Claude Code for wiring it up.
See Also
- Configuration — full config reference
- Model Registry — secret refs for API keys
- Troubleshooting — index and hook problems