リモート SSH サポートを備えたメモリバンク MCP 🧠
メモリバンクを管理するためのモデルコンテキストプロトコル(MCP)サーバー。AIアシスタントがセッション間で情報を保存・取得できるようにします。リモートサーバーのサポートも追加されました!
概要 📋
メモリバンクサーバーは、AIアシスタントがメモリバンクと連携するためのツールとリソースのセットを提供します。メモリバンクは、複数のセッションにわたってコンテキストを維持し、進行状況を追跡するのに役立つ構造化された情報リポジトリです。
Related MCP server: Memory Bank MCP
特徴 ✨
メモリバンク管理: メモリバンクの初期化、検索、管理
ファイル操作: メモリバンク内のファイルの読み取りと書き込み
進捗状況の追跡: 進捗状況を追跡し、メモリバンクファイルを更新します
意思決定ログ: 重要な意思決定をコンテキストと代替案とともに記録します
アクティブコンテキスト管理: アクティブコンテキスト情報を維持および更新する
モードサポート: モード固有の動作のために .clinerules ファイルを検出して使用します
UMB コマンド: UMB コマンドを使用してメモリバンクファイルを一時的に更新します
堅牢なエラー処理: エラーを適切に処理し、可能な場合は操作を続行します
ステータスプレフィックスシステム: メモリバンクの動作状態を即時に把握
リモートサーバーのサポート: SSHを使用してリモートサーバーにメモリバンクを保存します
ディレクトリ構造 📁
デフォルトでは、メモリバンクはプロジェクトのルートにあるmemory-bankディレクトリを使用します。-- --pathオプションを使用してプロジェクトパスを指定すると、メモリバンクは<project_path>/memory-bankに作成またはアクセスされます。
--folderオプションを使用して、メモリバンクフォルダの名前をカスタマイズできます。例えば、 --folder custom-memoryと設定すると、メモリバンクは<project_path>/custom-memoryに作成またはアクセスされます。
フォルダー名のカスタマイズの詳細については、 「カスタム メモリ バンク フォルダー名」を参照してください。
最近の改善点 🛠️
リモートサーバーサポート: SSH経由でリモートサーバーにメモリバンクを保存します
カスタマイズ可能なフォルダ名: メモリバンクのカスタムフォルダ名を指定できるようになりました
一貫したディレクトリ構造: メモリバンクは、プロジェクトルートで構成されたフォルダ名を常に使用するようになりました。
初期化の強化: .clinerules ファイルが存在しない場合でもメモリバンクが機能するようになりました
パス処理の改善:絶対パスと相対パスの処理が改善されました
ディレクトリ検出の改善: 既存のメモリバンクディレクトリの検出が向上しました
より堅牢なエラー処理: .clinerules ファイルに関連するエラーを適切に処理します。
詳細については、 「メモリ バンクのバグ修正」を参照してください。
インストール🚀
npx での使用法 💻
npx を使用すると、インストールせずに Memory Bank MCP を直接実行できます。
npx の使用に関する詳細については、 npx-usage.md を参照してください。
リモートサーバーモードの使用🌐
メモリバンクMCPは、SSH経由でメモリバンクをリモートサーバーに保存できるようになりました。これにより、以下のことが可能になります。
メモリバンクを一元管理: すべてのプロジェクトメモリを 1 か所に保管します
メモリバンクの共有: 複数のユーザーが同じメモリバンクにアクセスできます
永続ストレージ: ローカルマシンが消去されてもメモリバンクは保持されます
リモートサーバーの要件
リモートサーバーへのSSHアクセス
SSHキー認証の設定(パスワード認証はサポートされていません)
指定されたディレクトリにファイルを作成/変更するための十分な権限
SSHキーの設定
リモート サーバーの SSH キー認証を設定するには:
新しい SSH キー ペアを生成します(まだ生成していない場合)。
# Using modern Ed25519 algorithm (recommended) ssh-keygen -t ed25519 -C "your_email@example.com" # OR using RSA if required for compatibility ssh-keygen -t rsa -b 4096 -C "your_email@example.com"SSH エージェントを起動し、キーを追加します:
# Start the agent eval "$(ssh-agent -s)" # Add your key ssh-add ~/.ssh/id_ed25519 # or ~/.ssh/id_rsa if you used RSA公開鍵をリモートサーバーにコピーします:
# Easiest method (if available) ssh-copy-id username@your-remote-host.com # Alternative: manually copy your public key cat ~/.ssh/id_ed25519.pub # copy the output次に、キーをリモート サーバーの
~/.ssh/authorized_keysファイルに貼り付けます。接続をテストします:
ssh username@your-remote-host.comパスワードなしでログインできるはずです。
SSH キーの詳しい設定手順については、 SSH キー ガイドを参照してください。
リモートサーバーの構成
リモート サーバー モードを使用するには、次のパラメータを指定する必要があります。
デフォルトでは、SSHキーは~/.ssh/your_ssh_keyにあるものと想定されます。-- --ssh-keyオプションを使用して別のキーを指定することもできます。
リモートサーバーの例
カーソルでの設定 🖱️
Cursorは、モデルコンテキストプロトコル(MCP)をサポートするAI搭載のコードエディターです。CursorでメモリバンクMCPを設定するには、以下の手順に従ってください。
npx でメモリバンク MCP を使用する:
パッケージをグローバルにインストールする必要はありません。npxを直接使用できます。
# Verify npx is working correctly npx @aakarsh-sasi/memory-bank-mcp --helpオープンカーソル設定:
設定(⚙️)>拡張機能>MCPに移動します
「MCPサーバーを追加」をクリックします
MCP サーバーを構成します。
名称:メモリバンクMCP
コマンド: npx
引数:
@aakarsh-sasi/memory-bank-mcp --mode code(または必要に応じて他のモード)
リモート サーバーの場合:
引数:
@aakarsh-sasi/memory-bank-mcp --mode code --remote --remote-user username --remote-host example.host.com --remote-path /home/username/memory-bank
保存して有効化:
「保存」をクリック
MCPサーバーをオンにして有効にします
接続を確認:
カーソルでプロジェクトを開く
メモリバンクMCPがアクティブになり、AIインタラクションで利用できるようになります。
カーソルの詳細な手順と高度な使用方法については、 cursor-integration.md を参照してください。
カーソルと一緒に使う🤖
設定が完了すると、カーソル内の AI コマンドを通じてメモリ バンク MCP と対話できるようになります。
メモリバンクを初期化する:
/mcp memory-bank-mcp initialize_memory_bank path=./memory-bank進捗状況の追跡:
/mcp memory-bank-mcp track_progress action="Feature Implementation" description="Implemented feature X"ログ決定:
/mcp memory-bank-mcp log_decision title="API Design" context="..." decision="..."スイッチモード:
/mcp memory-bank-mcp switch_mode mode=code
MCP モードとその使用法 🔄
メモリバンク MCP は、特定のタスクに対する AI の相互作用を最適化するためにさまざまな動作モードをサポートしています。
利用可能なモード
コードモード👨💻
焦点: コードの実装と開発
使用法:
npx @aakarsh-sasi/memory-bank-mcp --mode code最適な用途: コードの作成、リファクタリング、最適化
建築家モード🏗️
焦点: システム設計とアーキテクチャ
使用方法:
npx @aakarsh-sasi/memory-bank-mcp --mode architect最適な用途: プロジェクト構造の計画、コンポーネントの設計、アーキテクチャ上の決定
質問モード❓
焦点: 質問に答え、情報を提供する
使用法:
npx @aakarsh-sasi/memory-bank-mcp --mode ask最適な用途: 説明、明確化、情報を得る
デバッグモード🐛
焦点: トラブルシューティングと問題解決
使用方法:
npx @aakarsh-sasi/memory-bank-mcp --mode debug最適な用途: バグの発見と修正、問題の分析
テストモード✅
焦点: テストと品質保証
使用法:
npx @aakarsh-sasi/memory-bank-mcp --mode test最適な用途: テストの作成、テスト駆動開発
モードの切り替え
モードを切り替えるにはいくつかの方法があります。
サーバーを起動するとき:
npx @aakarsh-sasi/memory-bank-mcp --mode architectセッション中:
memory-bank-mcp switch_mode mode=debugカーソル内:
/mcp memory-bank-mcp switch_mode mode=test.clinerules ファイルの使用: プロジェクトに
.clinerules-[mode]ファイルを作成し、ファイルが検出されたときに自動的にそのモードに切り替えます。
メモリバンク MCP の仕組み 🧠
Memory Bank MCPは、AIアシスタントが外部ツールやリソースと連携できるようにするモデルコンテキストプロトコル(MCP)を基盤としています。その仕組みは以下のとおりです。
コアコンポーネント 🧩
メモリ バンク: マークダウン ファイルとして保存された構造化された情報リポジトリ:
product-context.md: プロジェクト全体の情報と目標active-context.md: 現在の状態、進行中のタスク、次のステップprogress.md: プロジェクトの更新とマイルストーンの履歴decision-log.md: 重要な決定の記録(文脈と根拠付き)system-patterns.md: プロジェクトで使用されているアーキテクチャとコードパターン
MCP サーバー: AI アシスタントがメモリ バンクと対話するためのツールとリソースを提供します。
スタンドアロンプロセスとして実行
MCPプロトコルを介してAIアシスタントと通信する
メモリバンクを管理するためのツールセットを提供します
モードシステム: さまざまな動作モードをサポートします。
code: コードの実装に焦点を当てるask:質問に答えることに焦点を当てるarchitect:システム設計に重点を置くdebug: 問題のデバッグに焦点を当てるtest:テストに重点を置く
データフロー 🔄
初期化: AIアシスタントはMCPサーバーに接続し、メモリバンクを初期化します。
ツール呼び出し: AIアシスタントはMCPサーバーが提供するツールを呼び出して、メモリバンクファイルの読み取り/書き込みを行います。
コンテキスト維持: メモリバンクはセッション間でコンテキストを維持し、AIが以前の決定と進行を思い出せるようにします。
メモリバンクの構造 📂
メモリ バンクは、標準化された構造を使用して情報を整理します。
製品コンテキスト: プロジェクトの概要、目的、テクノロジー、アーキテクチャ
アクティブコンテキスト: 現在の状態、進行中のタスク、既知の問題、次のステップ
進捗状況: プロジェクトの最新情報とマイルストーンの時系列記録
意思決定ログ: 重要な意思決定を、その背景、代替案、結果とともに記録します。
システムパターン: アーキテクチャパターン、コードパターン、ドキュメントパターン
高度な機能 🚀
UMB コマンド: 変更をコミットせずにセッション中にメモリバンクファイルを一時的に更新する
モード検出: ユーザー入力に基づいてモードを自動的に検出して切り替えます
ファイル移行: 異なるファイル命名規則間で移行するためのツール
言語標準化: すべてのメモリバンクファイルは一貫性を保つために英語で生成されます
バージョン管理 📌
このプロジェクトはセマンティック・バージョニングに準拠し、コミットメッセージにはConventional Commitsを採用しています。変更がメインブランチにマージされると、バージョンは自動的に更新され、コミットメッセージに基づいて変更ログが生成されます。
重大な変更がある場合、メジャー バージョンが引き上げられます (
BREAKING CHANGEまたは!:を含むコミット メッセージ)新しい機能が追加されるとマイナーバージョンが上がります(
feat:またはfeat(scope):を含むコミットメッセージ)その他のすべての変更(バグ修正、ドキュメントなど)については、パッチ バージョンが引き上げられます。
変更の完全な履歴については、 CHANGELOG.mdファイルを参照してください。
使用方法 📝
コマンドラインツールとして💻
ライブラリとして📚
貢献中👥
行動規範とプル リクエストの送信プロセスの詳細については、 CONTRIBUTING.md を参照してください。
ライセンス📄
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細についてはLICENSEファイルを参照してください。
メモリバンクステータスシステム 🚦
メモリ バンク MCP は、メモリ バンクの動作状態を即座に確認できるステータス プレフィックス システムを実装しています。
ステータスインジケーター
Memory Bank MCP を使用する AI アシスタントからのすべての応答は、次のいずれかのステータス インジケーターで始まります。
[MEMORY BANK: ACTIVE]: メモリバンクは利用可能であり、コンテキスト認識応答を提供するために使用されています[MEMORY BANK: INACTIVE]: メモリバンクが利用できないか、正しく構成されていません[MEMORY BANK: UPDATING]: メモリバンクは現在更新中です (UMB コマンド実行中)
このシステムにより、AI アシスタントが完全なコンテキスト認識で動作しているのか、それとも限定された情報で動作しているのかをユーザーが常に把握できるようになります。
利点
透明性: AIがプロジェクトの全コンテキストにアクセスできるかどうかをユーザーは常に把握できます。
トラブルシューティング: メモリバンクが正しく構成されていない場合はすぐにわかります
コンテキスト認識: 特定の回答に歴史的背景が欠けている理由をユーザーが理解できるようにします。
詳細については、 「メモリ バンク ステータス プレフィックス システム」を参照してください。
Appeared in Searches
- Tools and Tips for Managing Files on a Computer
- Tools and frameworks for development environment memory-bank with GitHub Copilot compatibility
- Methods and Tools for Operating Remotely
- Designing a memory system for persona-based agents to improve user experience
- Securely Upload Local Files to Hosting Server via FTP Using WinSCP