MCP Neo4j Memory Server について
MCP Neo4j Memory Server は、Neo4j グラフデータベースを用いて AI アシスタントに永続的なメモリを提供する MCP サーバーです。メモリは相互に接続されたノードとして保存され、プロジェクトごとに別のデータベースへ分けられます。
主な機能
- 01グラフ構造のメモリノードと関係
- 02セマンティックベクトル、完全一致、グラフ走査による検索
- 03強度とメタデータを持つ型付きの関係
- 04相対または絶対日付によるフィルタリング
- 05プロジェクトごとに分離されたデータベース
活用シーン
- 01コーディングアシスタントのための長期的なプロジェクト文脈と決定事項の保存
- 02新しいプロンプトに関連する過去のメモリの検索
- 03プロジェクトごとに別のメモリデータベースへの切り替え
MCP 対応
本プロジェクトは MCP サーバーであり、memory_store、memory_find、memory_modify、database_switch の 4 つのツールを MCP クライアントに公開し、メモリの保存、検索、変更、データベース切り替えを行えるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Neo4j Memory Server
AI アシスタントに、統一アーキテクチャを採用した Neo4j のグラフデータベースを用いた永続的でインテリジェントなメモリ機能を提供する Model Context Protocol(MCP)サーバーです
できること
このサーバーは、AI アシスタントが次のことを可能にします:
- 記憶する - 観察とメタデータを伴う相互接続されたナレッジノードとしてメモリを保存します
- 検索する - セマンティックベクトル検索、完全一致、グラフトラバーサルを使用して関連するメモリを見つけます
- 接続する - バッチ操作と相互参照を用いて、メモリ間に意味のある関係を作成します
- 整理する - 異なるデータベースを使用してプロジェクトごとにメモリを分離します
- 進化させる - 時間的メタデータと関係ネットワークを用いて、知識が時間とともにどのように発展するかを追跡します
機能
コア機能
- 🧠 グラフメモリ - メモリをノード、関係をエッジ、観察をコンテンツとして扱います
- 🔍 統合検索 - セマンティックベクトル、完全一致、ワイルドカード、グラフトラバーサルを 1 つのツールで
- 🔗 スマートリレーション - 強度、ソース追跡、時間的メタデータを伴う型付き接続
- 📊 マルチデータベース - プロジェクトコンテキストを分離し、即座に切り替え
高度な操作
- ⚡ バッチ操作 - localId を使用して、複数のメモリと関係を 1 回のリクエストで作成します
- 🎯 コンテキスト制御 - レスポンスの詳細レベル: minimal(リスト)、full(完全なデータ)、relations-only
- 📅 時間クエリ - 任意の時間フィールドで相対(「7d」「30d」)または絶対日付によるフィルタリング
- 🌐 グラフトラバーサル - 深さを制御して、任意の方向にネットワークをたどります
アーキテクチャ
- 🚀 MCP ネイティブ - Claude Desktop や MCP クライアントとのシームレスな統合
- 💾 永続ストレージ - ベクトル操作のための GDS プラグインを備えた Neo4j グラフデータベース
- ⚠️ ゼロフォールバック - 信頼性の高いデバッグのための明示的なエラー、サイレントな失敗はありません
技術的なハイライト
- スケーラブルなグラフ操作のために Neo4j 上に構築
- sentence transformers を使用したベクトル埋め込み(384 次元)
- ドメイン駆動設計によるクリーンなアーキテクチャ
- 高度なベクトル操作のための GDS プラグインをサポート(必須)
- 統一アーキテクチャ - 完全なメモリ操作のための 4 つの包括的なツール
クイックスタート
npm install @sylweriusz/mcp-neo4j-memory-server
Claude Desktop の設定に追加します:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@sylweriusz/mcp-neo4j-memory-server"],
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_USERNAME": "neo4j",
"NEO4J_PASSWORD": "your-password"
}
}
}
}
Neo4j のセットアップ
動作する構成: GDS プラグインを備えた DozerDB
データベースには、Graph Data Science プラグインを備えた DozerDB を使用します。GDS は推奨されるだけでなく必須です:
現在のインストール手順については、次を参照してください: https://dozerdb.org/
セットアップ例:
# Run DozerDB container with latest version
docker run \
-p 7474:7474 -p 7687:7687 \
-v $HOME/neo4j/data:/data \
-v $HOME/neo4j/logs:/logs \
-v $HOME/neo4j/plugins:/plugins \
--env NEO4J_AUTH=neo4j/password \
--env NEO4J_dbms_security_procedures_unrestricted='gds.*' \
graphstack/dozerdb:latest
# Install GDS plugin - see dozerdb.org for current instructions
# Verify GDS plugin works
# In Neo4j Browser (http://localhost:7474):
# RETURN gds.similarity.cosine([1,2,3], [2,3,4]) as similarity
統合ツール
このサーバーは、Claude と自動的に統合される 4 つの統合 MCP ツール を提供します:
memory_store- 観察と即時の関係を伴うメモリを 1 回の操作で作成しますmemory_find- セマンティック検索、直接 ID 検索、日付フィルタリング、グラフトラバーサルを備えた統合検索/取得memory_modify- 包括的な変更操作(更新、削除、観察、関係)database_switch- 分離された環境のためにデータベースコンテキストを切り替えます
メモリ構造
{
"id": "dZ$abc123",
"name": "Project Alpha",
"memoryType": "project",
"metadata": {"status": "active", "priority": "high"},
"observations": [
{"id": "dZ$obs456", "content": "Started development", "createdAt": "2025-06-08T10:00:00Z"}
],
"related": {
"ancestors": [{"id": "dZ$def789", "name": "Initiative", "relation": "PART_OF", "distance": 1}],
"descendants": [{"id": "dZ$ghi012", "name": "Task", "relation": "INCLUDES", "distance": 1}]
}
}
システムプロンプト
メモリツールの最もシンプルな使用法であり、通常は以下で十分です。
## Memory Tool Usage
- Store all memory for this project in database: 'project-database-name'
- Use MCP memory tools exclusively for storing project-related information
- Begin each session by:
1. Switching to this project's database
2. Searching memory for data relevant to the user's prompt
トラブルシューティング
ベクトル検索の問題:
- ログで
[VectorSearch] GDS Plugin detectedを確認してください - GDS プラグインには DozerDB のセットアップが必要です(Neo4j のセットアップのセクションを参照してください)
接続の問題:
- Neo4j が実行中であることを確認してください:
docker ps - 接続をテストしてください:
curl http://localhost:7474 - 環境変数の認証情報を確認してください
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。