mcp-knowledge-graph

by shaneholloman
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

mcp-knowledge-graph

ナレッジグラフメモリサーバー

カスタマイズ可能な--memory-pathを持つローカル ナレッジ グラフを使用した永続メモリの改善された実装。

これにより、AIモデルはチャットをまたいでユーザー情報を記憶できるようになります。これは、モデルコンテキストプロトコル(MCP)または関数呼び出し機能をサポートするあらゆるAIモデルで動作します。

[!NOTE] これはオリジナルのMemory Serverのフォークであり、一時メモリ npx インストール方法を使用しないことを目的としています。

サーバー名

mcp-knowledge-graph

コアコンセプト

エンティティ

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

  • 一意の名前(識別子)
  • エンティティの種類(例:「人」、「組織」、「イベント」)
  • 観察リスト

例:

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

関係

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

例:

{ "from": "John_Smith", "to": "ExampleCorp", "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互換プラットフォームでの使用

このサーバーは、Claude、GPT、Llama など、モデル コンテキスト プロトコル (MCP) または関数呼び出し機能をサポートする任意の AI プラットフォームで使用できます。

Claude Desktopでのセットアップ

claude_desktop_config.json に以下を追加します:

{ "mcpServers": { "memory": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-memory" ] } } }

他のAIプラットフォームとのセットアップ

関数呼び出しまたはMCP標準をサポートするあらゆるAIプラットフォームがこのサーバーに接続できます。具体的な設定はプラットフォームによって異なりますが、サーバーはMCPインターフェースを通じて標準ツールを公開します。

カスタムメモリパス

メモリ ファイルのカスタム パスを指定できます。

{ "mcpServers": { "memory": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-memory", "--memory-path", "/path/to/your/memory.jsonl"] } } }

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

システムプロンプト

メモリを活用するためのプロンプトは、ユースケースと使用するAIモデルによって異なります。プロンプトを変更すると、モデルがメモリの作成頻度と種類を判断しやすくなります。

チャットのパーソナライゼーションのためのプロンプトの例を以下に示します。これは、あらゆるAIモデルに適応できます。Claudeユーザーの場合は、 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 Gathering: - 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 c) Store facts about them as observations

他のAIモデルとの統合

このサーバーはモデルコンテキストプロトコル(MCP)標準を実装しており、関数呼び出しをサポートするあらゆるAIモデルと互換性があります。ナレッジグラフ構造とAPIはモデルに依存しないため、様々なAIプラットフォームとの柔軟な統合が可能です。

他のモデルと統合するには:

  1. MCPサーバーにアクセスできるようにモデルを構成する
  2. モデルが公開されたツールへの関数呼び出しが可能であることを確認する
  3. システムプロンプトを特定のモデルの命令形式に適合させる
  4. モデルに関係なく同じ知識グラフ操作を使用する

ライセンス

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

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

カスタマイズ可能な --memory-path を備えたローカルナレッジグラフを用いた、永続メモリの実装が改善されました。これにより、Claude はチャットをまたいでユーザー情報を記憶できるようになります。

  1. Server Name
    1. Core Concepts
      1. Entities
      2. Relations
      3. Observations
    2. API
      1. Tools
    3. Usage with MCP-Compatible Platforms
      1. Setup with Claude Desktop
      2. Setup with Other AI Platforms
      3. Custom Memory Path
      4. System Prompt
    4. Integration with Other AI Models
      1. License
        ID: zn6gf7sxjs