Roo Code Memory Bank MCP Server について
Roo Code Memory Bank システムの中核機能を実装した MCP サーバーです。AI アシスタントがセッションをまたいでプロジェクトのコンテキストを保持できるよう、memory-bank/ ディレクトリ内の Markdown ファイルを構造化されたツール経由で操作します。
主な機能
- 01テンプレートファイル付きの memory-bank ディレクトリ初期化
- 02メモリバンクの状態確認とファイル一覧取得
- 03指定したメモリバンクファイルの読み取り
- 04タイムスタンプ付きエントリの追記(見出し指定可)
活用シーン
- 01セッション開始時のプロジェクトコンテキストの読み込み
- 02設計判断や進捗の記録
- 03Cline や Roo Code 向けの永続的なプロジェクトメモリの提供
MCP 対応
MCP クライアントに対して、メモリバンクファイルの確認・初期化・読み取り・追記を行う 4 つのツールを公開する MCP サーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Roo Code Memory Bank MCP Server
このプロジェクトでは、Roo Code Memory Bank システムの中核機能を、Model Context Protocol(MCP)サーバーとして実装しています。AI アシスタントは、構造化された MCP ツールを使ってファイルベースのメモリーバンクとやり取りし、セッションをまたいでプロジェクトのコンテキストを維持できます。
機能
この MCP サーバーでは、以下のツールを利用できます。
initialize_memory_bank:memory-bank/ディレクトリと、初期テンプレートを含む標準の.mdファイル(productContext.md、activeContext.md、progress.md、decisionLog.md、systemPatterns.md)を作成します。- 入力:(任意)
{ "project_brief_content": string } - 出力:
{ "status": "success" | "error", "messages"?: string[], "message"?: string }
- 入力:(任意)
check_memory_bank_status:memory-bank/ディレクトリが存在するかを確認し、その中にある.mdファイルを一覧表示します。- 入力:
{} - 出力:
{ "exists": boolean, "files": string[] }
- 入力:
read_memory_bank_file:指定したメモリーバンクファイルの全内容を読み込みます。- 入力:
{ "file_name": string } - 出力:
{ "content": string }またはエラーオブジェクト。
- 入力:
append_memory_bank_entry:指定したファイルに、タイムスタンプ付きの新しいエントリーを追加します。必要に応じて、特定の Markdown 見出しの下に追加できます。ファイルが存在しない場合は作成します。- 入力:
{ "file_name": string, "entry": string, "section_header"?: string } - 出力:
{ "status": "success" | "error", "message": string }
- 入力:
前提条件
- Node.js(v18 以降を推奨)
- npm(通常は Node.js に含まれています)
- MCP サーバーを管理および起動できる MCP クライアント環境(Cline で使用されているものなど)
インストール
- リポジトリをクローンします:
git clone https://github.com/IncomeStreamSurfer/roo-code-memory-bank-mcp-server.git cd roo-code-memory-bank-mcp-server - 依存関係をインストールします:
npm install - プロジェクトをビルドします:
これにより、TypeScript コードがコンパイルされ、npm run builddist/ディレクトリに JavaScript として出力されます。
設定(Cline MCP クライアント向け)
このサーバーを AI アシスタント(Cline など)から利用できるようにするには、MCP 設定ファイル(例:cline_mcp_settings.json)に設定を追加する必要があります。
設定ファイル内の mcpServers オブジェクトを見つけ、次のエントリーを追加します。
{
"mcpServers": {
// ... other server configurations ...
"roo-code-memory-bank-mcp": {
"autoApprove": [
"initialize_memory_bank",
"check_memory_bank_status",
"read_memory_bank_file",
"append_memory_bank_entry"
],
"disabled": false,
"timeout": 60,
"command": "node", // Or "cmd.exe" with "/c node ..." on Windows if needed
"args": [
// IMPORTANT: Replace this path with the actual absolute path
// to the compiled index.js file on your system
"/path/to/your/cloned/repo/roo-code-memory-bank-mcp-server/dist/index.js"
],
"env": {},
"transportType": "stdio"
}
// ... other server configurations ...
}
}
重要: /path/to/your/cloned/repo/ を、マシン上でリポジトリをクローンした場所の正しい絶対パスに置き換えてください。お使いのオペレーティングシステムに合ったパス区切り文字を使用してください(例:Windows ではバックスラッシュ \ を使用します)。
サーバーの実行
通常、サーバーを手動で実行する必要はありません。MCP クライアント(Cline など)は、設定ファイルで指定された command と args を使用して、いずれかのツールが初めて呼び出されたときにサーバーを自動的に起動します。
手動でテストする場合は、プロジェクトディレクトリから npm start を実行できます。
使用方法
AI アシスタントは、定義されたツールを使ってサーバーとやり取りします。一般的なワークフローは次のとおりです。
- メモリーバンクの状態を確認します(
check_memory_bank_status)。 - 必要に応じて初期化します(
initialize_memory_bank)。 - 関連ファイルを読み込み、コンテキストを把握します(
read_memory_bank_file)。 - 判断を下したときや進捗があったときに、エントリーを追加します(
append_memory_bank_entry)。
memory-bank/ ディレクトリは、サーバープロセスの起動時に使用されるディレクトリ(MCP クライアントの設定から起動する場合は、このプロジェクトディレクトリのルートである必要があります)に作成されます。
カスタム指示
これらの指示を Roo に設定してください
必要に応じて MCP を使用してください
以下の特定の MCP フローがあります。
context7 を使用して、このプロセスに必要な関連ドキュメントを見つけてください。関連する知識があれば、関連するサブタスクに必ず共有してください。不明な点がある場合は、重要なドキュメントを調査するため、常に context7 を使用してください。 google maps mcp を使用して、 + を検索してください。これにより、タスクの達成に必要な基本的なビジネスを見つけられます。 brave search mcp を使用して、スクレイピングする URL を見つけてください。 fetch mcp の fetch_txt と fetch_markdown を使用して、ページ上のテキストや画像を取得し、JSON ファイルに変換して詳細な内容を作成してください。 openrouter search を使用して、トピックやレビューなどの一般的な評判を調べてください。
プロジェクトのコンテキストを維持するために、roo-code-memory-bank-mcp サーバーを活用してください。
- タスクまたは重要なサブタスクの開始時に、
check_memory_bank_statusを使用してください。 - メモリーバンクが存在する(
exists: true)場合は、read_memory_bank_fileを使用して、関連ファイル(例:productContext.md、activeContext.md)を読み込み、現在のプロジェクトのコンテキストを確認してください。 - 読み込んだコンテキストを計画と実行に反映させてください。
- 重要な決定、進捗の更新、またはアーキテクチャの変更を行う場合は、
append_memory_bank_entryを使用して、適切なファイル(decisionLog.md、progress.mdなど)に記録し、コンテキストを保持してください。 - メモリーバンクが存在しない場合は、プロジェクトに適していれば
initialize_memory_bankを使用してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。