explaingit

brodewa369/roowet-semantic-vault-search

Analysis updated 2026-05-18

5PythonAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

A local tool that indexes your markdown notes into a vector database so AI assistants can search them by meaning instead of exact keywords.

Mindmap

mindmap
  root((Semantic Vault Search))
    What it does
      Local semantic search
      Meaning not keyword
      Runs fully offline
    Tech stack
      Python
      Ollama
      LanceDB
      MCP server
    Use cases
      AI assistant context
      Private note search
      Auto re-indexing
    Audience
      Developers
      Obsidian users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Let an AI assistant search your personal notes vault for relevant context during a conversation.

USE CASE 2

Keep a local, private semantic search index of an Obsidian vault with no external API calls.

USE CASE 3

Automatically re-index notes as they change using the built-in file watcher.

USE CASE 4

Connect a knowledge vault to multiple AI agents such as Claude Desktop, Claude Code, or Hermes.

What is it built with?

PythonOllamaLanceDBMCPObsidian

How does it compare?

brodewa369/roowet-semantic-vault-search1ncendium/aibusteraaronmayeux/ha-hurricane-tracker
Stars555
LanguagePythonPythonPython
Setup difficultymoderatemoderateeasy
Complexity3/53/52/5
Audiencedeveloperops devopsgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a local Ollama installation and a markdown vault already set up before indexing.

In plain English

This project lets you search a folder of markdown notes, such as an Obsidian vault, by meaning rather than by exact keyword matching. Everything runs on your own computer, so no notes or queries are sent to any outside company, and there are no API costs to search your notes. Under the hood it works as a small pipeline. A background indexer script scans your markdown files, splits them into chunks based on their headers, and sends each chunk to Ollama, a tool for running language models locally, to turn the text into a numeric vector representing its meaning. Those vectors get stored in LanceDB, a local vector database, along with the original text. When you later ask a question, the same process turns your question into a vector and finds the stored chunks whose meaning is closest to it. A file watcher can also keep the index up to date automatically as you edit your notes, and the indexer tracks file hashes so it only re-processes files that actually changed. The main way to use this project is as an MCP server, a small local tool server that AI assistants like Claude Desktop or Claude Code can call directly. Once connected, the assistant gains tools such as search_vault to run a semantic search, read_vault_file to open a specific note, vault_stats for index statistics, and reindex_file to refresh a single file. This means an AI assistant working alongside you can pull relevant context straight from your personal notes vault while answering questions or doing tasks. Setting it up requires Python 3.10 or newer, a running local Ollama installation, and an existing markdown vault to point it at. Configuration happens through a .env file where you set the vault location, the Ollama address, and which embedding model to use, with bge-m3 as the suggested default. The project also ships example identity template files meant to help different AI agents, including non-Claude agents, use the vault consistently. It is released under the MIT license.

Copy-paste prompts

Prompt 1
Walk me through setting up Ollama and LanceDB to run this vault indexer locally.
Prompt 2
Explain how search_vault turns a question into results using vault_indexer.py and the MCP server.
Prompt 3
How do I configure this MCP server to connect to my Obsidian vault in Claude Desktop?
Prompt 4
Help me adjust CHUNK_SIZE and OVERLAP in this project for a large notes vault.

Frequently asked questions

What is roowet-semantic-vault-search?

A local tool that indexes your markdown notes into a vector database so AI assistants can search them by meaning instead of exact keywords.

What language is roowet-semantic-vault-search written in?

Mainly Python. The stack also includes Python, Ollama, LanceDB.

How hard is roowet-semantic-vault-search to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is roowet-semantic-vault-search for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.