MCP KnowledgeBase Server について
MCP KnowledgeBase Serverは、会話の記憶をSQLiteに保存し、全文検索で取得できるMCPサーバーです。記憶の使い方を案内するプロンプトも含まれます。
主な機能
- 01SQLiteへの記憶保存
- 02全文検索による記憶検索
- 03記憶利用のプロンプトを収録
- 04データベースの場所とファイル名の設定
活用シーン
- 01会話内容を後から参照できるよう保存
- 02全文検索で過去の記憶を検索
MCP 対応
LLMによる記憶の保存と検索を可能にし、記憶の使い方を案内するプロンプトも含むMCPサーバーです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP KnowledgeBase Server
会話中に LLM が記憶を保存し、後から検索できるようにする Model Context Protocol(MCP)サーバーです。記憶は SQLite データベースに保存され、全文検索機能を使って記憶を検索します。
使い方
データベースの保存場所とファイル名は、2 つの環境変数で設定します。
DATABASE_NAME:デフォルトの保存場所を使い、データベースのファイル名を指定します。例:my_custom_db.sqlite。
DATABASE_PATH:データベースファイルの完全なパスを指定します(DATABASE_NAME は無視されます)。例:/Users/your_name/.db/my_db.sqlite。
Docker
Docker を使用する場合、データベースを保存する永続ボリュームを作成する必要があります(上級者は必要に応じて、ファイルシステム上のフォルダーをマウントできます)。docker volume create knowledgebase を実行してボリュームを作成し、以下のように claude_desktop_config.json でサーバーを設定します。
Docker でカスタムデータベースファイルを使用するには、DATABASE_PATH を使い、--env 引数で Docker コマンドに渡す必要があります。例:"--env", "DATABASE_PATH=/db/my_db.sqlite"(これらの文字列を、イメージ名より前に設定の args 配列へ追加します)。
{
"mcpServers": {
"knowledgebase": {
"command": "docker",
"args": [
"run",
"--interactive",
"--rm",
"--volume", "knowledgebase:/db",
"mbcrawfo/knowledge-base-server"
]
}
}
}
dotnet cli でローカル実行する
- .Net 9 SDK が必要です。
- このリポジトリをクローンします。
- ターミナルでリポジトリのディレクトリに移動し、
dotnet buildを実行します。 - 以下の設定を
claude_desktop_config.jsonに追加します(エラーが発生する場合は、dotnet cli のフルパスを指定してみてください)。
ローカル実行時のデータベースのデフォルトの保存場所は、Application Data ディレクトリです。
{
"mcpServers": {
"knowledgebase": {
"command": "dotnet",
"args": [
"run",
"--project", "/full/path/to/repo/src/KnowledgeBaseServer/KnowledgeBaseServer.csproj",
"--no-restore",
"--no-build"
]
}
}
}
プロンプト
このサーバーには、LLM に記憶の使い方を伝える「General Memory Usage」プロンプトが含まれています。ただし、用途に合わせてより具体的なカスタムプロンプトを使用することもできます。
開発
テスト用データベースの作成やアップグレードには、--init-db パラメーターを指定してアプリを実行できます。KnowledgeBaseServer プロジェクトのディレクトリから、dotnet run -- --init-db /path/to/db.sqlite を実行します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。