コンテンツにスキップ

Claude、Cursor、OpenCodeに永続メモリをセットアップする方法

Claude、Cursor、OpenCodeなどのAIコーディングエージェントは強力ですが、重要な制限があります。セッション間でメモリがないということです。

新しいセッションを開始するたびに、エージェント:

  • 昨日のアーキテクチャ決定を忘れる
  • 発見したバグ修正を覚えていない
  • チームが確立したパターンを思い出せない
  • プロジェクトを最初からやり直す必要がある

これはトークンを無駄にし、時間を消耗し、苛立ちの繰り返しにつながります。

toon-memoryは再起動後も残る永続メモリをエージェントに与えることで、この問題を解決します。

ステップ1: toon-memoryをインストール

Section titled “ステップ1: toon-memoryをインストール”
Terminal window
npm install -g toon-memory

ステップ2: インストーラーを実行

Section titled “ステップ2: インストーラーを実行”
Terminal window
npx toon-memory

インストーラーが以下を行います:

  1. インストール済みのエージェントを検出
  2. 設定するエージェントを確認
  3. MCP設定を自動的に追加

ステップ3: メモリを使い始める

Section titled “ステップ3: メモリを使い始める”

次のエージェントセッションで:

Terminal window
# 重要な決定を保存
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はtoon-memoryとの最高の統合を備えており、完全なフックサポートを含みます。

Terminal window
npx toon-memory
# 選択: claude

.claude/settings.jsonに追加:

{
"mcpServers": {
"toon-memory": {
"command": "npx",
"args": ["-y", "toon-memory", "mcp"]
}
}
}

フック: toon-memoryはClaude Code用にSessionStart、PostToolUse、Stopフックをインストールします。これらは以下を提供します:

  • セッション開始時の自動リマインダー
  • メモリからのコンテキスト読み込み
  • セッション調整

CursorはMCPサーバーをネイティブにサポートしています。

Terminal window
npx toon-memory
# 選択: cursor

.cursor/mcp.jsonに追加:

{
"servers": {
"toon-memory": {
"command": "npx",
"args": ["-y", "toon-memory", "mcp"]
}
}
}

OpenCodeはプラグインベースのアプローチでフックを実装します。

Terminal window
npx toon-memory
# 選択: opencode

これにより以下が作成されます:

  • .opencode/opencode.json — MCP設定
  • .opencode/plugins/toon-memory.ts — SessionStartフック付きプラグイン

.opencode/opencode.jsonに追加:

{
"mcp": {
"toon-memory": {
"type": "local",
"command": ["npx", "-y", "toon-memory", "mcp"],
"enabled": true
}
}
}

注意: OpenCode 1.17+は設定内の"Unrecognized key: hooks"を拒否します。代わりにプラグインアプローチを使用してください。

~/.codeium/windsurf/mcp_config.jsonに追加:

{
"servers": {
"toon-memory": {
"command": "npx",
"args": ["-y", "toon-memory", "mcp"]
}
}
}

.vscode/mcp.jsonに追加:

{
"servers": {
"toon-memory": {
"command": "npx",
"args": ["-y", "toon-memory", "mcp"]
}
}
}

.codex/config.tomlに追加:

[mcpServers.toon-memory]
command = "npx"
args = ["-y", "toon-memory", "mcp"]

Codex CLIは[[hooks]]設定でフックもサポートしています。

.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を設定できます:

Terminal window
npx toon-memory
# 選択: claude, cursor, opencode

全てのエージェントが.toon-memory/memory/data.toonの同じメモリファイルを共有します。

複数のエージェントを並列で実行している場合:

Terminal window
memory_sessions()
// 🧭 Active sessions (2):
// claude @ feature/auth (you)
// opencode @ feature/db
// 🔥 Soft conflicts: src/types.ts

他のセッションがどのファイルにアクセスしているかを確認し、競合を回避します。

重要なコンテキストを保存する

Section titled “重要なコンテキストを保存する”
Terminal window
# アーキテクチャ決定
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"
})
Terminal window
# シンプルなキーワード検索
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" })
Terminal window
# 統計を表示
memory_stats()
# 前回セッション以降の変更を表示
memory_diff({ since: "24h" })
# 関連エントリを検索
memory_suggest({ context: "database configuration" })
# 1回の呼び出しで完全なコンテキストを取得
context_generate({})
  • アーキテクチャ決定 — 「なぜXではなくYなのか」
  • バグ修正 — 「何が壊れていてどう直したか」
  • コードパターン — 「ここではどうやるか」
  • プロジェクトナレッジ — 「チームの慣習、デプロイプロセス」
  • 一時的なデバッグメモ
  • シークレットやAPIキー
  • コードを読めば明らかなこと
  • 重複情報(マージ重複排除が同じキーを自動処理)

セッション開始時:

Terminal window
memory_smart_recall({ intent: "what I was working on" })
memory_sessions()

セッション終了時:

Terminal window
memory_remember({
category: "decision",
key: "today's-approach",
content: "What I decided and why"
})

インストール後にメモリが見つからない

Section titled “インストール後にメモリが見つからない”
  1. npx toon-memory statusを実行してインストールを確認
  2. エージェントを完全に再起動
  3. MCP設定ファイルが存在し、有効なJSONであることを確認

初回インストール時は正常です。memory_rememberを使用してエントリを保存し始めましょう。

同じキーのmemory_rememberは自動マージされます。既存の重複をクリーンアップするにはmemory_consolidateを使用してください。

Terminal window
npm install -g toon-memory
npx toon-memory # インタラクティブインストーラー

次のセッションでエージェントは永続メモリを持ちます。