掲載済み (2025-10-18号)
#053 510文字 • 3分

## Claude Codeに自分の記憶を持ってもらうMCPサーバーを作った話

日本語

掲載情報

概要

https://zenn.dev/pppp303/articles/claude-ops-mcp-memory

詳細内容

## Claude Codeに自分の記憶を持ってもらうMCPサーバーを作った話 https://zenn.dev/pppp303/articles/claude-ops-mcp-memory 開発者は、Claude Codeが自身の操作履歴を「記憶」し参照できるように、Model Context Protocol(MCP)サーバーを開発しました。 **Content Type**: ⚙️ Tools **Language**: ja **Scores**: Signal:5/5 | Depth:4/5 | Unique:4/5 | Practical:5/5 | Anti-Hype:5/5 **Main Journal**: 91/100 | **Annex Potential**: 90/100 | **Overall**: 92/100 **Topics**: [[Claude Code, Model Context Protocol, AIエージェント, 開発ツール, ログ管理]] 本記事は、Claude Codeが自身の操作履歴を記憶し、参照するためのModel Context Protocol(MCP)サーバー「claude-ops-mcp」の開発について詳述しています。著者は、Claude Codeが`/rewind`コマンドで会話を巻き戻せるものの、自身が行った作業内容を根本的に「理解(記憶)」していないという問題意識からこのツールを開発しました。これにより、「何をしたのか?」という質問に対し、Claudeが推論ではなく自身のログを遡って正確に回答できるようになり、開発体験が向上します。 仕組みとしては、Claude Codeがセッションログを記録する`~/.claude/projects//.jsonl`ファイルを読み取り、その操作履歴をMCPサーバーとして提供します。具体的には、ログファイルの自動検出、JSONLパースによる操作抽出とインデックス化、ファイルパスや操作種別による効率的な検索、セッション検出結果をキャッシュする機構を通じてパフォーマンスを最適化しています。 提供されるMCPツールは以下の4つです。 1. `listFileChanges`: 特定のファイルやパスパターンの変更履歴(CREATE/UPDATE/DELETE)を取得します。 2. `listBashHistory`: セッション内で実行されたBashコマンドの履歴とサマリーを取得します。 3. `showBashResult`: `listBashHistory`で取得した操作IDを使って、特定のコマンドのstdout/stderrや終了コードの詳細を取得します。 4. `showOperationDiff`: `listFileChanges`や`listBashHistory`の操作IDを用いて、詳細な差分をdiff形式で取得します。 インストールはnpmでグローバルに行い、プロジェクトルートに`.mcp.json`ファイルを作成して設定を記述することで、Claude Codeに統合されます。記事では、ファイル編集履歴の確認、差分の確認、特定ファイルの変更履歴、コマンド実行結果の確認、失敗したコマンドの調査など、具体的な使用例も豊富に紹介されており、Claude Codeとの対話における具体的なメリットが示されています。 著者は、この基本的な記憶機能がなぜClaude Code本体に存在しないのか疑問を呈しており、ループ発生やコンテクスト消費のリスクを推測しつつも、現状では問題なく便利に使用できると述べています。また、MCP開発におけるClaude Codeの再起動の煩雑さなど、開発体験の改善点についても言及しています。このツールにより、Claude Codeが自身の行動を「確実な記憶」に基づいて回答できるようになることは、開発者にとって大きなメリットをもたらします。