/ ディレクトリ / プレイグラウンド / Memory Bank MCP
● コミュニティ alioshr 🔑 自分のキーが必要

Memory Bank MCP

作者 alioshr · alioshr/memory-bank-mcp

一元化されたメモリ バンク サーバー — Cline/Cursor/Claude メモリ ファイルを 1 つのフォルダに保存し、プロジェクトごとにスコープを設定し、パス トラバーサルから安全に保ちます。

memory-bank-mcp は、Cline Memory Bank パターンをスタンドアロン MCP サーバーに変換します。 これをルート ディレクトリに指定すると、すべてのプロジェクトが独自のメモリ バンク フォルダーを取得し、エージェントは 5 つのシンプルなツールを使用して読み取り、書き込み、更新、一覧表示を行うことができます。 複数のクライアント (Claude Desktop、Cursor、Windsurf) が同じ正規メモリを共有するように設計されており、IDE ごとに個別のコピーを必要としません。

なぜ使うのか

主な機能

ライブデモ

実際の動作

memory-bank-mcp.replay ▶ 準備完了
0/0

インストール

クライアントを選択

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "memory-bank-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp"
      ],
      "env": {
        "MEMORY_BANK_ROOT": "/path/to/memory/banks"
      }
    }
  }
}

Claude Desktop → Settings → Developer → Edit Config を開く。保存後、アプリを再起動。

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "memory-bank-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp"
      ],
      "env": {
        "MEMORY_BANK_ROOT": "/path/to/memory/banks"
      }
    }
  }
}

Cursor は Claude Desktop と同じ mcpServers スキーマを使用。プロジェクト設定はグローバルより優先。

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "memory-bank-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp"
      ],
      "env": {
        "MEMORY_BANK_ROOT": "/path/to/memory/banks"
      }
    }
  }
}

Cline サイドバーの MCP Servers アイコンをクリックし、"Edit Configuration" を選択。

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "memory-bank-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp"
      ],
      "env": {
        "MEMORY_BANK_ROOT": "/path/to/memory/banks"
      }
    }
  }
}

Claude Desktop と同じ形式。Windsurf を再起動して反映。

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "memory-bank-mcp",
      "command": "npx",
      "args": [
        "-y",
        "@allpepper/memory-bank-mcp"
      ]
    }
  ]
}

Continue はマップではなくサーバーオブジェクトの配列を使用。

~/.config/zed/settings.json
{
  "context_servers": {
    "memory-bank-mcp": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "@allpepper/memory-bank-mcp"
        ]
      }
    }
  }
}

context_servers に追加。保存時に Zed がホットリロード。

claude mcp add memory-bank-mcp -- npx -y @allpepper/memory-bank-mcp

ワンライナー。claude mcp list で確認、claude mcp remove で削除。

ユースケース

実用的な使い方: Memory Bank MCP

Claude Desktop、Cursor、Windsurf で 1 つのメモリ バンクを共有

👤 IDE 間を行き来し、プロジェクトに関する知識の単一ソースを必要とする開発者 ⏱ ~15 min beginner

使うタイミング: 複数の AI クライアントを使用し、プロジェクトに関する同じメモを繰り返しコピーします。

前提条件
  • ノード18+ — nvm インストール 18
  • メモリバンクを保持するディレクトリ — mkdir -p ~/ai-memory
フロー
  1. 各クライアントの MCP 構成で MEMORY_BANK_ROOT を設定します。
    すべての MCP クライアントを MEMORY_BANK_ROOT=~/ai-memory に指定し、@allpepper/memory-bank-mcp をインストールします。✓ コピーしました
    → Memory_bank_* ツールは各クライアントに表示されます
  2. 最初のプロジェクトバンクを作成する
    Memory_bank_write project=acme-api file=architecture.md — このリポジトリのサービス境界を要約します。✓ コピーしました
    → ファイルは ~/ai-memory/acme-api/architecture.md に表示されます
  3. 別のクライアントから読み取る
    カーソル内:memory_bank_read project=acme-api file=architecture.md✓ コピーしました
    → 同じコンテンツが返されました。 どちらのクライアントからの編集も即座に反映されます

結果: すべての IDE が自動的に参照する、バージョン管理可能な共有メモリ フォルダー。

注意点
  • MEMORY_BANK_ROOT 変更後の MCP クライアントの再起動を忘れる — クライアントを閉じて再度開きます。 環境変数は起動時にのみ読み取られます
組み合わせ: filesystem · github

新しいエージェントに長期にわたるプロジェクトに関するコンテキストを即座に提供する

👤 同じコードベースで複数のエージェントを実行しているチーム ⏱ ~10 min beginner

使うタイミング: 新しいチャットには、前回のチャットで既に学習した同じ背景 (慣例、過去の決定、既知のバグ) が必要です。

前提条件
  • このプロジェクトの既存のメモリ バンク — 通常の作業中にmemory_bank_writeを使用してデータを設定します。
フロー
  1. プロジェクトバンクがすでに持っているファイルをリストします
    project=acme-api の list_project_files を呼び出します。✓ コピーしました
    → アーキテクチャ.md、決定.md、オープンクエスチョン.md など。
  2. 関連するサブセットをロードします
    タスクを開始する前に、decions.md と open-questions.md を読んでください。✓ コピーしました
    → エージェントは再質問するのではなく、以前の決定を参照します

