Rekindle について
Rekindleは、Claude Codeユーザー向けのローカルMCPサーバーで、記憶、チェックポイント、圧縮前のキャプチャをSQLiteに保存します。セッション開始時にプロジェクトのコンテキストを整理し、終了時やコンテキスト圧縮前に次回に必要な情報を記録します。
主な機能
- 01起動時にオリエンテーションレポートを生成
- 02終了時に構造化チェックポイントを記録
- 03圧縮前にセッション内容をキャプチャ
- 04重要度順の記憶検索と管理
- 05コンテキストの不足を検知して評価
活用シーン
- 01セッションをまたいだプロジェクト作業の再開
- 02圧縮前の推論や未完了タスクの保存
- 03プロジェクト別の設定や履歴の検索
- 04起動時の不足情報や古い情報の発見
MCP 対応
RekindleはローカルMCPサーバーとして動作し、セッションのオリエンテーション、記憶の検索と管理、チェックポイント、キャプチャの読み取りをMCPクライアントに提供します。READMEにはClaude Code、Claude Desktop、Cursorの設定例があります。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
10掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| content | string | はい | 保存するメモリの内容です。プレーンテキストで、長さの制限はありません。後で周囲のコンテキストなしにこのメモリだけが取得される場合があるため、内容はそれだけで完結している必要があります。 |
| category | enum | いいえ | メモリーのカテゴリです。方向付けにおけるメモリーの重みを決定します。“preference”と“relationship”は方向付けスコアに影響します。“context”はチェックポイントとセッション引き継ぎに使用します。“lesson”は制約と警告に使用します。“general”はデフォルトの包括カテゴリです。preference | lesson | context | relationship | general |
| importance | number | いいえ | 重要度スコアは 1(低)から 10(重大)までです。重要度の高いメモリは検索結果で先に表示されます。制約はデフォルトで 9、チェックポイントは 8、一般的なメモは 5 です。 |
| project | string | いいえ | このメモリーの対象範囲を指定するプロジェクト名です。設定すると、boot_reportで方向付けをこのプロジェクトに絞り込めます。複数プロジェクトにまたがるメモリーでは省略してください。 |
詳細
Rekindle
毎回のセッションでプロジェクトのコンテキストを説明し直すことに時間を取られている Claude Code ユーザー向けです。
npx rekindle init
AI はセッションが終わるたびにすべてを忘れてしまいます。Rekindle がその問題を解決します。

