Semantic search over a Markdown knowledge base, served over MCP.
Markdown / プレーンテキストのナレッジベースに対するセマンティック検索を提供する
MCP サーバ。コマンド名は groove。
English version: index.md
導入と最初の 1 検索までは表紙にあります: github.com/alphabet-h/grooveseek。 以下はリファレンスです。
各ページに英語版と日本語版があり、冒頭で相互にリンクしています。
| English | 日本語 | |
|---|---|---|
全サブコマンド — index, status, serve, search, graph, validate, doctor, eval, tune, service |
usage.md | usage.ja.md |
groove.toml の全キー、探索順、どの場所が信頼されるか |
configuration.md | configuration.ja.md |
.mcp.json のレシピ、HTTP トランスポート、PostToolUse フック、ファイル監視 |
clients.md | clients.ja.md |
MCP の面: ツール / プロンプト / kb:// リソース |
mcp-tools.md | mcp-tools.ja.md |
| 何が索引に入り、どこに保存され、どのファイルが拒否されるか | behavior.md | behavior.ja.md |
| どのプロセスの形で配置するか、常駐が何を買うか、同一ホスト制約がどこから来るか | deployment-topologies.md | deployment-topologies.ja.md |
| English | 日本語 | |
|---|---|---|
| RRF、reranking、MMR、parent retriever を実行順に | retrieval-pipeline.md | retrieval-pipeline.ja.md |
| 検索結果を絞り込む | filters.md | filters.ja.md |
match_spans とバイトオフセット — 出典を正確に引用するために |
citations.md | citations.ja.md |
| golden query set に対して検索品質を測る | eval.md | eval.ja.md |
| English | 日本語 | |
|---|---|---|
| ソース構造と、クエリがそこをどう流れるか | ARCHITECTURE.md | ARCHITECTURE.ja.md |
| 1.0.0 が凍結するもの、および意図的に凍結しないもの | stability.md | stability.ja.md |
Architecture Decision Record — 何を選び、どの代替案を退け、その代償は何だったか。 どこまでが ADR に残す決定で、どこからは changelog で足りるかは ADR-0000 にあります。
| English | 日本語 | |
|---|---|---|
| 0. アーキテクチャ上重要な決定を ADR として記録する | en | ja |
1. .xls (レガシー BIFF) 対応を取り下げる |
en | ja |
2. クエリを全文検索用のトークン単位 OR フレーズにコンパイルする |
en | ja |
3. .kb-mcpignore が縛るのは索引であってアクセスではない。ignore はマッチャとしてのみ使う |
en | ja |
| 4. リソース読み出しの境界はファイルシステムではなく索引 | en | ja |
| 5. 各ドキュメントのサイズを索引に記録する | en | ja |
| 6. golden set を引用しているコーパスを報告し、引用が 1 つでは足りないことにする | en | ja |
7. プロジェクトを GrooveSeek に改名し、コマンドは groove にする |
en | ja |
| 8. 1.0.0 が凍結するものを宣言し、Rust API はその外に置く | en | ja |
| 9. DNS リバインディングのゲートを 1 つにし、こちらで持つ | en | ja |
| 10. ADR-0008 が開けたままにしたコマンドラインの 3 問に決着を付ける | en | ja |
| 11. ハイブリッド検索の両脚から語を除外する | en | ja |
| 12. コードは定義で切り、覆えなかった範囲は行で埋める | en | ja |
| 13. grammar は 1 つだけ焼き込み、残りは読み込む | en | ja |
| 14. chunker は時計ではなく入力の形で縛る | en | ja |
ADR-0003 のファイル名は今も kb-mcpignore のままです。そこで説明されているファイルは
現在 .grooveignore ですが、ADR は merge 後に編集しません。2026-08-17 より前の
日付のものに出てくる kb-mcp が本プロジェクトを指す理由は
ADR-0007 にあります。
ADR-0000 は .dev/ を決定記録の置き場から外す理由の 1 つとして「nested repository が
無く、backup も無い」を挙げていますが、これは 2026-08-10 に .dev/ が private mirror を
持った時点で事実ではなくなりました。決定自体は変わりません — 変わっていない残り 2 つの
理由、すなわち「clone に付いて来ない」「公開ドキュメントから参照できない」がそのまま
成立するからです。記録は ADR-0003 のファイル名と同じ理由で、書かれたまま残してあります。