結果: 新しいセッションはコールドではなくウォームで開始されます。 毎回オンボーディング税の支払いをやめることができます。

注意点
  • 銀行を 1 つの巨大なファイルに成長させる — 意思決定、アーキテクチャ、自由回答形式の質問、ランブックなどの懸念ごとに分割されるため、エージェントは必要なものだけをロードします
組み合わせ: codebase-memory

他のプロジェクト ドキュメントと同様に、git でエージェント メモリのバージョンを管理する

👤 マシンや貢献者を超えてメモリを存続させたいチーム ⏱ ~20 min intermediate

使うタイミング: メモリ ファイルをレビューし、比較可能にし、チームメイトと共有したいと考えています。

前提条件
  • 銀行をホストする Git リポジトリ — MEMORY_BANK_ROOT またはプロジェクトのサブフォルダー内の git init
フロー
  1. ルートをリポジトリにする
    ~/ai-memory を git リポジトリに変換します。 機密性の高いものには .gitignore を追加します。✓ コピーしました
    → 標準の git リポジトリ構造
  2. エージェントがセッション中にメモリを更新できるようにする
    バグを修正した後、memory_bank_update を呼び出して根本原因を bugs.md に記録します。✓ コピーしました
    → 新しいコミット準備ができた差分
  3. コミットしてプッシュする
    メモリの差分を確認し、コミットしてプッシュします。✓ コピーしました
    → チームメイトがプルすると、エージェントがすぐにコンテキストを共有します

結果: エージェントのメモリは、第一級のプロジェクト成果物になります。

注意点
  • エージェントが書き留めた秘密をコミットする — メモリ リポジトリをプッシュする前に、プリコミット スキャナー (gitleaks など) を追加します。
組み合わせ: github · git

組み合わせ

他のMCPと組み合わせて10倍の力を

memory-bank-mcp + filesystem

メモリバンクにはエージェントのメモが保存されます。 ファイルシステムは参照しているコードを読み取ります

メモリ バンクから Decision.md を読み取り、それが参照するファイルを src/ で開きます。✓ コピーしました
memory-bank-mcp + github

PR マージ後、結果をプロジェクトのメモリ バンクに記録します

マージされた PR #412 を要約し、memory-bank/acme-api/decions.md を更新します。✓ コピーしました
memory-bank-mcp + codebase-memory

2 つの相補的なメモリ層 — コードグラフメモリ + 人間が読めるメモ

コードベースのメモリ シンボル グラフを、memory-bank/architecture.md の説明と結合します。✓ コピーしました

ツール

このMCPが提供する機能

ツール入力呼び出すタイミングコスト
memory_bank_read project: str, file: str 計画する前に既存のメモリを取得する 0
memory_bank_write project: str, file: str, content: str 新しいメモリ ファイルを作成する 0
memory_bank_update project: str, file: str, content: str 既存のメモリ ファイルを変更します (見つからない場合は失敗します) 0
list_projects (none) どのプロジェクトにすでにメモリ バンクがあるかを確認する 0
list_project_files project: str 読み取る前にどのようなメモリ ファイルが利用可能かを確認する 0

コストと制限

運用コスト

APIクォータ
外部APIなし
呼び出しあたりのトークン
ファイルサイズによって異なります。 典型的な紙幣 200 ~ 2000 トークン
金額
無料 — ローカルで実行
ヒント
メモリ ファイルは短く、トピックの範囲を限定してください。 50KB ファイルをロードすると、呼び出しごとにコンテキストが無駄になります。

セキュリティ

権限、シークレット、影響範囲

認証情報の保管: 資格情報はありません。 MEMORY_BANK_ROOT パスが唯一の構成です。
データ送信先: ネットワーク呼び出しはありません。読み取りと書き込みは MEMORY_BANK_ROOT の下のローカル ファイルシステムに残ります。

トラブルシューティング

よくあるエラーと対処法

エラー: MEMORY_BANK_ROOT が設定されていません

MCP クライアント設定で環境変数を設定し、クライアントを再起動します。

確認: echo $MEMORY_BANK_ROOT
ファイル読み取り時の ENOENT

最初に list_project_files を呼び出します。ファイル名は正確に存在する必要があります。

確認: ls $MEMORY_BANK_ROOT/<project>/
書き込み時の EACCES

MCP プロセスに MEMORY_BANK_ROOT に対する書き込み権限があることを確認してください。

確認: touch $MEMORY_BANK_ROOT/.probe && rm $MEMORY_BANK_ROOT/.probe

代替案

Memory Bank MCP 他との比較

代替案代わりに使う場面トレードオフ
memory (official)ファイルベースのメモではなく、ナレッジ グラフが必要ですグラフは構造化されているが、人間による編集は困難
memory-serviceメモリを介したセマンティック検索が必要な場合より重いセットアップ。 埋め込みが必要です
Cline Memory Bank (inline)Cline のみを使用し、IDE 間の共有は必要ありません。クラインに固定

その他

リソース

📖 GitHub の公式 README を読む

🐙 オープンな issue を見る

🔍 400以上のMCPサーバーとSkillsを見る