Memory Bank MCP Server について
Memory Bank MCP Server は、memory bank ファイルをリモートで管理する MCP サーバーです。Cline Memory Bank に着想を得ており、ファイルベースのメモリバンクを、プロジェクトごとに分離された中央サービスへまとめます。
主な機能
- 01プロジェクトごとに分かれたディレクトリによるマルチプロジェクト対応
- 02ファイル構造の強制とパストラバーサルの防止
- 03memory bank ファイルの読み取り、書き込み、更新
- 04プロジェクト一覧と各プロジェクト内のファイル一覧
活用シーン
- 01複数のプロジェクトの AI アシスタント用メモリを一箇所で管理
- 02Cline、Claude、Cursor間でプロジェクトのメモリを共有
MCP 対応
本プロジェクトは MCP サーバーとして、memory_bank_read、memory_bank_write、memory_bank_update、list_projects、list_project_files などのツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Memory Bank MCP Server
Cline Memory Bankに着想を得た、リモートのメモリーバンク管理向けModel Context Protocol(MCP)サーバーの実装です。
概要
Memory Bank MCP Serverは、従来のファイルベースのメモリーバンクを次のような一元管理サービスに変換します。
- MCPプロトコル経由でメモリーバンクファイルにリモートアクセスできます
- 複数プロジェクトのメモリーバンクを管理できます
- 一貫性のあるファイル構造と検証を維持します
- プロジェクトごとのメモリーバンクを適切に分離します
機能
-
複数プロジェクトのサポート
- プロジェクト固有のディレクトリ
- ファイル構造の強制
- パストラバーサルの防止
- プロジェクトの一覧表示
- プロジェクトごとのファイル一覧表示
-
リモートアクセス
- MCPプロトコルの完全な実装
- 型安全な操作
- 適切なエラー処理
- プロジェクトの分離によるセキュリティ
-
コア操作
- メモリーバンクファイルの読み取り/書き込み/更新
- 利用可能なプロジェクトの一覧表示
- プロジェクト内のファイル一覧表示
- プロジェクトの存在確認
- 安全な読み取り専用操作
インストール
Smithery経由で、Claude Desktop向けにMemory Bank Serverを自動インストールするには、次のコマンドを実行します。
npx -y @smithery/cli install @alioshr/memory-bank-mcp --client claude
これにより、MCPサーバーの設定が自動的に行われます。または、以下の「設定」セクションの説明に従って、サーバーを手動で設定できます。
クイックスタート
- 設定でMCPサーバーを構成します(以下の「設定」セクションを参照)
- AIアシスタントでメモリーバンクツールの使用を開始します
Cline/Roo Codeでの使用
メモリーバンクMCPサーバーは、ClineのMCP設定ファイルで構成する必要があります。ファイルの場所は環境によって異なります。
- Cline拡張機能の場合:
~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - Roo Code VS Code拡張機能の場合:
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/mcp_settings.json
次の設定をMCP設定に追加してください。
{
"allpepper-memory-bank": {
"command": "npx",
"args": ["-y", "@allpepper/memory-bank-mcp"],
"env": {
"MEMORY_BANK_ROOT": "<path-to-bank>"
},
"disabled": false,
"autoApprove": [
"memory_bank_read",
"memory_bank_write",
"memory_bank_update",
"list_projects",
"list_project_files"
]
}
}
設定の詳細
MEMORY_BANK_ROOT:プロジェクトのメモリーバンクを保存するディレクトリ(例:/path/to/memory-bank)disabled:サーバーを有効にするにはfalseに設定しますautoApprove:ユーザーの明示的な承認が不要な操作の一覧:memory_bank_read:メモリーバンクファイルを読み取りますmemory_bank_write:新しいメモリーバンクファイルを作成しますmemory_bank_update:既存のメモリーバンクファイルを更新しますlist_projects:利用可能なプロジェクトを一覧表示しますlist_project_files:プロジェクト内のファイルを一覧表示します
Cursorでの使用
Cursorの場合は、設定 -> 機能 -> MCPサーバーを追加 を開き、次の内容を追加します。
env MEMORY_BANK_ROOT=<path-to-bank> npx -y @allpepper/memory-bank-mcp@latest
Claudeでの使用
- Claude desktopの設定ファイル:
~/Library/Application Support/Claude/claude_desktop_config.json - Claude Codeの設定ファイル:
~/.claude.json
- 設定ファイルを見つけます
mcpServersというプロパティを見つけます- 次の内容を貼り付けます。
"allPepper-memory-bank": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@allpepper/memory-bank-mcp@latest"
],
"env": {
"MEMORY_BANK_ROOT": "YOUR PATH"
}
}
AIカスタム指示
このセクションには、Cline、Claude、Cursor、またはその他のMCPクライアント向けのAIカスタム指示に貼り付ける内容が記載されています。これらのルールをコピーして貼り付けてください。参考として、ルールを記載したcustom-instructions.mdを参照してください。
開発
基本的な開発コマンド:
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm run test
# Run tests in watch mode
npm run test:watch
# Run the server directly with ts-node for quick testing
npm run dev
Docker での実行
-
Docker イメージをビルドします:
docker build -t memory-bank-mcp:local . -
テスト用に Docker コンテナを実行します:
docker run -i --rm \ -e MEMORY_BANK_ROOT="/mnt/memory_bank" \ -v /path/to/memory-bank:/mnt/memory_bank \ --entrypoint /bin/sh \ memory-bank-mcp:local \ -c "ls -la /mnt/memory_bank" -
MCP の設定を追加します。以下は Roo Code の例です:
"allpepper-memory-bank": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "MEMORY_BANK_ROOT", "-v", "/path/to/memory-bank:/mnt/memory_bank", "memory-bank-mcp:local" ], "env": { "MEMORY_BANK_ROOT": "/mnt/memory_bank" }, "disabled": false, "alwaysAllow": [ "list_projects", "list_project_files", "memory_bank_read", "memory_bank_update", "memory_bank_write" ] }
貢献
貢献を歓迎します!以下の手順に従ってください:
- リポジトリをフォークします
- フィーチャーブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
開発ガイドライン
- 新しいコードはすべて TypeScript を使用してください
- コードベース全体で型安全性を維持してください
- 新機能にはテストを追加してください
- 必要に応じてドキュメントを更新してください
- 既存のコードスタイルとパターンに従ってください
テスト
- 新機能の単体テストを作成してください
- 複数プロジェクトのシナリオテストを含めてください
- エラーケースを十分にテストしてください
- 型制約を検証してください
- ファイルシステム操作を適切にモックしてください
ライセンス
このプロジェクトは MIT License のもとでライセンスされています。詳細は LICENSE ファイルをご覧ください。
謝辞
このプロジェクトは、Cline Memory Bank で最初に文書化されたメモリーバンクの概念を実装し、リモート機能と複数プロジェクトのサポートを追加したものです。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。