Knowledge Graph Memory Server

by itseasy21
Verified

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 インストール方法を使用しないことを目的としています。

サーバー名

mcp-knowledge-graph

コアコンセプト

エンティティ

エンティティはナレッジグラフの主要なノードです。各エンティティには以下の要素が含まれます。

  • 一意の名前(識別子)
  • エンティティの種類(例:「人」、「組織」、「イベント」)
  • 観察リスト
  • 作成日とバージョンの追跡

バージョン追跡機能は、時間の経過とともに知識がどのように進化するかの履歴コンテキストを維持するのに役立ちます。

例:

{ "name": "John_Smith", "entityType": "person", "observations": ["Speaks fluent Spanish"] }

関係

関係は、実体間の有向的なつながりを定義します。関係は常に能動態で表され、実体同士がどのように相互作用し、関係するかを記述します。各関係には以下が含まれます。

  • ソースエンティティとターゲットエンティティ
  • 関係の種類
  • 作成日とバージョン情報

このバージョン管理システムは、エンティティ間の関係が時間の経過とともにどのように変化するかを追跡するのに役立ちます。

例:

{ "from": "John_Smith", "to": "Anthropic", "relationType": "works_at" }

観察

観察とは、ある実体に関する個別の情報です。観察対象には以下のものがあります。

  • 文字列として保存
  • 特定のエンティティに添付
  • 個別に追加または削除可能
  • アトミックである必要があります(観察ごとに1つの事実)

例:

{ "entityName": "John_Smith", "observations": [ "Speaks fluent Spanish", "Graduated in 2019", "Prefers morning meetings" ] }

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 に以下を追加します。

{ "mcpServers": { "memory": { "command": "npx", "args": [ "-y", "@itseasy21/mcp-knowledge-graph" ], "env": { "MEMORY_FILE_PATH": "/path/to/your/projects.jsonl" } } } }

Smithery経由でインストール

Smithery経由で Claude Desktop 用の Knowledge Graph Memory Server を自動的にインストールするには:

npx -y @smithery/cli install @itseasy21/mcp-knowledge-graph --client claude

カスタムメモリパス

メモリ ファイルのカスタム パスは、次の 2 つの方法で指定できます。

  1. コマンドライン引数の使用:
{ "mcpServers": { "memory": { "command": "npx", "args": ["-y", "@itseasy21/mcp-knowledge-graph", "--memory-path", "/path/to/your/memory.jsonl"] } } }
  1. 環境変数の使用:
{ "mcpServers": { "memory": { "command": "npx", "args": ["-y", "@itseasy21/mcp-knowledge-graph"], "env": { "MEMORY_FILE_PATH": "/path/to/your/memory.jsonl" } } } }

パスが指定されていない場合は、サーバーのインストール ディレクトリにある memory.jsonl がデフォルトになります。

システムプロンプト

メモリの利用に関するプロンプトはユースケースによって異なります。プロンプトを変更することで、モデルはメモリの頻度と種類を適切に判断できるようになります。

チャットのパーソナライズのためのプロンプトの例を以下に示します。このプロンプトは、 Claude.ai プロジェクトの「カスタム指示」フィールドで使用できます。

Follow these steps for each interaction: 1. User Identification: - You should assume that you are interacting with default_user - If you have not identified default_user, proactively try to do so. 2. Memory Retrieval: - Always begin your chat by saying only "Remembering..." and retrieve all relevant information from your knowledge graph - Always refer to your knowledge graph as your "memory" 3. Memory - While conversing with the user, be attentive to any new information that falls into these categories: a) Basic Identity (age, gender, location, job title, education level, etc.) b) Behaviors (interests, habits, etc.) c) Preferences (communication style, preferred language, etc.) d) Goals (goals, targets, aspirations, etc.) e) Relationships (personal and professional relationships up to 3 degrees of separation) 4. Memory Update: - If any new information was gathered during the interaction, update your memory as follows: a) Create entities for recurring organizations, people, and significant events b) Connect them to the current entities using relations b) Store facts about them as observations

ライセンス

このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。

-
security - not tested
F
license - not found
-
quality - not tested

ローカル ナレッジ グラフを使用して Claude の永続メモリを実装し、AI がカスタマイズ可能な保存場所を使用して会話全体でユーザーに関する情報を記憶できるようにします。

  1. Server Name
    1. Core Concepts
      1. Entities
      2. Relations
      3. Observations
    2. API
      1. Tools
    3. Usage with Cursor, Cline or Claude Desktop
      1. Setup
      2. Installing via Smithery
      3. Custom Memory Path
      4. System Prompt
    4. License
      ID: az1ufmvfg3