memory-mcp について
memory-mcp は Claude Code 向けの永続メモリサービスで、会話を保存し、後のセッションで関連する履歴を検索します。情報をエピソードとエンティティに整理し、ユーザー単位の共有とプロジェクト単位の分離に対応します。
主な機能
- 01会話の自動保存と想起
- 02セッションの記録と要約生成
- 03決定や好みなどのエンティティ抽出
- 04ベクトルベースのセマンティック検索
- 05ユーザー単位の共有とプロジェクト単位の分離
活用シーン
- 01新しいセッションでプロジェクトの背景を復元
- 02以前記録した技術的決定を検索
- 03個人の好みを複数プロジェクトで再利用
- 04メモリエンティティの手動追加や検索
MCP 対応
このサービスは MCP を通じて Claude Code にメモリツールを提供し、エピソード、エンティティ、履歴検索を扱います。フックを設定すると、メッセージの自動保存と関連メモリの注入が可能です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Memory MCP Service
Claude Code 向けの永続メモリ MCP サービスです。会話を自動的に保存し、セッションをまたいで関連する履歴を取得します。
できること: Claude Code と会話するたびに、会話のコンテキスト(決定事項、好み、重要な議論)が保存され、今後のセッションで自動的に呼び出されます。そのため、Claude は常に必要な背景情報を把握できます。

クイックスタート
前提条件
uv(Python パッケージランナー)をインストールします。
# Windows
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
# Mac/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
Python 3.10~3.13 が必要です(chromadb は Python 3.14 以降と互換性がありません)。
1. 初期化(初回のみ)
ベクトルモデルをダウンロードします(約400MB、一度のみ)。
uvx --from chenxiaofie-memory-mcp memory-mcp-init
2. Claude Code に MCP サーバーを追加する
claude mcp add memory-mcp -s user -- uvx --from chenxiaofie-memory-mcp memory-mcp
3. フックを設定する(推奨)
フックを使うと、メッセージの保存を完全に自動化できます。フックを使わない場合は、メモリツールを手動で呼び出す必要があります。
次の内容を ~/.claude/settings.json に追加します。
{
"hooks": {
"SessionStart": [{
"matcher": ".*",
"hooks": [{ "type": "command", "command": "uvx --from chenxiaofie-memory-mcp memory-mcp-session-start" }]
}],
"UserPromptSubmit": [{
"matcher": ".*",
"hooks": [{ "type": "command", "command": "uvx --from chenxiaofie-memory-mcp memory-mcp-auto-save" }]
}],
"Stop": [{
"matcher": ".*",
"hooks": [{ "type": "command", "command": "uvx --from chenxiaofie-memory-mcp memory-mcp-save-response" }]
}],
"SessionEnd": [{
"matcher": ".*",
"hooks": [{ "type": "command", "command": "uvx --from chenxiaofie-memory-mcp memory-mcp-session-end" }]
}]
}
}
4. 確認する
claude mcp list
memory-mcp: ... - ✓ Connected と表示されます。
これで完了です。新しい Claude Code セッションを開始すると、会話が自動的に保存され、呼び出されるようになります。
仕組み
Session Start ──► Create Episode ──► Monitor Process (background)
│
User Message ──► Save Message ──► Recall Related Memories ──► Inject Context
│
Claude Reply ──► Save Response │
│
Session End ──► Close Signal ──► Archive Episode + Generate Summary
- エピソード:会話セッションごとに「エピソード」が作成され、自動生成された要約が付与されます
- エンティティ:会話から抽出された重要な知識(決定事項、好み、概念)
- 二層ストレージ:ユーザーレベル(プロジェクト間で共有)+プロジェクトレベル(プロジェクトごとに分離)
- セマンティック検索:ベクトルベースの検索で、関連する過去のコンテキストを見つけます
使い方
自動モード(フックあり)
フックを設定すると、すべてが自動で行われます。Claude は過去のセッションから関連する履歴をコンテキストとして参照できます。
手動モード
Claude Code でメモリツールを直接呼び出すこともできます。
# Start a new episode
memory_start_episode("Login Feature Development", ["auth"])
# Record a decision
memory_add_entity("Decision", "Use JWT + Redis", "For distributed deployment")
# Search history
memory_recall("login implementation")
# Close episode
memory_close_episode("Completed JWT login feature")
フックのリファレンス
| フック | 内容 | タイミング |
|---|---|---|
| SessionStart | 新しいエピソードを作成します | 約50ms |
| UserPromptSubmit | ユーザーメッセージを保存し、関連するメモリを取得します | 約1~2秒 |
| Stop | アシスタントの応答を保存します | 約1秒 |
| SessionEnd | エピソードの終了を通知します | 約50ms |
ツールのリファレンス
| ツール | 説明 |
|---|---|
memory_start_episode | 新しいエピソードを開始します |
memory_close_episode | 現在のエピソードを終了してアーカイブします |
memory_get_current_episode | 現在アクティブなエピソードを取得します |
memory_add_entity | 知識エンティティを追加します |
memory_confirm_entity | 検出されたエンティティ候補を確定します |
memory_reject_candidate | 誤検出を却下します |
memory_deprecate_entity | エンティティを古い情報としてマークします |
memory_get_pending | 保留中のエンティティ候補を一覧表示します |
memory_recall | エピソードとエンティティを対象にセマンティック検索を行います |
memory_search_by_type | 種類を指定してエンティティを検索します |
memory_get_episode_detail | エピソードの詳細全体を取得します |
memory_list_episodes | すべてのエピソードを時系列で一覧表示します |
memory_stats | システム統計情報を取得します |
memory_encoder_status | ベクトルエンコーダーの状態を確認します |
memory_cache_message | メッセージを手動でキャッシュします |
memory_clear_cache | メッセージキャッシュをクリアします |
memory_cleanup_messages | 古いキャッシュ済みメッセージを整理します |
エンティティの種類
| 種類 | レベル | 説明 |
|---|---|---|
Decision | プロジェクト | このプロジェクトの技術的な決定事項 |
Architecture | プロジェクト | アーキテクチャ設計 |
File | プロジェクト | 重要なファイルの説明 |
Preference | ユーザー | 個人の好み(プロジェクト間で共有) |
Concept | ユーザー | 一般的な概念 |
Habit | ユーザー | 作業習慣 |
保存場所
- ユーザーレベル:
~/.claude-memory/ - プロジェクトレベル:
{project-root}/.claude/memory/
別の方法:ソースからインストールする
開発などのためにソースから実行する必要がある場合:
git clone https://github.com/chenxiaofie/memory-mcp.git
cd memory-mcp
# Windows:
install.bat
# Mac/Linux:
chmod +x install.sh && ./install.sh
続いて、venv の Python を使って MCP サーバーを設定します:
# Windows:
claude mcp add memory-mcp -s user -- "C:\path\to\memory-mcp\venv310\Scripts\python.exe" -m memory_mcp.server
# Mac/Linux:
claude mcp add memory-mcp -s user -- /path/to/memory-mcp/venv310/bin/python -m memory_mcp.server
作者
陈佳俊 (Jiajun Chen) — 中国・杭州を拠点とするフロントエンドエンジニアです。 GitHub @chenxiaofie · [email protected]
本プロジェクトは陈佳俊(GitHub:@chenxiaofie)が開発・保守しています。
ライセンス
MIT ライセンスです。詳細については、LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。