{"repo":"jmilinovich/grove","free":true,"listed":false,"github":"https://github.com/jmilinovich/grove","clone":"git clone https://github.com/jmilinovich/grove.git","description":"Open-source MCP server over a git-backed Obsidian vault. Single-user, self-host. Six tools, hybrid search, provenance/blame, auto-link discovery.","language":"TypeScript","stars":23,"topics":["hybrid-search","knowledge-management","mcp","obsidian","provenance","self-hosted","single-user"],"license":"MIT","category":"mcp-servers","readme_excerpt":"Grove Open-source MCP server that makes your Obsidian vault searchable and writable from any AI client. Six tools, one git-backed vault, single-user. Claude, ChatGPT, Cursor, or any MCP-compatible client connects and gets structured access — search, read, write-back, graph diagnostics. Your vault stays yours: markdown files in a git repo, versioned forever. About this repo. Grove was a hosted product 2026-04 → 2026-05. The repo you're looking at is the open-source cathedral that came out of it: a personal MCP layer over an Obsidian vault, single-user, self-host. The multi-tenant SaaS layer, autonomous-agent layer, encryption, trails, waitlist, and admin portal have all been stripped. See RETROSPECTIVE.md for the full history. --- The six tools Tool What it does --- --- query Hybrid BM25 + vector + title search with RRF fusion. Returns ranked snippets with URLs. get Read a note by path or title. Surfaces per-segment provenance (durable vs perishable voice). multi get Batch read via glob or comma-separated paths. write note Create / update / soft-delete / hard-delete / move a note. Single op or batch (atomic optional). list notes List notes matching a pattern. Optional alias resolution. vault status Health, history, diagnostics, graph, lifecycle digest, discovery state, perf counters. Every write is a git commit. Every commit can carry provenance trailers that the read path surfaces via blame so future readers know what's the user's standing thinking vs an AI's moment-in-time s","default_branch":null,"files":null,"tree":[],"storefront":"/r/jmilinovich","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/jmilinovich/grove/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}