Search your Obsidian vault by meaning, not just keywords. This skill installs and configures obsidian-semantic-mcp — a local-first MCP server that indexes your vault with vector embeddings (Ollama + pgvector) and exposes 10 tools to any MCP-compatible AI assistant.
ToolWhat it doessearch_vaultSemantic, keyword, or hybrid search with similarity scoressimple_searchFast exact-text search across all fileslist_filesBrowse vault directoriesget_fileRead a single fileget_files_batchRead multiple files in one callappend_contentAppend text to a file (creates if missing)write_fileOverwrite a file completelyrecent_changesList recently modified fileslist_indexed_notesSee all indexed notes with timestampsreindex_vaultForce a full re-index
curl -LsSf https://astral.sh/uv/install.sh | shbash
bash <(curl -fsSL https://raw.githubusercontent.com/celstnblacc/obsidian-semantic-mcp/main/install.sh) --mode 2 --vault /path/to/your/vault
This clones the repo to ~/.local/share/obsidian-semantic-mcp, installs the osm CLI, and runs the setup wizard in Docker mode.
bash
git clone https://github.com/celstnblacc/obsidian-semantic-mcp.git
cd obsidian-semantic-mcp
uv sync
uv run osm init
The wizard detects your OS and offers setup modes:
macOS (4 modes):
Linux (3 modes):
bash
osm status
Should show: Docker containers running, Ollama healthy, embedding model loaded, vault indexed.
The wizard auto-configures this, but if you need to do it manually:
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or ~/.config/Claude/claude_desktop_config.json (Linux):
json
{
"mcpServers": {
"obsidian-semantic": {
"command": "docker",
"args": ["exec", "-i", "obsidian-semantic-mcp-mcp-server-1", "python3", "src/server.py"]
}
}
}
Restart Claude Desktop after adding.
Set these in .env or as environment variables:
VariableRequiredDefaultNotesOBSIDIAN_VAULTYes—Path to your vaultOBSIDIAN_VAULTSNo—Comma-separated paths for multi-vaultPOSTGRES_PASSWORDYes (Docker)—Database passwordEMBEDDING_MODELNonomic-embed-textOllama model (~7GB)RERANK_MODELNo—Optional cross-encoder for better rankingDASHBOARD_PORTNo8484Monitoring dashboard port
Once installed, your AI assistant can use these tools naturally:
Semantic search:
"Search my vault for notes about authentication patterns" → Uses
search_vaultwith hybrid mode, returns top 5 matches ranked by meaning
Find and read:
"Find my meeting notes from last week and summarize them" → Uses
recent_changesto find files,get_files_batchto read them
Append to a note:
"Add this action item to my project-x.md file" → Uses
append_contentto add text without overwriting
Re-index after bulk changes:
"I just reorganized my vault, re-index everything" → Uses
reindex_vaultto rebuild the full index
bash
osm status # Check health
osm rebuild # Rebuild Docker images after updates
osm remove # Stop and clean up everything
ProblemFix"Ollama not responding"Run osm status — if Ollama is down, the dashboard has a "Start Ollama" buttonSlow first searchFirst query loads the model into memory (~5s). Subsequent queries are <1sMissing notes in searchRun osm status to check indexing coverage. Use dashboard to trigger re-indexDocker errorsEnsure Docker Desktop is running. Try osm rebuild to rebuild imagesVirusTotal "suspicious" warning on installThis is a false positive — the skill describes searching vault content, which triggers pattern detection. Use clawhub install obsidian-semantic-search --force to proceed. The skill is MIT-0 licensed and contains no executable code beyond documentation.
Built by celstnblacc — 207 unit tests, Docker + native install, multi-vault support.