Rekindle は、単なる保存ではなく、セッションのオリエンテーションを解決する MCP 継続性エンジンです。セッション開始時に状況を把握し、終了時に記録し、セッション途中のコンパクションにも対応します。すべてローカルで、すべて SQLite を使用し、API キーは不要です。
v0.4.1 — --global によるフック設定が ~/.claude/settings.json に保存されるようになりました。このファイルは Claude Code がすべてのプロジェクトで適用するものです(#25 を修正)。初期化の出力もこの README と一致しました。リリースノート
クイックスタート
Node.js 22 以降が必要です。
npx rekindle init
これにより、SQLite データベース、アイデンティティテンプレート、継続性ポリシー、プロジェクトレジストリ、キャプチャディレクトリ、トランスクリプトディレクトリを含む .rekindle/ がプロジェクト内に作成されます。次に、クライアント用の MCP サーバー設定を追加します。
Claude Code
次のコマンドでサーバーを登録できます。
claude mcp add rekindle -- npx -y rekindle
または、手動で ~/.claude.json に追加します。
{
"mcpServers": {
"rekindle": {
"command": "npx",
"args": ["-y", "rekindle"]
}
}
}
PreCompact による保護を有効にします(セッション途中のコンパクション前にコンテキストをキャプチャします)。
npx rekindle setup-hooks
セッション開始時のオリエンテーション配信を有効にします。予算内に収めたオリエンテーションパケットが、起動時、再開時、/clear、/compact の実行時に自動的に届くため、モデルは指示されなくてもコンテキストの境界ごとに再オリエンテーションします。
npx rekindle setup-delivery
どちらのフックもオプトインです。通常の init では、どちらもインストールされません。npx rekindle init --with-hooks --with-delivery を実行すると、すべてを一度に設定できます。
--global を指定しない場合、どちらのコマンドもプロジェクトローカルの .claude/settings.local.json に書き込むため、フックはそのディレクトリで開始したセッションにのみ実行されます。--global を指定すると、ユーザースコープの ~/.claude/settings.json に書き込まれ、Claude Code がマシン上のすべてのプロジェクトで適用します。フックが実行される場所でサーバーを利用できるよう、同じスコープでサーバーを登録してください。claude mcp add --scope user rekindle -- npx -y rekindle を実行します(通常の claude mcp add は現在のプロジェクトに限られます)。
セッション開始時の配信では、.rekindle/projects.json を通じてフックの実際の作業ディレクトリを解決します。デフォルトではルートが完全一致する場合にのみ一致します。入れ子のディレクトリは、エントリで "include_descendants": true が設定されている場合にのみ継承します。ワークスペースが未登録または曖昧な場合は UNKNOWN PROJECT として報告され、別のプロジェクトのチェックポイントやコンテキストレコードが配信されることはありません。REKINDLE_PROJECT は引き続き明示的な上書きとして使用でき、レシートにはどの解決ルールが適用されたかが記録されます。
.rekindle/policy.json では、トランスクリプトの処理、起動時のバイト予算、必須および任意のパケットセクションを設定します。必須セクションは一体として扱われます。収まらない場合、Rekindle は不完全なアンカーの代わりに、サイズを制限した失敗マニフェストを出力します。任意のセクションは全体が省略され、レシートに記録されます。"transcript_mode": "excluded" を設定すると、SessionStart がトランスクリプトファイルやパスを読み込まなくなり、オリエンテーションスコアでトランスクリプトの網羅性が N/A として表示されます。"background_writes_allowed": false を設定すると、自動の PreCompact フックはキャプチャを作成せずに終了します。手動キャプチャは独立した明示的な操作として引き続き利用できます。
Claude Desktop
claude_desktop_config.json に追加します(macOS:~/Library/Application Support/Claude/、Windows:%APPDATA%\Claude\)。
{
"mcpServers": {
"rekindle": {
"command": "npx",
"args": ["-y", "rekindle"]
}
}
}
Cursor
プロジェクトルートの .cursor/mcp.json に追加します。
{
"mcpServers": {
"rekindle": {
"command": "npx",
"args": ["-y", "rekindle"]
}
}
}
次に、.rekindle/identity.md を記入し、起動手順をプロジェクトの CLAUDE.md に貼り付けます。
セッション 1 は保存します。セッション 2 は記憶します。セッション 10 は先を見越します。
問題(43 セッションのデータ)
43 セッションにわたり、AI アシスタントがセッション開始時に読み込めなかった情報を測定しました。
| 指標 | 値 |
|---|---|
| 分析したセッション数 | 43 |
| 正常に起動したセッション(すべてのコンテキストを読み込み済み) | 33% |
| 重要な情報の読み込み失敗(5 件以上の欠落) | 26% |
| 情報取得の失敗総数 | 173 |
既存のメモリーツール(Mem0、Letta、Zep)は、情報の取得精度、つまり AI が保存した情報を見つけられるかどうかを最適化します。これは必要ですが、それだけでは不十分です。どのツールも、このセッションに適したコンテキストを AI が読み込んだか、また読み落とした情報を検知できるかには対応していません。
Rekindle はセッションのオリエンテーションを解決します。アシスタントが作業を開始する前に、アイデンティティ、最近のコンテキスト、メモリーの健全性、コンテキストの欠落に関する警告を読み込みます。
完全な調査データセットについては、docs/gap-analysis.md を参照してください。
機能
起動:セッション開始時にオリエンテーション
boot_report は、作業開始前にオリエンテーションパイプラインを実行します。
boot_report
+-- Read identity document (who am I working with?)
+-- Scan memory stats (what do I know?)
+-- Find latest checkpoint (where did we leave off?)
+-- Read last transcript (what actually happened?)
+-- Surface open loops (what needs follow-up?)
+-- Surface PreCompact captures (what survived compaction?)
+-- Detect gaps (what am I missing?)
+-- Calculate orientation score (how oriented am I?)
--> "Carrying forward: [context loaded, gaps identified, score: 80/100]"
長いセッション中盤を乗り切る:PreCompact による記録(v0.3)
セッション中のコンパクションにより、推論の連鎖、失敗したアプローチ、関係性の細やかなニュアンス、口調が失われます。PreCompact フックはコンパクションの前に自動で実行され、本来なら失われる情報を保存します:
PreCompact hook fires
+-- Parse JSONL transcript (last N messages)
+-- Write raw Markdown capture (.rekindle/captures/)
+-- Write structured JSON snapshot (decisions, open loops, files)
+-- Update manifest for cheap listing
--> boot_report surfaces captures on next session start
--> end_session warns if captures exist but weren't reviewed
3 種類の読み取りモードでトークンコストを調整できます:
- summary — 1 段落で簡潔
- structured — 決定事項/未完了事項/警告を含み、中程度
- raw — トランスクリプトの抜粋全文。コスト高(必要な場合のみ)
記録:セッション終了時に作業を締めくくる
end_session は、単なる要約ではなく、構造化された継続記録を保存します:
| フィールド | 記録する内容 |
|---|---|
checkpoint | 中断した箇所(必須) |
decisions | 決定した内容とその理由 |
open_loops | 未解決のタスクや質問 |
constraints | 違反してはならない制約 |
relational_delta | 作業上の関係に生じた変化 |
next_session_focus | 次のセッションで再開する箇所 |
preferences | 新たに把握したユーザーの好み |
warnings | 次のセッションで注意すべきこと |
すべての記録は、type、source、session_id のメタデータとともに保存されます。次回の boot_report では、チェックポイントが自動的に読み込まれます。
セッション間:検索と管理
| ツール | 説明 |
|---|---|
store_memory | 内容、カテゴリ、重要度(1~10)、プロジェクトの範囲を指定して保存します |
search_memory | 重要度による重み付けを加えた BM25 ランキングで全文検索します |
list_memories | 新しい順にメモリを閲覧します。カテゴリまたはプロジェクトで絞り込めます |
delete_memory | ID を指定して削除します |
update_memory | 内容、カテゴリ、重要度を更新します |
list_captures | PreCompact の記録を一覧表示します(セッションで絞り込むこともできます) |
read_capture | summary、structured、raw のいずれかのモードで記録を読み取ります |
capture_now | 必要に応じて、現在のセッションのコンテキストを手動で記録します |
カテゴリ: preference lesson context relationship general
なぜ単に CLAUDE.md を使わないのか?
静的ファイルは受動的です。AI は読み取れますが、検索、ランキング、取得済み情報の追跡、不足情報の通知はできません。Rekindle は次の機能を追加します:
- 検索 — 重要度で重み付けしたランキングによる全文検索
- 構造化 — メモリをカテゴリやプロジェクトごとに整理
- 状況把握 — 必要に応じた取得だけでなく、起動時にコンテキストを先回りして読み込み
- 不足の検出 — 未登録のアイデンティティ、空のカテゴリ、古いデータを検出
- スコアリング — 透明性の高いチェックリストにより、AI がどれだけ状況を把握しているかを確認
- セッションの記録 — チェックポイント、決定事項、未完了事項を構造化してセッションを締めくくる
- コンパクション後も維持 — PreCompact の記録により、要約で平板化される情報を保持
リリースの主な変更点
v0.4.1
--globalフックがすべての場所で実行されます —setup-hooks --global、setup-delivery --global、init --global --with-*は、Claude Code がホームディレクトリで開始されたセッションでのみ読み込む~/.claude/settings.local.jsonではなく、~/.claude/settings.json(ユーザースコープ)に書き込むようになりました(#25)。プロジェクト単位のセットアップに変更はありません。各コマンドは書き込み先のファイルを表示します- 未解決のワークスペースに関する警告で修正方法を案内 — セッション開始時のパケットでワークスペースをプロジェクトに対応付けられない場合、チェックポイントが読み込まれなかったことと、2 つの解決方法が表示されるようになりました。読み込まれたレジストリ(プロジェクトストアの場合は
.rekindle/projects.json、--globalストアの場合は~/.rekindle/projects.json)にワークスペースを追加するか、REKINDLE_PROJECTを設定してください。警告にレジストリの絶対パスは表示されません - init の出力をこの README に合わせて更新 —
initはclaude mcp add rekindle -- npx -y rekindle(--globalの場合はclaude mcp add --scope user ...。これにより、サーバーはグローバルフックが実行される場所で登録されます)を最初に表示し、オプトイン可能な 2 つのフック(使用時は--global付き)を一覧表示し、--globalの場合は~/.rekindle/...のパスを表示します
v0.4.0
- Node.js 22以降が必要です — Node 20は2026年4月にサポート終了を迎え、現在はサポート対象外です。CIはNode 22、24、26で実行されます
- ポリシーを考慮したセッション開始 —
.rekindle/policy.jsonで、トランスクリプトの処理(transcript_mode:captured、tail-read-only、excluded)、起動時のバイト予算、必須または任意のパケットセクション、バックグラウンドフックによる書き込みの可否(background_writes_allowed)を制御します - プロジェクトごとに安全に配信 —
.rekindle/projects.jsonでワークスペースをプロジェクトにマッピングします。マッピングされていないワークスペースや曖昧なワークスペースはUNKNOWN PROJECTとして報告され、別のプロジェクトのチェックポイントが渡されることはありません。REKINDLE_PROJECTで明示的に上書きできます - テールモードではトランスクリプトのファイル名を非表示 —
tail-read-onlyモードではパケットにトランスクリプトの末尾部分を表示しますが、ファイル名は表示しません - セッション書き込みをアトミックに実行 — セッションの行と監査の行は、同時にコミットされるか、どちらもコミットされません
- 本番環境の監査で問題なし —
npm audit --omit=devでは脆弱性がゼロ件でした(本番依存関係) - パッケージを縮小 — npmのtarballは約1.9 MBから約110 KBに縮小されます。証拠と設計ドキュメントはGitHubに残ります
v0.3.3
- プロトコルメタデータのバージョン整合性 — MCPの初期化応答では、同梱されたパッケージメタデータからバージョンを取得し、リリースバージョンのずれを防ぎます
- パッケージページの正確性 — npmに同梱されるREADMEには、タグとパッケージの作成前に現行リリースが記載されます
- 自動テストを拡充し、MCPメタデータとインストール済みパッケージのバージョンを比較するパック済みアーティファクトのチェックを追加
v0.3.2
- ワンコマンドで配信をセットアップ —
npx rekindle setup-delivery(またはinit --with-delivery)でSessionStartフックのオプトインを設定します。冪等で、ほかのツールのフックを保持し、破損した設定ファイルがある場合は処理を拒否します - 自動テスト147件
v0.3.1 — 「5つの測定済みゲート」
- セッション開始時の配信 —
rekindle session-startは、起動時、再開時、/clear、/compactの実行時に、SessionStartフックを通じてバイト予算に収まるオリエンテーションパケットを出力します - 予算内のパケットと、誠実な受領情報 — パケットは有効なUTF-8で8,000バイトを上限とし、パケット内に切り詰めマーカーを含めます。受領情報が証明するのは出力されたことだけであり、モデルに表示されたとは決して主張しません
- デスクトップでも安全なストレージ — ストレージのルートは起動元のパスから決して導出されません(Claude DesktopはMCPサーバーを
/で起動します)。解決順序を明示し、解決できない場合はエラーにします - デュアルチャネルのガイダンス — ワークフローのガイダンスはツールの説明とMCPの指示の両方に含まれ、構造上、内容が食い違うことはありません
- Cursorアダプター —
session-start --client cursorはstdinをホワイトリスト方式で解析します。メールアドレスとワークスペースのパスが受領情報に含まれることはありません - 仮定ではなく測定に基づく — 上記の各主張は、公開された測定結果(証拠、スパイクの結果)によって裏付けられています
**v0.3.0 — 「長い中盤を乗り切る」**では、PreCompactキャプチャシステム、未完了項目、レビュー追跡を追加しました — v0.3.0リリースノート
CLI コマンド
| コマンド | 説明 |
|---|---|
npx rekindle init | 現在のディレクトリに .rekindle/ をセットアップします |
npx rekindle init --global | ホームディレクトリにセットアップします。フックは ~/.claude/settings.json に追加されます |
npx rekindle init --with-hooks | 初期化し、PreCompact キャプチャーフックを設定します |
npx rekindle init --with-delivery | 初期化し、SessionStart 配信フックを設定します |
npx rekindle setup-hooks | PreCompact キャプチャーフックを設定します(単独) |
npx rekindle setup-delivery | SessionStart 配信フックを設定します(単独) |
npx rekindle session-start | 予算内に収めたオリエンテーションパケットを出力します(SessionStart フック) |
npx rekindle session-start --client cursor | 同じ内容を Cursor のフック応答形式で出力します |
npx rekindle precompact-capture | 圧縮前にコンテキストをキャプチャーします(フック) |
npx rekindle capture-now | 現在のセッションのコンテキストを手動でキャプチャーします |
npx rekindle | MCP サーバーを起動します(Claude Code で使用) |
ソースからインストール
git clone https://github.com/Skitchy/rekindle.git
cd rekindle
npm install
npm run build
node dist/init/cli.js init
PreCompact フックの設定
setup-hooks コマンドは、これを .claude/settings.local.json に書き込みます(--global を指定した場合は ~/.claude/settings.json)。
{
"hooks": {
"PreCompact": [
{
"matcher": "auto",
"hooks": [
{
"type": "command",
"command": "npx rekindle precompact-capture",
"timeout": 60
}
]
},
{
"matcher": "manual",
"hooks": [
{
"type": "command",
"command": "npx rekindle precompact-capture",
"timeout": 60
}
]
}
]
}
}
フックは標準入力でセッションコンテキスト(session_id、transcript_path、cwd、hook_event_name)を受け取り、キャプチャーを .rekindle/captures/ に書き込みます。
| 変数 | デフォルト | 説明 |
|---|---|---|
REKINDLE_PRECOMPACT_MAX_MESSAGES | 80 | キャプチャーするメッセージの最大数 |
REKINDLE_PRECOMPACT_MAX_CHARS | 120000 | キャプチャーする文字数の上限 |
REKINDLE_BASE_DIR | 解決済み(下記参照) | .rekindle/ のベースディレクトリ |
ストレージルートの解決。 すべての Rekindle エントリーポイント(サーバー、PreCompact フック)は、以下のルールを順番に適用して、.rekindle/ を格納するディレクトリを解決します。
REKINDLE_BASE_DIRが設定されている場合 — 常に明示的な指定が優先されますREKINDLE_DB_PATHが正規の<base>/.rekindle/db/構成を指している場合、そこから導出します- 現在の作業ディレクトリに
.rekindle/が存在する場合(cwd がファイルシステムのルートである場合を除く) - ホームディレクトリに
.rekindle/が存在する場合 - それ以外の場合はホームディレクトリです。起動元は使用しません
ルール 3 と 5 があるのは、一部のホスト(例:Claude Desktop)が cwd=/ で MCP サーバーを起動するためです。起動元はストレージの場所ではありません。ストレージを作成できない場合、サーバーはスタックトレースではなく、修正方法を示すメッセージを出力して終了します。
プライバシーとセキュリティ
- すべてのデータはローカルに保存されます。 外部サーバーには何も送信されません。
- ネットワーク通信はありません。 MCP サーバーは標準入出力経由で通信します。HTTP、テレメトリー、分析機能はありません。
- トランスクリプトには会話テキストが含まれます。 セッションに秘密情報や認証情報が含まれる場合は、トランスクリプトのキャプチャーを有効にしないでください。
- フックのインストールはオプトインです。 キャプチャーフック(
setup-hooks)と配信フック(setup-delivery)は、コマンドまたはフラグで明示的に要求する必要があります。通常のinitでは、どちらのフックもインストールされません。 - SQLite データベースは通常のファイルです。 暗号化されていません。必要に応じて、OS レベルのディスク暗号化を使用してください。
.rekindle/は Git で無視されます。 init コマンドが自動的に設定します。- boot_report はローカルファイルを読み取ります。 パスはサンドボックス化されません。信頼できる MCP クライアントとプロンプトでのみ使用してください。
「完全な配信」とは、セッション境界でオリエンテーションパケットが自動的に届き、モデルがそれを実際に認識していることを指します。これは想定ではなく、受信レイヤーとモデルレイヤーの両方でカナリアプローブを用いて測定しています。詳細とエビデンスについては、互換性スパイクの結果をご覧ください。
| クライアント環境 | MCP ツール | セッション開始時の配信 |
|---|---|---|
| Claude Code ターミナル(macOS) | テスト済み | 完全な配信を測定済み(起動、再開、/clear、/compact) |
| Claude Code ターミナル(Windows) | テスト済み | 完全な配信を測定済み |
| Claude Code ターミナル(Linux/WSL2) | テスト済み | フックチャネルは同一。配信測定は保留中 |
| Claude Desktop、Code サーフェス | テスト済み | 完全な配信を測定済み(/clear では新しいセッションの起動を通じて再配信) |
| Claude Desktop、チャットサーフェス | テスト済み | ツールモードのみ:クライアントがフックをサポートしていないため、モデルのツール検索からガイダンスを利用できます |
| Cursor | テスト済み | .cursor/hooks.json 経由で測定済み(下記参照) |
| 任意の MCP stdio クライアント | 互換 | クライアントのフックサポートに依存します |
Claude Code:セッション開始時のオリエンテーション(オプトイン)
npx rekindle setup-delivery
これを .claude/settings.local.json(または --global を指定した場合は ~/.claude/settings.json)に書き込みます:
{
"hooks": {
"SessionStart": [
{
"matcher": "startup|resume|clear|compact",
"hooks": [
{ "type": "command", "command": "npx rekindle session-start", "timeout": 60 }
]
}
]
}
}
パケットの上限は有効な UTF-8 で 8,000 バイトです。測定の結果、フックの出力がホストの上限を超えると、エラーが表示されないまま、モデルには先頭部分だけが届きます。予算に収めるためにセクションが削除された場合は、パケット内のマーカーでその旨を示し、.rekindle/receipts/session-start.jsonl の受信記録には、モデルが認識したと主張することなく、実際に出力された内容が正確に記録されます。
Cursor:セッション開始時のオリエンテーション(オプトイン)
Cursor のフックシステムは、予算内に収めたオリエンテーションパケットをセッション開始時に配信できます。v0.3.1 の互換性スパイクで、動作を測定済みです。セットアップは手動で、オプトイン方式です。Rekindle は、依頼がない限りフックをインストールしません。プロジェクトの .cursor/hooks.json に次の内容を追加してください:
{
"version": 1,
"hooks": {
"sessionStart": [ { "command": "rekindle session-start --client cursor" } ]
}
}
プライバシー: Cursor のフックペイロードには、アカウントのメールアドレスとワークスペースのパスが含まれます。アダプターは、このペイロードをデフォルトで個人情報として扱います。抽出するのはセッション ID とワークスペースのルートのみ(ストレージ解決のためプロセス内で使用)で、生のペイロード、メールアドレス、パスが受信記録やその他の成果物に書き込まれることはありません。バックグラウンドエージェントはデフォルトで除外されます(受信記録にもその旨が正確に記録されます)。REKINDLE_ORIENT_BACKGROUND_AGENTS=1 でオプトインできます。
アーキテクチャ
rekindle/
src/
index.ts MCP server entry point
server.ts Server setup, tool registration (10 tools)
storage/
sqlite.ts SQLite + FTS5, schema migration, sessions
orientation/
types.ts OrientationResult, Gap, ScoreItem
GapDetector.ts Structural gap detection (8 codes)
Scorer.ts Orientation scoring (6 criteria, 100pts)
OrientationService.ts Orchestrator
OrientationRenderer.ts Markdown + JSON output
captures/
types.ts CaptureEntry, StructuredSnapshot, HookInput
CaptureManager.ts Parse, capture, list, read, review tracking
discover-transcript.ts Auto-discover session transcripts
precompact-capture.ts CLI hook entry point
capture-now.ts Manual capture CLI
tools/
boot-report.ts Orientation + open loops + capture awareness
end-session.ts Structured session close + capture warning
list-captures.ts List PreCompact captures
read-capture.ts Read captures in 3 modes
capture-now.ts Model-triggered manual capture
store.ts search.ts list.ts delete.ts update.ts
delivery/
budget.ts UTF-8 packet construction and atomic mandatory sections
receipts.ts Emission receipts (never claim model visibility)
session-start.ts SessionStart hook adapter
cursor.ts Cursor hook adapter (privacy-whitelisted stdin)
guidance.ts Canonical workflow guidance, both channels
init/
cli.ts scaffold.ts setup-hooks.ts setup-delivery.ts templates/
ストレージ: better-sqlite3 を使用した SQLite + FTS5。重要度で BM25 ランキングを強化します。type、source、session_id を含む型付きレコードです。
トランスポート: stdio(標準 MCP)。Claude Code ですぐに使用できます。
テスト
npm test
テストスイートは CI で Node 22、24、26 を対象に実行され、次の項目をカバーします:ストレージの CRUD と FTS5 ランキング、オリエンテーションのドメイン(ギャップ検出、ポリシー対応のスコアリング、プロジェクト解決、サービス、レンダリング)、キャプチャマネージャー(解析、制限、レビュー追跡、フォーマット)、配信(パケット予算の原子性、受信記録、ガイダンスチャネル、Cursor のプライバシーセンチネル)、両方のフックのセットアップ(スキーマ、冪等性、破損時の拒否)、および MCP 統合(10 個すべてのツールと、パッケージから取得したサーバーメタデータ)。
ロードマップ
次の目標:「ネットワークで考える」 — 活性化拡散、埋め込みによるセマンティック検索、ギャップ分析ツール、評価ハーネス。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。