health について
Mem0 プラグインの設定、ID 解決、MCP 接続、メモリ書き込み、セッション追跡を診断するスキルです。ディープモードではメモリ品質も調べます。
主な機能
- 01API キーと ID の確認
- 02MCP 接続テスト
- 03メモリ書き込みと削除のテスト
- 04セッション統計ファイルの検証
- 05ディープメモリ品質スキャン
活用シーン
- 01Mem0 プラグイン設定のトラブルシューティング
- 02メモリの読み書き権限の確認
- 03保存済みメモリの品質確認
MCP 対応
診断では Mem0 MCP ツールでメモリの検索、追加、状態確認、削除を行います。ディープモードではメモリを取得して分析します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mem0ai/ mem0 --skill healthインストール後、Claude Code で/healthを入力して読み込まれたか確認します。
詳細
Mem0 ヘルスチェック
mem0 プラグインの診断チェックを実行します。トラブルシューティングに役立ちます。
実行
すべてのチェックを実行してから、単一のサマリーを表示します。最初の失敗で停止しないでください。
チェック 1:API キー
_KEY="${MEM0_API_KEY:-${CLAUDE_PLUGIN_OPTION_MEM0_API_KEY:-}}"
[ -n "$_KEY" ] && echo "${_KEY:0:6}..." || echo "NOT_SET"
NOT_SETの場合:FAIL — "API キーが設定されていません"- 設定されている場合:PASS — コマンドはすでに先頭の 6 文字のみを表示します
チェック 2:ID の解決
プラグイン独自のリゾルバースクリプトを使って ID を解決し、フックが使用するものと一致させます。
SCRIPT_DIR="${CLAUDE_PLUGIN_ROOT:-${CODEX_PLUGIN_ROOT:-${CURSOR_PLUGIN_ROOT:-}}}/scripts"
source "$SCRIPT_DIR/_identity.sh" 2>/dev/null
echo "user_id=${MEM0_RESOLVED_USER_ID:-}"
echo "project_id=${MEM0_PROJECT_ID:-}"
echo "branch=${MEM0_BRANCH:-}"
CLAUDE_PLUGIN_ROOT を利用できない場合は、次の値を使用します。
user_id:MEM0_USER_IDまたは$USERproject_id:MEM0_PROJECT_ID、または$PWDに対応する~/.mem0/project_map.jsonの値branch:git branch --show-currentの結果
3 つすべてが空でなければ PASS です。いずれかがデフォルト値にフォールバックした場合は WARN です。
チェック 3:MCP サーバーの接続性
search_memories を次の値で呼び出します。
-
query="health check" -
filters={"AND": [{"user_id": "<active_user_id>"}, {"app_id": "<active_project_id>"}]} -
top_k=1 -
正常に返された場合(結果が空でも):PASS
-
エラーの場合:FAIL — エラーメッセージを表示します
チェック 4:メモリー書き込み機能
add_memory を次の値で呼び出します。
text="Health check probe — safe to delete."user_id=<active_user_id>app_id=<active_project_id>metadata={"type": "health_check", "probe": true}infer=False
応答では event_id が返されます(v3 の書き込みは非同期です)。処理状況を確認するには、get_event_status(event_id=<event_id>) を呼び出します。
- ステータスが
SUCCEEDEDの場合:PASS — イベント結果からメモリー ID を取得し、その ID を指定してdelete_memoryを呼び出し、クリーンアップします。 - 5 秒後もステータスが
PENDINGの場合:PASS(書き込みは受け付けられていますが、処理が遅延しています) - エラーの場合:FAIL — エラーを表示します。
チェック 5:セッション統計トラッカー
セッション統計ファイルが存在し、読み取り可能か確認します。
STATS_FILE="/tmp/mem0_session_stats_${USER}.json"
if [ -f "$STATS_FILE" ] && python3 -c "import json; json.load(open('$STATS_FILE'))" 2>/dev/null; then
echo "OK"
else
echo "FAIL"
fi
このファイルは SessionStart フックによって作成され、セッション中に PostToolUse フックによって更新されます。存在しない場合は、セッションフックがまだ実行されていない可能性があります。まずメッセージを送信してから、もう一度確認してください。
表示
## mem0 health
PASS API Key m0-dVe...
PASS Identity user=kartik, project=mem0, branch=main
PASS MCP Connection 142ms
PASS Write/Read write + delete OK
PASS Session Tracker stats file active
All checks passed.
いずれかのチェックに失敗した場合は、失敗ごとに具体的な修正手順を記載した ## トラブルシューティング セクションを追加します。
拡張モード:メモリー品質分析
--deep を指定して実行した場合(例:/mem0:health --deep)、上記の標準 5 項目のチェックに加えて、メモリー品質スキャンを実行します。
品質チェック 1:重複
get_memories を filters={"AND": [{"user_id": "<active_user_id>"}, {"app_id": "<active_project_id>"}]}、page_size=200 で呼び出します。同じ metadata.type グループ内の全ペアを比較し、テキストの重複度が高いもの(共通する名詞/キーワードが 60% 超)を探します。次の形式で報告します。
Potential duplicates: <N> pairs
[mem0:<id1>] ≈ [mem0:<id2>] — both about "<shared topic>"
品質チェック 2:古いメモリー
次の条件に該当するメモリーにフラグを付けます。
metadata.typeがsession_stateまたはcompact_summaryで、90 日より古いmetadata.confidence< 0.3 で、30 日より古い
Stale candidates: <N>
[mem0:<id>] — session_state, 142d old
品質チェック 2b:信頼度の低いメモリー
経過日数にかかわらず、metadata.confidence < 0.5 のメモリーにフラグを付けます。古いメモリーとは分けて報告します。
Low-confidence memories: <N>
[mem0:<id>] — confidence=0.3, "<content preview>"
品質チェック 3:矛盾
各 metadata.type グループ内で、同じトピックについて相反する事実を述べているペアにフラグを付けます。意味に基づいて判断し、否定のパターン、相反するツール/フレームワークの選択、または決定の撤回を探します。
Possible contradictions: <N>
[mem0:<idA>] vs [mem0:<idB>] — conflicting on "<topic>"
品質チェック 4:孤立したメモリー
metadata.type が設定されていないメモリー、または metadata.type が既知の 17 個のコーディングカテゴリに含まれていないメモリーです。適切なタグ付けなしに書き込まれた可能性があります。
Untagged/orphan memories: <N>
品質サマリー
## Memory Quality
Duplicates: <N> · Stale: <N> · Contradictions: <N> · Orphans: <N>
すべての件数が 0 の場合:Memory quality: clean.
いずれかが 0 以外の場合:Run /mem0:dream to fix. を追記します。
--deep で見つかった問題を修正するには、/mem0:dream を実行して自動統合(マージ、整理、競合解決)を行います。