MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
MCPサーバ - Memory Bankのソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
MCPサーバ - Memory Bank
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == Memory Bank MCP (@allpepper/memory-bank-mcp) は、AIアシスタントのコンテキスト永続化を実現するMCPサーバ実装である。<br> Cline Memory Bankの概念を基に、マルチプロジェクト対応のMCP実装として拡張されている。<br> <br> プロジェクト固有の知識をマークダウンファイルで構造化して、複数のセッションにわたってAIアシスタントが継続的にアクセスできる永続メモリシステムを提供する。<br> これにより、AIアシスタントはセッションをまたいでプロジェクトの背景・設計・進捗情報を保持し、継続的な作業を行えるようになる。<br> <br> 開発元はalioshr (GitHub) であり、MITライセンスのもとで公開されている。<br> npmパッケージ名は <code>@allpepper/memory-bank-mcp</code> で、[https://github.com/alioshr/memory-bank-mcp GitHubリポジトリ] から入手できる。<br> <br> Claude Desktop、Claude Code、Cline、Roo Code、VS Code、Cursor等の主要なMCPクライアントに対応し、Windows、MacOS、Linuxで動作する。<br> <br> 下表に、主な機能を示す。<br> <br> <center> {| class="wikitable" |+ 主な機能一覧 |- ! 機能 !! 説明 |- | マルチプロジェクト対応 || プロジェクト固有のメモリバンクディレクトリで隔離管理 |- | 永続コンテキスト || セッション間でプロジェクトの知識を保持 |- | ファイル操作 || 構造化されたマークダウンファイルの読み取り・書き込み・更新 |- | セキュリティ || パストラバーサル防止による安全なファイルアクセス |} </center> <br><br> == 動作要件 == ==== 前提条件 ==== Memory Bank MCPを使用するために必要な前提条件を以下に示す。<br> <br> * Node.js *: v16以上が必要。v18以上を推奨。 * npxコマンド *: <code>npx</code> コマンドを使用して、Memory Bank MCPを実行するために必要 *: Node.jsに同梱されている。 * メモリバンク用ディレクトリ *: 環境変数 <code>MEMORY_BANK_ROOT</code> で指定するディレクトリが必要 *: 事前に作成しておくこと。 <br><br> == インストール == ==== Smithery経由のインストール ==== Smithery CLIを使用してインストールする場合は、以下に示すコマンドを実行する。<br> <br> npx -y @smithery/cli install @allpepper/memory-bank-mcp --client claude <br> <code>--client</code> オプションには、使用するMCPクライアント名 (claude 等) を指定する。<br> <br> ==== NPM直接インストール ==== npmを使用してグローバルインストールする場合は、以下に示すコマンドを実行する。<br> <br> npm install -g @allpepper/memory-bank-mcp <br><br> == MCPクライアントの設定 == ==== 設定ファイルの場所 ==== 各MCPクライアントの設定ファイルの場所は、以下の通りである。<br> <br> ===== Claude Desktop ===== * Linux *: <u>~/.config/Claude/claude_desktop_config.json</u> * MacOS *: <u>~/Library/Application Support/Claude/claude_desktop_config.json</u> * Windows *: <u>%APPDATA%\Claude\claude_desktop_config.json</u> <br> ===== Claude Code ===== * ローカルスコープ *: <u>.mcp.json</u> (プロジェクトルート) : <code>claude mcp add</code> コマンドで生成される。 * ユーザスコープ *: <u>~/.claude.json</u> (ホームディレクトリ) <br> ===== VS Code ===== * <u>.vscode/mcp.json</u> (プロジェクトルート) <br> ===== Cursor ===== * グローバル設定 *: <u>~/.cursor/mcp.json</u> * プロジェクト設定 *: <u>.cursor/mcp.json</u> <br> ==== Claude Desktopの設定 ==== <u>claude_desktop_config.json</u> ファイルに以下に示す内容を設定する。<br> <br> <syntaxhighlight lang="json"> { "mcpServers": { "memory-bank": { "command": "npx", "args": ["-y", "@allpepper/memory-bank-mcp@latest"], "env": { "MEMORY_BANK_ROOT": "/path/to/memory-banks" } } } } </syntaxhighlight> <br> 設定ファイルを保存した後、Claude Desktopを再起動して設定を反映する。<br> <br> ==== Claude Codeの設定 ==== Claude Codeでは、<code>claude mcp add</code> コマンドを実行して、Memory Bank MCPを追加できる。<br> <br> 以下に示すコマンドで、MCPサーバをClaude Codeに登録する。<br> <br> claude mcp add memory-bank -- npx -y @allpepper/memory-bank-mcp@latest <br> プロジェクトの <u>.mcp.json</u> ファイルに設定を記述する場合は、以下の内容を記述する。<br> <br> <syntaxhighlight lang="json"> { "mcpServers": { "memory-bank": { "command": "npx", "args": ["-y", "@allpepper/memory-bank-mcp@latest"], "env": { "MEMORY_BANK_ROOT": "/path/to/memory-banks" } } } } </syntaxhighlight> <br> ==== VS Code / Cursorの設定 ==== <u>.vscode/mcp.json</u> または <u>.cursor/mcp.json</u> ファイルに以下に示す内容を設定する。<br> ワークスペースフォルダ内にメモリバンクを配置する場合は、変数 <code>${workspaceFolder}</code> を使用できる。<br> <br> <syntaxhighlight lang="json"> { "mcpServers": { "memory-bank": { "command": "npx", "args": ["-y", "@allpepper/memory-bank-mcp@latest"], "env": { "MEMORY_BANK_ROOT": "${workspaceFolder}/memory-banks" } } } } </syntaxhighlight> <br><br> == 環境変数 == ==== 環境変数一覧 ==== 下表に、Memory Bank MCPの動作をカスタマイズするための環境変数を示す。<br> <br> <center> {| class="wikitable" |+ 環境変数の一覧 ! 環境変数 !! 必須 !! 説明 |- | <code>MEMORY_BANK_ROOT</code> || 必須 || メモリバンクディレクトリのルートパスを指定する。<br>全プロジェクトのメモリバンクがこのディレクトリ配下に作成される。 |- | <code>MEMORY_BANK_FOLDER</code> || オプション || メモリバンクのカスタムフォルダ名を指定する。<br>デフォルト値は <u>memory-bank</u> である。 |} </center> <br><br> == 提供ツール == ==== ツール一覧 ==== 下表に、Memory Bank MCPが提供するツールを示す。<br> <br> <center> {| class="wikitable" |+ 提供ツールの一覧 ! ツール名 !! 説明 !! パラメータ |- | <code>memory_bank_read</code> || メモリバンクファイルの内容を読み取る。 || <code>projectId</code>: プロジェクト識別子<br><code>filePath</code>: 読み取るファイルのパス |- | <code>memory_bank_write</code> || 新規メモリバンクファイルを作成して内容を書き込む。 || <code>projectId</code>: プロジェクト識別子<br><code>filePath</code>: 作成するファイルのパス<br><code>content</code>: 書き込む内容 |- | <code>memory_bank_update</code> || 既存のメモリバンクファイルを部分的に更新する。 || <code>projectId</code>: プロジェクト識別子<br><code>filePath</code>: 更新するファイルのパス<br><code>patches</code>: 適用するパッチ内容 |- | <code>list_projects</code> || メモリバンクに登録されているプロジェクトの一覧を表示する。 || なし |- | <code>list_project_files</code> || 指定したプロジェクト内のファイル一覧を表示する。 || <code>projectId</code>: プロジェクト識別子 |} </center> <br><br> == メモリバンクのファイル構造 == ==== 推奨ファイル構成 ==== メモリバンクは、プロジェクトルート配下の <u>memory-bank</u> ディレクトリに構造化されたマークダウンファイルとして保存される。<br> 推奨されるファイル構成を以下に示す。<br> <br> <プロジェクト>/ └── memory-bank/ ├── projectContext.md # プロジェクトの基礎定義 (目的、スコープ、制約) ├── productContext.md # ビジネス・ユーザー視点の背景情報 ├── activeContext.md # 現在のセッション状態とタスク情報 ├── systemPatterns.md # 技術アーキテクチャと設計パターン ├── techContext.md # 技術スタック・開発環境の詳細 ├── progress.md # プロジェクトの進捗状況と履歴 └── decisionLog.md # 技術的意思決定の記録 (オプション) </syntaxhighlight> <br> ==== 各ファイルの役割 ==== 下表に、各メモリバンクファイルの役割と記録する内容を示す。<br> <br> <center> {| class="wikitable" |+ メモリバンクファイルの一覧 ! ファイル名 !! 役割 !! 記録する内容 |- | <u>projectContext.md</u> || プロジェクトの基礎定義 || プロジェクトの目的、スコープ、制約条件 |- | <u>productContext.md</u> || 製品・ビジネス背景 || ビジネス要件、ユーザー視点の背景情報 |- | <u>activeContext.md</u> || 現在の作業状態 || 現在のセッション状態、進行中のタスク情報 |- | <u>systemPatterns.md</u> || 技術設計情報 || 技術アーキテクチャ、設計パターン、規約 |- | <u>techContext.md</u> || 技術環境情報 || 技術スタック、開発環境の詳細、依存関係 |- | <u>progress.md</u> || 進捗管理 || プロジェクトの進捗状況と作業履歴 |- | <u>decisionLog.md</u> || 意思決定記録 (オプション) || 技術的意思決定とその根拠の記録 |} </center> <br><br> == 使用例 == Memory Bank MCPの各ツールは、AIアシスタントが自然言語の指示を受けて自動的に呼び出す。<br> <br> ==== メモリバンクの初期化 ==== プロジェクト開始時にメモリバンクを初期化する場合の操作例を以下に示す。<br> <br> * 新しいプロジェクトでメモリバンクを作成する場合 *: <syntaxhighlight lang="text"> # プロンプト例 : Initialize a memory bank for this project. </syntaxhighlight> *: <br> <br> ==== セッション開始時の確認 ==== セッション開始時に前回の作業状態を確認する場合の操作例を以下に示す。<br> <br> * 前回のセッションからの継続作業を確認する場合 *: <syntaxhighlight lang="text"> # プロンプト例 : Let me check the active context to see where we left off. </syntaxhighlight> *: <br> <br> ==== 設計決定の記録 ==== アーキテクチャや技術的な意思決定をメモリバンクに記録する場合の操作例を以下に示す。<br> <br> * 技術的な設計決定を記録する場合 *: <syntaxhighlight lang="text"> # プロンプト例 : Record this architectural decision in the memory bank. </syntaxhighlight> *: <br> <br> ==== 進捗の更新 ==== 作業の進捗状況をメモリバンクに記録する場合の操作例を以下に示す。<br> <br> * 本日完了した作業を進捗ファイルに記録する場合 *: <syntaxhighlight lang="text"> # プロンプト例 : Update the progress file to reflect what we've completed today. </syntaxhighlight> *: <br> <br><br> == トラブルシューティング == ==== 一般的な問題 ==== 下表に、Memory Bank MCPで発生する可能性がある問題と対処法を示す。<br> <br> <center> {| class="wikitable" |+ トラブルシューティング一覧 ! 問題 !! 原因 !! 対処法 |- | Node.jsバージョンエラーが発生する || Node.jsのバージョンが要件を満たしていない。 || Node.js v18以上にアップグレードする。<br>アップグレード後、パッケージを再インストールする。 |- | サーバが起動しない || 設定ファイルの記述が誤っている。 || 設定JSONの <code>command</code> と <code>args</code> の内容を確認する。<br>ターミナルで手動実行してエラー内容を確認する。 |- | JSON解析エラーが発生する || サーバの出力に不正なJSON形式が含まれている。 || サーバのログを確認する。<br>パッケージを一度アンインストールして再インストールする。 |- | 接続タイムアウトが発生する || サーバの起動に時間が掛かっている。 || MCPクライアントの設定でタイムアウト値を増加させる。<br>例: <code>"timeout": 300000</code> |- | 権限エラーが発生する || <code>MEMORY_BANK_ROOT</code> で指定したディレクトリへの書き込み権限がない。 || ディレクトリの書き込み権限を確認する。<br>例: <code>ls -ld /path/to/memory-banks</code><br>権限がない場合は、<code>chmod 755 /path/to/memory-banks</code> を実行する。 |- | パストラバーサルエラーが発生する || 指定したファイルパスが <code>MEMORY_BANK_ROOT</code> 配下にない。 || ファイルパスが <code>MEMORY_BANK_ROOT</code> 内に収まっているか確認する。<br><code>../</code> 等の相対パスによる上位ディレクトリへのアクセスは拒否される。 |} </center> <br><br> {{#seo: |title={{PAGENAME}} : Exploring Electronics and SUSE Linux | MochiuWiki |keywords=MochiuWiki,Mochiu,Wiki,Mochiu Wiki,Electric Circuit,Electric,pcb,Mathematics,AVR,TI,STMicro,AVR,ATmega,MSP430,STM,Arduino,Xilinx,FPGA,Verilog,HDL,PinePhone,Pine Phone,Raspberry,Raspberry Pi,C,C++,C#,Qt,Qml,MFC,Shell,Bash,Zsh,Fish,SUSE,SLE,Suse Enterprise,Suse Linux,openSUSE,open SUSE,Leap,Linux,uCLnux,電気回路,電子回路,基板,プリント基板,Memory Bank,MCP,Model Context Protocol,memory-bank-mcp,Claude,Claude Code,Claude Desktop,Cline,Roo Code,VS Code,Cursor,AIアシスタント,永続メモリ,コンテキスト,プロジェクト管理 |description={{PAGENAME}} - 電子回路とSUSE Linuxに関する情報 | This page is {{PAGENAME}} in our wiki about electronic circuits and SUSE Linux |image=/resources/assets/MochiuLogo_Single_Blue.png }} __FORCETOC__ [[カテゴリ:設定]]
MCPサーバ - Memory Bank
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse