Claude、Cursor、OpenCodeに永続メモリをセットアップする方法
なぜ永続メモリが必要なのか
Section titled “なぜ永続メモリが必要なのか”Claude、Cursor、OpenCodeなどのAIコーディングエージェントは強力ですが、重要な制限があります。セッション間でメモリがないということです。
新しいセッションを開始するたびに、エージェント:
- 昨日のアーキテクチャ決定を忘れる
- 発見したバグ修正を覚えていない
- チームが確立したパターンを思い出せない
- プロジェクトを最初からやり直す必要がある
これはトークンを無駄にし、時間を消耗し、苛立ちの繰り返しにつながります。
toon-memoryは再起動後も残る永続メモリをエージェントに与えることで、この問題を解決します。
クイックセットアップ(2分)
Section titled “クイックセットアップ(2分)”ステップ1: toon-memoryをインストール
Section titled “ステップ1: toon-memoryをインストール”npm install -g toon-memoryステップ2: インストーラーを実行
Section titled “ステップ2: インストーラーを実行”npx toon-memoryインストーラーが以下を行います:
- インストール済みのエージェントを検出
- 設定するエージェントを確認
- MCP設定を自動的に追加
ステップ3: メモリを使い始める
Section titled “ステップ3: メモリを使い始める”次のエージェントセッションで:
# 重要な決定を保存memory_remember({ category: "decision", key: "use-postgres", content: "Choose Postgres for ACID compliance"})
# メモリを検索memory_recall({ query: "database" })
# 1回の呼び出しで完全なコンテキストを取得memory_smart_recall({ intent: "what I was working on" })これで完了です。エージェントは永続メモリを持ちます。
エージェント別のセットアップ
Section titled “エージェント別のセットアップ”Claude Code
Section titled “Claude Code”Claude Codeはtoon-memoryとの最高の統合を備えており、完全なフックサポートを含みます。
自動セットアップ(推奨)
Section titled “自動セットアップ(推奨)”npx toon-memory# 選択: claude手動セットアップ
Section titled “手動セットアップ”.claude/settings.jsonに追加:
{ "mcpServers": { "toon-memory": { "command": "npx", "args": ["-y", "toon-memory", "mcp"] } }}フック: toon-memoryはClaude Code用にSessionStart、PostToolUse、Stopフックをインストールします。これらは以下を提供します:
- セッション開始時の自動リマインダー
- メモリからのコンテキスト読み込み
- セッション調整
Cursor
Section titled “Cursor”CursorはMCPサーバーをネイティブにサポートしています。
自動セットアップ
Section titled “自動セットアップ”npx toon-memory# 選択: cursor手動セットアップ
Section titled “手動セットアップ”.cursor/mcp.jsonに追加:
{ "servers": { "toon-memory": { "command": "npx", "args": ["-y", "toon-memory", "mcp"] } }}OpenCode
Section titled “OpenCode”OpenCodeはプラグインベースのアプローチでフックを実装します。
自動セットアップ
Section titled “自動セットアップ”npx toon-memory# 選択: opencodeこれにより以下が作成されます:
.opencode/opencode.json— MCP設定.opencode/plugins/toon-memory.ts— SessionStartフック付きプラグイン
手動セットアップ
Section titled “手動セットアップ”.opencode/opencode.jsonに追加:
{ "mcp": { "toon-memory": { "type": "local", "command": ["npx", "-y", "toon-memory", "mcp"], "enabled": true } }}注意: OpenCode 1.17+は設定内の"Unrecognized key: hooks"を拒否します。代わりにプラグインアプローチを使用してください。
Windsurf
Section titled “Windsurf”~/.codeium/windsurf/mcp_config.jsonに追加:
{ "servers": { "toon-memory": { "command": "npx", "args": ["-y", "toon-memory", "mcp"] } }}VS Code / Copilot
Section titled “VS Code / Copilot”.vscode/mcp.jsonに追加:
{ "servers": { "toon-memory": { "command": "npx", "args": ["-y", "toon-memory", "mcp"] } }}Codex CLI
Section titled “Codex CLI”.codex/config.tomlに追加:
[mcpServers.toon-memory]command = "npx"args = ["-y", "toon-memory", "mcp"]Codex CLIは[[hooks]]設定でフックもサポートしています。
Gemini CLI
Section titled “Gemini CLI”.gemini/settings.jsonに追加:
{ "mcpServers": { "toon-memory": { "command": "npx", "args": ["-y", "toon-memory", "mcp"] } }}Gemini CLIはhooks.*設定でフックをサポートしています。
~/.config/zed/settings.jsonに追加:
{ "mcp_servers": { "toon-memory": { "command": "npx", "args": ["-y", "toon-memory", "mcp"] } }}マルチエージェントセットアップ
Section titled “マルチエージェントセットアップ”複数のエージェント同時にtoon-memoryを設定できます:
npx toon-memory# 選択: claude, cursor, opencode全てのエージェントが.toon-memory/memory/data.toonの同じメモリファイルを共有します。
セッション調整
Section titled “セッション調整”複数のエージェントを並列で実行している場合:
memory_sessions()// 🧭 Active sessions (2):// • claude @ feature/auth (you)// • opencode @ feature/db// 🔥 Soft conflicts: src/types.ts他のセッションがどのファイルにアクセスしているかを確認し、競合を回避します。
基本コマンド
Section titled “基本コマンド”重要なコンテキストを保存する
Section titled “重要なコンテキストを保存する”# アーキテクチャ決定memory_remember({ category: "decision", key: "use-microservices", content: "Use microservices for payment and auth, monolith for core"})
# バグ修正memory_remember({ category: "bug", key: "redis-timeout", content: "Redis connection timeout — fix was increasing pool to 20"})
# コードパターンmemory_remember({ category: "pattern", key: "error-handling", content: "Always use custom AppError class, never throw raw Error"})メモリを検索する
Section titled “メモリを検索する”# シンプルなキーワード検索memory_recall({ query: "database" })
# グラフモード(関連エントリを検索)memory_recall({ query: "redis", mode: "graph", hops: 2 })
# コンパクトモード(トークン削減)memory_recall({ query: "auth", compact: true })
# スマートリコール(推奨)memory_smart_recall({ intent: "what I was working on" })メモリを管理する
Section titled “メモリを管理する”# 統計を表示memory_stats()
# 前回セッション以降の変更を表示memory_diff({ since: "24h" })
# 関連エントリを検索memory_suggest({ context: "database configuration" })
# 1回の呼び出しで完全なコンテキストを取得context_generate({})効果的なメモリのヒント
Section titled “効果的なメモリのヒント”保存すべきもの
Section titled “保存すべきもの”- アーキテクチャ決定 — 「なぜXではなくYなのか」
- バグ修正 — 「何が壊れていてどう直したか」
- コードパターン — 「ここではどうやるか」
- プロジェクトナレッジ — 「チームの慣習、デプロイプロセス」
保存すべきでないもの
Section titled “保存すべきでないもの”- 一時的なデバッグメモ
- シークレットやAPIキー
- コードを読めば明らかなこと
- 重複情報(マージ重複排除が同じキーを自動処理)
セッションの習慣
Section titled “セッションの習慣”セッション開始時:
memory_smart_recall({ intent: "what I was working on" })memory_sessions()セッション終了時:
memory_remember({ category: "decision", key: "today's-approach", content: "What I decided and why"})トラブルシューティング
Section titled “トラブルシューティング”インストール後にメモリが見つからない
Section titled “インストール後にメモリが見つからない”npx toon-memory statusを実行してインストールを確認- エージェントを完全に再起動
- MCP設定ファイルが存在し、有効なJSONであることを確認
メモリファイルが空
Section titled “メモリファイルが空”初回インストール時は正常です。memory_rememberを使用してエントリを保存し始めましょう。
重複エントリ
Section titled “重複エントリ”同じキーのmemory_rememberは自動マージされます。既存の重複をクリーンアップするにはmemory_consolidateを使用してください。
始めましょう
Section titled “始めましょう”npm install -g toon-memorynpx toon-memory # インタラクティブインストーラー次のセッションでエージェントは永続メモリを持ちます。