メモリカスタム
このプロジェクトは、MCPチームが提供するメモリサーバーに新機能を追加します。これにより、言語モデル(LLM)を介してインタラクションをキャプチャするナレッジグラフの作成と管理が可能になります。
新機能
1. カスタムメモリパス
- ユーザーは、さまざまなプロジェクトに対して異なるメモリ ファイル パスを指定できるようになりました。
- 理由: この機能により、メモリ データの編成と管理が強化され、プロジェクト固有のメモリ ストレージが可能になります。
2. タイムスタンプ
- サーバーは、インタラクションのタイムスタンプを生成するようになりました。
- 理由: タイムスタンプにより、各メモリがいつ作成または変更されたかを追跡できるようになり、保存されたデータのコンテキストと履歴が向上します。
はじめる
前提条件
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Knowledge Graph Memory Server を自動的にインストールするには:
npx -y @smithery/cli install @BRO3886/mcp-memory-custom --client claude
インストール
- リポジトリをクローンします。
git clone git@github.com:BRO3886/mcp-memory-custom.git
cd mcp-memory-custom
- 依存関係をインストールします。
構成
サーバーを実行する前に、 MEMORY_FILE_PATH
環境変数を設定してメモリファイルのパスを指定できます。設定されていない場合、サーバーはデフォルトでスクリプトと同じディレクトリにあるmemory.json
を使用します。
サーバーの実行
MCP サーバーの JSON ファイルの更新
これをclaude_desktop_config.json
/ .cursor/mcp.json
ファイルに追加します。
{
"mcpServers": {
"memory": {
"command": "node",
"args": ["/path/to/mcp-memory-custom/dist/index.js"]
}
}
}
システムプロンプトの変更:
Follow these steps for each interaction:
1. The memoryFilePath for this project is /path/to/memory/project_name.json - always pass this path to the memory file operations (when creating entities, relations, or retrieving memory etc.)
2. User Identification:
- You should assume that you are interacting with default_user
- If you have not identified default_user, proactively try to do so.
3. 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"
4. 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)
5. 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, add timestamps to wherever required. You can get current timestamp via get_current_time
b) Connect them to the current entities using relations
c) Store facts about them as observations, add timestamps to observations via get_current_time
IMPORTANT: Provide a helpful and engaging response, asking relevant questions to encourage user engagement. Update the memory during the interaction, if required, based on the new information gathered (point 4).
ローカルでサーバーを実行する
Knowledge Graph メモリ サーバーを起動するには、次のコマンドを実行します。
npm run build
node dist/index.js
サーバーは標準入出力を介してリクエストをリッスンします。
APIエンドポイント
サーバーは、特定のパラメータで呼び出すことができるいくつかのツールを公開します。
- 現在の時刻を取得する
- メモリファイルパスの設定
- エンティティを作成する
- リレーションを作成する
- 観察事項を追加する
- エンティティの削除
- 観察結果を削除
- 関係を削除
- グラフを読む
- 検索ノード
- オープンノード
謝辞
- Anthropic の Memory サーバーからインスピレーションを得ました。