JG

jmilinovich/grove

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

22 stars 2 forks Качество 69 Тренд 30MIT

Open-source MCP server over a git-backed Obsidian vault. Single-user, self-host. Six tools, hybrid search, provenance/blame, auto-link discovery.

Обзор

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. 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. 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 synthesis.

README

Показан фрагмент оригинального README. Открыть оригинал.

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.

┌─────────────────────────────────────────────────────────┐
│              MCP client (Claude / Cursor / …)            │
└──────────────────────┬──────────────────────────────────┘
                       │ MCP — Streamable HTTP + Bearer
                       ▼
┌─────────────────────────────────────────────────────────┐
│                       grove-server                       │
│   6 tools · write queue · provenance · discovery        │
└──────────────────────┬──────────────────────────────────┘
                       │
            ┌──────────┼──────────┐
            ▼          ▼          ▼
        Hybrid      Vault       Discovery
        Search      (git)        worker
      BM25+Vec               (extract → link)

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 synthesis.


Quick start

You need:

  • Node ≥ 22
  • A git-backed Obsidian-style markdown vault on disk
  • A QMD index for the vault (Grove reads BM25 + vector hits from it)
  • A Voyage AI API key for per-write embeddings (voyage-4-large)
git clone https://github.com/jmilinovich/grove.git
cd grove
npm install

Set the env vars:

export GROVE_VAULT=/path/to/your/vault       # absolute path to the git repo
export GROVE_API_KEY=$(openssl rand -hex 32) # your bearer token — keep secret
export VOYAGE_API_KEY=...                    # Voyage AI key for embeddings
Открыть полный README на GitHub

Установка

npx tsx src/server.ts
Новичок в MCP? Начните с руководства на mcpskill.org →