title: "claude-mem導入前チェックリスト:インストールの落とし穴と、送信先・保存内容の確かめ方"
tags:
- ClaudeCode
- AI
- MCP
- セキュリティ
- SQLite
private: false
はじめに
claude-memは、Claude Codeなどのセッション中の操作を記録し、要約して次回のセッションに渡すプラグインである。GitHubのスターは約112kで、1日で+1,139増えた(2026-11-04時点の自動ダイジェストの値、※3)。
この記事は、仕組みの解説ではなく、導入前に手を動かして確認したい項目をまとめた手順書である。仕組みの詳細は、Zennの別記事で扱った。
最初に断っておく。筆者は本稿のために、claude-memをインストールも実行もしていない。 以下の手順は、READMEの記述(※1)にもとづく確認項目であり、動作は未検証である。コマンドの出力例も載せない。試す場合は、捨てても問題のない環境で行ってほしい。
1. 導入前に知っておく前提
| 項目 | 内容 | 出典 |
|---|---|---|
| ライセンス | Apache License 2.0 | ※1 |
| バージョン | 15.9.0(READMEのバッジ) | ※1 |
| 必要環境 | Node.js 20以上。BunとuvはなければREADMEによると自動で入る | ※1 |
| 保存先 | SQLite(セッション、観測、要約。FTS5で全文検索) | ※1 |
| ベクトル検索 | Chroma | ※1 |
| 設定ファイル | ~/.claude-mem/settings.json |
※1 |
2. インストール方法の違い
READMEには、2つの入れ方がある(※1)。
/plugin marketplace add thedotmack/claude-mem
/plugin install claude-mem
npx claude-mem install
1つ目は、Claude Codeのプラグインマーケットプレイスから入れる方法である。2つ目は、インストーラ経由で、OpenCode、T3 Code、Antigravity、OMP、Pi、DeepSeek Harnessなどの--ideオプションにも対応する。
落とし穴:npm install -gではフックが入らない
READMEは、npm install -g claude-memで入るのは、SDK(ライブラリ)だけだと注意している。フックの登録とworkerサービスは設定されない(※1)。「入れたのに何も記録されない」場合は、入れ方を確認したい。
落とし穴:Windowsのパス
Windowsでは、claude-memの起動コマンドがPATHに通らない問題があり、READMEは次の診断を案内している(※1)。
npx claude-mem doctor
3. 導入前に確認する5項目
3.1 配布元と版
npxや/plugin installで取得するものは、外部のコードである。次の点を、実行前に確認する。
- リポジトリの所有者とURLが、READMEの示すものと一致しているか。
- 版が固定されているか。自動更新だと、更新後に挙動が変わりうる。
- 自分の組織で、外部プラグインの導入に承認が必要か。
筆者の環境では、外部コードのインストールが自動判定で止まったため、実行できなかった。組織や環境によっては、同じ制限がかかることがある。回避せず、承認の経路を確認するのが筋である。
3.2 送信先の確認
READMEから読み取れる、観測データの送信先の候補は次の3つである(※1)。
| 経路 | 内容 |
|---|---|
| ホスト型observer | サインインで30日間の無料トライアル。以降は購読、またはAnthropicのプランに戻る |
| 外部プロバイダ | ホスト型observer、OpenRouter、Gemini、Anthropic |
| Cloud Sync | 任意。cmem.aiへバックアップ |
図2:観測データが外へ出うる経路。READMEの記述にもとづく
確認の手順は次のとおりである。
-
~/.claude-mem/settings.jsonを開く。 - プロバイダや同期に関する項目を探し、既定値を控える。
- 使わない送信先は、無効にする。
- 変更したことと理由を、記録に残す。
設定の項目名は、筆者が確認していないため、ここでは書かない。実際のファイルで探してほしい。
3.3 機密情報が記録に入る状況
フックはPreToolUseとPostToolUseを含み、ツールの入力と出力に触れる(※1)。次のようなものは、記録に混ざりうる。
-
.envや設定ファイルの中身 - コマンドの出力に含まれるトークン
- 顧客データを含むファイルの内容
確認するには、機密のないダミーを使う。
# テスト用ディレクトリで実行する(実在の秘密は使わない)
mkdir cm-test && cd cm-test
echo "API_KEY=dummy-1234" > .env
その後、Claude Codeに.envを読ませる操作をさせ、セッション終了後にSQLiteの内容を確認する。ダミーの値が記録に残っていれば、本物の値も残ると考えるべきである。
3.4 保存内容の確認
SQLiteのファイルの場所は、READMEの範囲では確認できていない。設定ファイルや、worker付属のWebビューアで確かめてほしい。見つけたら、読み取り専用で開く。
sqlite3 -readonly <DBファイルのパス> ".tables"
テーブル名は、版によって違う可能性がある。上のコマンドは、確認の入口である。
3.5 削除の手段
記録が不要になったとき、どう消すかを先に決めておく。READMEの範囲では、削除の手順は確認できていない。次の点を確かめる。
- Webビューアに削除の機能があるか。
- SQLiteのファイルを直接消してよいか(Chromaのデータとのズレが生じないか)。
- Cloud Syncを使った場合、クラウド側の削除はどうなるか。
4. MCP 3層検索を自分で測る
claude-memは、検索を3層に分ける(※1)。
| 層 | ツール | 役割 |
|---|---|---|
| 1 | search |
軽い索引を返す |
| 2 | timeline |
時系列の文脈を返す |
| 3 | get_observations |
選んだIDの詳細だけを返す |
READMEは、絞ってから取ることで約10倍のトークンを節約できると述べている。これは自社の主張で、筆者は検証していない。
自分で確かめるなら、次の2点を測る。
- 読み込む量:同じ質問に対して、記憶を使わないとき、全文を入れたとき、3層で取ったときの、入力トークン数を比べる。
- 取りこぼし:過去に確かに実施した作業を5件選び、第1層で、その5件が候補に出る割合を数える。絞りすぎると、必要な記憶が候補から漏れる。
# 取りこぼし率の集計の例(結果は自分で入力する)
expected = {"fix-login-bug", "migrate-db", "add-cache", "rename-api", "update-ci"}
found = {"fix-login-bug", "add-cache", "update-ci"} # 第1層の候補に出たもの
recall = len(expected & found) / len(expected)
print(f"recall = {recall:.2f}") # 例では 0.60
上のコードは集計の書き方の例で、値は仮のものである。実測値ではない。
5. 他の仕組みとの使い分け
図3:公式ページの記述にもとづく比較(2026-11-05確認)
| 目的 | 向いている仕組み |
|---|---|
| 毎回守らせたい規則 | CLAUDE.md(※2) |
| 好みや学んだことの自動メモ | Claude Codeの自動メモリ(※2) |
| 作業の経緯を後から検索 | claude-mem(※1) |
| アプリ側のユーザー記憶 | mem0(※4) |
Claude Code公式は、CLAUDE.mdと自動メモリは「コンテキストであり、強制される設定ではない」と説明している。操作を確実に止めるには、PreToolUseフックを使う(※2)。記憶系のプラグインを入れても、この性質は変わらない。
自動メモリは、~/.claude/projects/<project>/memory/に保存され、起動時に先頭200行または25KBが読み込まれる。無効にするには、/memoryのトグルか、環境変数CLAUDE_CODE_DISABLE_AUTO_MEMORY=1を使う(※2)。記憶系のプラグインと併用するとき、両方が文脈を足すので、重複しないか確認したい。
6. READMEにあるトークン宣伝について
READMEには、サードパーティのトークン(CMEM)とコントラクトアドレスを載せた節がある(※1)。ソフトウェアの機能とは関係がなく、そのリスクについての説明もない。
本稿では、技術評価の材料にしていない。投資や購入を勧める意図もない。導入の判断では、機能と運用の確認に集中し、金銭に関わる話は切り離して考えるのがよい。
7. 運用チェックリスト
- 配布元のURLと版を確認した
- 外部コードの導入について、組織の承認を確認した
-
settings.jsonの既定値と送信先を確認した - 使わない送信先を無効にした
- ダミーの秘密で、記録への混入を確かめた
- 保存先のファイルと、削除の手段を把握した
- 機密のあるリポジトリでは使わない運用にした
- 約10倍の削減を、自分の環境で測るまで、効果を断定しない
- 更新のたびに、挙動を再確認する
まとめ
claude-memは、作業の履歴を検索できる点が魅力だが、観測データが外部プロバイダへ送られうるため、導入前の確認が欠かせない。本稿の手順は、公式ページの記述にもとづくもので、筆者は実機で試していない。まず機密のないリポジトリで、送信先と保存内容を確かめてから、使う範囲を決めてほしい。
※本記事の記載内容は筆者個人の見解であり、所属する会社や組織の立場や方針とは一切関係ありません。
筆者情報
【Tomcat-zhou】|AI/AX/AIセキュリティ専門家
AI戦略洞察、AI駆動開発の方法論設計と現場で回る仕組みづくりをしています。
noteで戦略洞察 / Zenn・Qiitaで技術・方法論を書いています。
AIセキュリティ・AIコンサル・AIエージェント開発・AI活用・AI駆動開発教育、AI人材育成サービスを一体で提供。
X: @ZY20240528
LinkedIn: Tomcat-zhou
Facebook: zhou yi
note: Tomcat-zhou
zenn: Tomcat-zhou
参考資料
- thedotmack/claude-mem(GitHub)
- How Claude remembers your project(Claude Code公式ドキュメント)
- AI Open Source Trends 2026-11-04(agents-radar、自動ダイジェスト)
- mem0ai/mem0(GitHub)
タグ
ClaudeCode AI MCP セキュリティ SQLite AIエージェント


