local-only server
The server can only run on the client’s local machine because it depends on local resources.
ナレッジグラフメモリサーバー
カスタマイズ可能なメモリ パスを持つローカル ナレッジ グラフを使用した永続メモリの改善された実装。
これにより、Claude はチャット全体でユーザーに関する情報を記憶できるようになります。
[!NOTE] これはオリジナルのMemory Serverのフォークであり、一時メモリ npx インストール方法を使用しないことを目的としています。
サーバー名
コアコンセプト
エンティティ
エンティティはナレッジグラフの主要なノードです。各エンティティには以下の要素が含まれます。
- 一意の名前(識別子)
- エンティティの種類(例:「人」、「組織」、「イベント」)
- 観察リスト
- 作成日とバージョンの追跡
バージョン追跡機能は、時間の経過とともに知識がどのように進化するかの履歴コンテキストを維持するのに役立ちます。
例:
関係
関係は、実体間の有向的なつながりを定義します。関係は常に能動態で表され、実体同士がどのように相互作用し、関係するかを記述します。各関係には以下が含まれます。
- ソースエンティティとターゲットエンティティ
- 関係の種類
- 作成日とバージョン情報
このバージョン管理システムは、エンティティ間の関係が時間の経過とともにどのように変化するかを追跡するのに役立ちます。
例:
観察
観察とは、ある実体に関する個別の情報です。観察対象には以下のものがあります。
- 文字列として保存
- 特定のエンティティに添付
- 個別に追加または削除可能
- アトミックである必要があります(観察ごとに1つの事実)
例:
API
ツール
- エンティティの作成
- ナレッジグラフに複数の新しいエンティティを作成する
- 入力:
entities
(オブジェクトの配列)- 各オブジェクトには次のものが含まれます。
name
(文字列): エンティティ識別子entityType
(文字列): 型分類observations
(文字列[]): 関連する観測値
- 各オブジェクトには次のものが含まれます。
- 既存の名前を持つエンティティを無視します
- 関係を作成する
- エンティティ間に複数の新しい関係を作成する
- 入力:
relations
(オブジェクトの配列)- 各オブジェクトには次のものが含まれます。
from
(文字列): ソースエンティティ名to
(文字列): ターゲットエンティティ名relationType
(文字列): 能動態における関係の種類
- 各オブジェクトには次のものが含まれます。
- 重複関係をスキップする
- 観察を追加する
- 既存のエンティティに新しい観察を追加する
- 入力:
observations
(オブジェクトの配列)- 各オブジェクトには次のものが含まれます。
entityName
(文字列): 対象エンティティcontents
(文字列[]): 追加する新しい観察
- 各オブジェクトには次のものが含まれます。
- エンティティごとに追加された観測値を返します
- エンティティが存在しない場合は失敗します
- エンティティの削除
- エンティティとその関係を削除する
- 入力:
entityNames
(string[]) - 関連関係のカスケード削除
- エンティティが存在しない場合はサイレント操作
- 削除観測
- エンティティから特定の観察を削除する
- 入力:
deletions
(オブジェクトの配列)- 各オブジェクトには次のものが含まれます。
entityName
(文字列): 対象エンティティobservations
(文字列[]): 削除する観測値
- 各オブジェクトには次のものが含まれます。
- 観測が存在しない場合はサイレント操作
- 関係を削除する
- グラフから特定の関係を削除する
- 入力:
relations
(オブジェクトの配列)- 各オブジェクトには次のものが含まれます。
from
(文字列): ソースエンティティ名to
(文字列): ターゲットエンティティ名relationType
(文字列): 関係の種類
- 各オブジェクトには次のものが含まれます。
- 関係が存在しない場合はサイレント操作
- グラフを読む
- ナレッジグラフ全体を読む
- 入力不要
- すべてのエンティティと関係を含む完全なグラフ構造を返します
- 検索ノード
- クエリに基づいてノードを検索する
- 入力:
query
(文字列) - 検索範囲:
- エンティティ名
- エンティティタイプ
- 観察内容
- 一致するエンティティとその関係を返します
- オープンノード
- 名前で特定のノードを取得する
- 入力:
names
(文字列[]) - 戻り値:
- 要求されたエンティティ
- 要求されたエンティティ間の関係
- 存在しないノードを黙ってスキップする
カーソル、クライン、クロードデスクトップでの使用
設定
mcp.json または claude_desktop_config.json に以下を追加します。
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Knowledge Graph Memory Server を自動的にインストールするには:
カスタムメモリパス
メモリ ファイルのカスタム パスは、次の 2 つの方法で指定できます。
- コマンドライン引数の使用:
- 環境変数の使用:
パスが指定されていない場合は、サーバーのインストール ディレクトリにある memory.jsonl がデフォルトになります。
システムプロンプト
メモリの利用に関するプロンプトはユースケースによって異なります。プロンプトを変更することで、モデルはメモリの頻度と種類を適切に判断できるようになります。
チャットのパーソナライズのためのプロンプトの例を以下に示します。このプロンプトは、 Claude.ai プロジェクトの「カスタム指示」フィールドで使用できます。
ライセンス
このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。
This server cannot be installed
ローカル ナレッジ グラフを使用して Claude の永続メモリを実装し、AI がカスタマイズ可能な保存場所を使用して会話全体でユーザーに関する情報を記憶できるようにします。