JG

jmilinovich/grove

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

22 stars 2 forks 质量 69 趋势 30MIT

基于 git 支持的 Obsidian Vault 的开源 MCP 服务器。单用户,自托管。六个工具,混合搜索、来源/责任识别、自动链接发现。

概览

六个工具,一个 git 支持的 vault,单用户。Claude、ChatGPT、Cursor 或任何兼容 MCP 的客户端连接并获得结构化访问——搜索、读取、写回、图诊断。你的 Vault 依然属于你:Git 仓库中的 markdown 文件,永远有版本限制。 Grove 是 2026-04 → 2026-05 年间的托管产品。你看到的仓库是从中诞生的开源大教堂:一个基于 Obsidian Vault 的个人 MCP 层,单用户自主机。多租户 SaaS 层、自治代理层、加密、试验、候补名单和管理门户都已被剥离。完整历史请参见 RETROSPECTIVE.md。 每次写入都是 git 提交。每个提交都可以携带来源预告,通过责怪显示读取路径,这样未来的读者就能知道用户的立场思维,而不是 AI 的瞬间综合。

概述(AI 翻译)

开源MCP服务器,使你的Obsidian保险库可从任何AI客户端搜索和编写。

六个工具,一个 git 支持的 vault,单用户。Claude、ChatGPT、Cursor 或任何兼容 MCP 的客户端连接并获得结构化访问——搜索、读取、写回、图诊断。你的 Vault 依然属于你:Git 仓库中的 markdown 文件,永远有版本限制。

关于此仓库。 Grove 是托管产品,时间为2026-04→2026-05。仓库 你看到的>开源大教堂正是从中诞生的:一个 个人MCP层,基于Obsidian vault,单用户,自托管。该 多租户SaaS层、自治代理层、加密、追踪系统, 候补名单和行政门户都已被移除。参见 RETROSPECTIVE.md 完整历史。


六件工具

工具 它的作用
query 混合BM25 + 矢量+标题搜索,配合RRF融合。返回带有URL的排名摘要。
get 按路径或标题阅读笔记。各段曲面来源(耐用声与易腐声)。
multi_get 批次读取通过球状或逗号分隔路径进行。
write_note 创建/更新/软删除/硬删除/移动音符。单次操作或批量操作(原子可选)。

本页由 AI 翻译,技术细节请以原文为准。

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
在 GitHub 查看完整 README

安装

npx tsx src/server.ts
新手?先看 mcpskill.org 教程 →