gitmem について
gitmemは、AIコーディングエージェントにセッションをまたぐ永続メモリを提供するMCPサーバーです。失敗、成功、決定、未完了の作業を記録し、標準ではローカルに保存して、振り返りを通じて後続セッションで参照できます。
主な機能
- 01失敗、成功、決定事項の保存
- 02セッションをまたぐ文脈と未完了作業の継続
- 03関連する教訓のオンデマンド検索
- 04構造化されたセッション振り返り
- 05既存設定を維持した初期設定
活用シーン
- 01記録済みの失敗をエージェントが繰り返すのを防止
- 02新しいセッションで未完了の開発作業を継続
- 03プロジェクトの決定や有効な手法をコーディングエージェントに共有
- 04MCPクライアントに永続メモリを設定
MCP 対応
MCPサーバーとして、メモリ管理、検索、スレッド、複数エージェント連携のツールを提供します。セットアップウィザードでクライアント設定を生成できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y gitmem-mcpSUPABASE_URLSupabase project URL for pro tier features (semantic search, analytics). Not required for free tier.SUPABASE_SERVICE_ROLE_KEYシークレットSupabase service role key for pro tier features. Not required for free tier.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
21掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| plan | string | はい | これから行う作業(例:'implement auth layer'、'deploy to production') |
| project | string | いいえ | プロジェクトの名前空間(例:'my-project')。セッションと検索の対象を限定します。 |
| issue_id | string | いいえ | バリアント割り当てに使用する Linear issue 識別子(例:'PROJ-123')。指定すると、バリアント付きの教訓がランダムに割り当てられ、それに応じた形式で表示されます。 |
| match_count | number | いいえ | 返す教訓の数(デフォルト:3) |
| similarity_threshold | number | いいえ | 結果に含める最小類似度スコア(0-1)。しきい値を下回る低い一致は除外されます。デフォルト:0.4(無料プランの BM25)、0.35(プロプランの埋め込み)。 |
詳細
ドキュメント · npm · はじめに · ツールリファレンス
GitMem は、AI コーディングエージェントにセッションをまたいで持続する学習メモリを提供する MCP サーバーです。失敗(傷)、成功(成果)、判断を記憶するため、エージェントは毎回ゼロから始めるのではなく、経験から学べます。
MCP とは? Model Context Protocol は、AI コーディングツールが外部機能に接続するためのプロトコルです。GitMem は MCP サーバーです。一度インストールすれば、エージェントに持続的なメモリが備わります。
Claude Code、Cursor、VS Code(Copilot)、Windsurf、および MCP 対応のあらゆるクライアントで動作します。
クイックスタート
npx gitmem-mcp init
コマンドは 1 つだけです。ウィザードが IDE を自動検出し、すべてをセットアップします。
- スターター用の傷を含む
.gitmem/ディレクトリ - MCP サーバー設定(
.mcp.json、.vscode/mcp.json、.cursor/mcp.jsonなど) - 指示ファイル(
CLAUDE.md、.cursorrules、.windsurfrules、.github/copilot-instructions.md) - ライフサイクルフック(対応している場合)
.gitignoreの更新
すでに設定ファイルがある場合も、ウィザードは既存の内容を壊さずにマージします。再実行しても安全です。
npx gitmem-mcp init --yes # Non-interactive
npx gitmem-mcp init --dry-run # Preview changes
npx gitmem-mcp init --client vscode # Force specific client
仕組み
recall --> work --> learn --> close --> recall --> ...
- 想起 — 作業を始める前に、エージェントは過去のセッションから関連する教訓がないかメモリを確認します
- 作業 — エージェントは過去の教訓を自動的に適用しながらタスクを実行します
- 学習 — 失敗は傷に、成功は成果に、戦略はパターンになります
- 終了 — セッションの振り返りによって、次回のためのコンテキストが保存されます
すべての傷には反論が含まれています。これは、誰かがその教訓を無理なく無視できる理由です。これにより、メモリが融通の利かない規則の山になるのを防ぎます。
記憶される内容
| 種類 | 目的 | 例 |
|---|---|---|
| 傷 | 避けるべき失敗 | 「DB を検索する前に、必ず UUID の形式を検証する」 |
| 成果 | うまくいった方法 | 「エージェントを並列起動したことで、レビュー時間を 60% 短縮できた」 |
| パターン | 再利用できる戦略 | 「MCP サーバー向けの 5 層テストピラミッド」 |
| 判断 | 根拠を伴うアーキテクチャ上の選択 | 「ステートレス認証のため、セッション Cookie ではなく JWT を選んだ」 |
| スレッド | セッションをまたいで引き継がれる未完了の作業 | 「レート制限はまだ実装が必要」 |
主な機能
- 自動リコール — エージェントが同様のアクションを実行する前に、過去の失敗が表面化します
- セッションの継続性 — コンテキスト、スレッド、信頼関係をセッション間で引き継ぎます
- 終了セレモニー — 構造化された振り返りによって、何が壊れ、何がうまくいき、次回はどうすべきかを記録します
- 20 以上の MCP ツール — メモリ管理、検索、スレッド、マルチエージェント連携のための包括的なツールキット
- 設定不要 —
npx gitmem-mcp initを実行すれば、すぐに使えます - 既存設定を保持 — 既存の
.mcp.json、CLAUDE.md、フックと統合します
対応クライアント
| クライアント | セットアップ | フック |
|---|---|---|
| Claude Code | npx gitmem-mcp init | 完全対応(セッション、リコール、認証情報ガード) |
| Cursor | npx gitmem-mcp init --client cursor | 部分対応(セッション、リコール) |
| VS Code (Copilot) | npx gitmem-mcp init --client vscode | 指示ベース |
| Windsurf | npx gitmem-mcp init --client windsurf | 指示ベース |
| Claude Desktop | claude_desktop_config.json に追加 | 手動 |
| 任意の MCP クライアント | npx gitmem-mcp init --client generic | 指示ベース |
ウィザードが IDE を自動検出します。上書きするには --client を使用してください。
MCP の手動設定
MCP クライアントの設定ファイルに以下を追加してください。
{
"mcpServers": {
"gitmem": {
"command": "npx",
"args": ["-y", "gitmem-mcp@latest"]
}
}
}
| クライアント | 設定ファイル |
|---|---|
| Claude Code | .mcp.json |
| Cursor | .cursor/mcp.json |
| VS Code | .vscode/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
CLI コマンド
| コマンド | 説明 |
|---|---|
npx gitmem-mcp init | 対話型セットアップウィザード(IDE を自動検出) |
npx gitmem-mcp init --client <name> | 特定のクライアント向けにセットアップ(claude、cursor、vscode、windsurf、generic) |
npx gitmem-mcp init --yes | 非対話型セットアップ |
npx gitmem-mcp init --dry-run | 変更内容をプレビュー |
npx gitmem-mcp activate <key> | Pro ティアを有効化(スキーマを自動適用) |
npx gitmem-mcp deactivate | Pro の認証情報を削除し、デバイス枠を解放 |
npx gitmem-mcp setup | スキーマ SQL を出力(Supabase の手動セットアップ用) |
npx gitmem-mcp uninstall | クリーンに削除(.gitmem/ データは保持) |
npx gitmem-mcp uninstall --all | データを含めて完全に削除 |
npx gitmem-mcp check | 診断ヘルスチェック |
Pro ティア
ご自身の Supabase でセルフホストします。インフラストラクチャをご用意いただければ、gitmem がセットアップします。
| 提供内容 | エージェントにとってのメリット |
|---|---|
| セマンティック検索 | キーワードのノイズではなく、適切な過去の失敗をリコールで提示します |
| セッション分析 | 繰り返し起きている問題のパターンを見つけられます |
| サブエージェントへのブリーフィング | 組織のコンテキストをサブエージェントに自動で引き継ぎます |
| クラウド永続化 | マシンを変更してもメモリが保持され、チーム内で共有できます |
| A/B テスト分析 | 過去の失敗の表現がエージェントの動作を実際に変えるか測定できます |
クイックスタート
npx supabase login # one time
export SUPABASE_URL="https://yourproject.supabase.co"
export SUPABASE_SERVICE_ROLE_KEY="eyJ..."
export OPENROUTER_API_KEY="sk-or-v1-..."
npx gitmem-mcp activate <your-license-key>
activate コマンドは、すべてのテーブル、ビュー、RPC 関数、インデックスを自動で作成します。手動で SQL を実行する必要はありません。
詳しい手順については、docs/pro-setup-guide.md をご覧ください。
無料ティアでは、個人プロジェクトに必要なすべての機能を利用できます。Pro では、リコールの精度が向上し、メモリを持ち運べるようになります。
GitMem と MEMORY.md
AI エージェントには、独自のメモリファイル(MEMORY.md、.cursorrules など)があるかもしれません。両者の連携方法は次のとおりです。
| MEMORY.md | GitMem | |
|---|---|---|
| 読み込み | 毎ターン(システムプロンプト) | 必要に応じて(ツール呼び出し) |
| 最適な用途 | 設定、ショートカット、クイックリファレンス | 経験から得た教訓、未完了の作業、決定事項 |
| 更新 | エージェントが直接書き込み | セッションのライフサイクル(終了セレモニー) |
| 例 | 「ユーザーは簡潔な出力を好む」 | 「DB を検索する前に、必ず UUID を検証する」 |
ヒント: 2 つのシステムを軽量につなぐには、.gitmem/agent-briefing.md を MEMORY.md に含めてください。
プライバシーとデータ
- ローカル優先 — デフォルトでは、すべてのデータはお使いのマシン上の
.gitmem/に保存されます - テレメトリーなし — GitMem は使用状況データを収集せず、外部に送信することもありません
- クラウドはオプトイン — Pro ティアの Supabase バックエンドを利用するには、環境変数による明示的な設定が必要です
- お客様のデータ — セッション、傷跡、決定事項はお客様のものです。すべて削除するには
.gitmem/を削除してください
開発
git clone https://github.com/gitmem-dev/gitmem.git
cd gitmem
npm install
npm run build
npm test
開発環境の完全なセットアップについては、CONTRIBUTING.md をご覧ください。
ライセンス
MIT — LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。