mcpField
N
neo4j-agent-memory-skill

neo4j-agent-memory-skill

github.com/neo4j-contribエージェントワークフロー118893 回インストール1 週間前に更新
リポジトリ

neo4j-agent-memory-skill について

neo4j-agent-memory-skillは、AIエージェント向けの永続的なグラフメモリーを構築する開発者に、neo4j-agent-memoryを案内するリファレンススキルです。短期・長期・推論メモリーをNeo4jに保存し、ライブラリ、MCPサーバー、ホスト型サービスとして利用できます。

主な機能

  1. 01短期・長期・推論メモリー
  2. 02POLE+Oに基づくエンティティグラフ
  3. 03会話と推論トレースの保存
  4. 04セルフホストとホスト型の選択肢
  5. 05複数のエージェントフレームワーク連携
  6. 06多段階のエンティティ抽出と重複排除

活用シーン

  1. 01セッションをまたいだ会話の保存
  2. 02会話からエンティティと関係のグラフを構築
  3. 03ツール呼び出しと判断過程の記録
  4. 04各種エージェントフレームワークへのグラフメモリー導入

MCP 対応

ローカル MCP サーバーがメモリー操作を互換クライアント向けのツールとして公開します。Streamable HTTP と bearer token 認証を使うホスト型 MCP エンドポイントもあります。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/neo4j-contrib/neo4j-skills --skill neo4j-agent-memory-skill

インストール後、Claude Code で/neo4j-agent-memory-skillを入力して読み込まれたか確認します。

同梱ファイルREADME.md

詳細

neo4j-agent-memory

neo4j-agent-memory Python パッケージの正式なリファレンスです。Neo4j Labs のプロジェクトであり、単一のナレッジグラフで AI エージェントに 3 つの異なるメモリレイヤー(短期、長期、推論)を提供します。

⚠️ 執筆前に正式な情報を確認してください。 バージョン番号、追加機能、ツール数、API の範囲はリリースごとに変わります。このスキルに記載された値は、ある特定時点のものです。バージョンに依存する内容を公開する前に、必ず PyPI(https://pypi.org/project/neo4j-agent-memory/)と GitHub README(https://github.com/neo4j-labs/agent-memory)で確認してください。バージョン番号の正式な情報源は PyPI です。推測してはいけません。

使用する場合

  • Neo4j を基盤として、永続メモリ(短期、長期、推論トレース)を必要とする AI エージェントを構築する場合
  • neo4j-agent-memory Python パッケージまたは memory.neo4jlabs.com のホスト型 NAMS サービスを使用する場合
  • エージェントメモリを LangChain、PydanticAI、CrewAI、AWS Strands、Google ADK、OpenAI Agents、LlamaIndex、Microsoft Agent Framework と統合する場合
  • グラフネイティブなエージェントメモリに関するドキュメント、チュートリアル、または位置付けを示すコンテンツを作成する場合
  • グラフネイティブなメモリとベクトルのみを使うアプローチを比較する場合

使用しない場合

  • 通常の Neo4j ドライバー接続(メモリレイヤーが不要な場合)→ neo4j-driver-python-skill を使用
  • Cypher クエリの作成や最適化 → neo4j-cypher-skill を使用
  • GraphRAG 検索パイプライン → neo4j-graphrag-skill を使用

プロジェクトの概要

項目値
パッケージneo4j-agent-memory
PyPIhttps://pypi.org/project/neo4j-agent-memory/
GitHubhttps://github.com/neo4j-labs/agent-memory
正式なドキュメントhttps://neo4j.com/labs/agent-memory/
ホスト型サービスhttps://memory.neo4jlabs.com(NAMS — 早期アクセス。公式プロジェクトページにはまだ記載されていません)
ホスト型 MCP エンドポイントhttps://memory.neo4jlabs.com/mcp(Streamable HTTP、ベアラー認証)
ライセンスApache-2.0
Python3.10 以降
Neo4j5.20 以降(ベクトルインデックスに必要)
ステータス実験的(Neo4j Labs、コミュニティサポート)
執筆時点の現行バージョン0.7.0(2026-10-07) — 記載前に必ず PyPI で確認してください

概要(1 文)

AI エージェント向けのグラフネイティブなメモリシステムです。会話を保存し、ナレッジグラフを構築し、エージェントの推論を記録します。すべて単一の Neo4j データベース内の、相互に接続されたノードとして扱います。

利用形態

neo4j-agent-memory には 2 つの利用形態があります。基盤となるプロジェクトは同じで、実行方法、認証方法、管理を任せられる範囲が異なります。

選択肢内容選ぶ場合
セルフホスト型ライブラリpip install neo4j-agent-memory と独自の Neo4j(ローカル/Docker/Aura)を使用します。完全な Python API、ローカル MCP サーバー、フレームワーク統合をプロセス内で実行できます。開発、オンプレミスデータ、カスタム抽出パイプライン、全面的な制御、自前のエンベディングや LLM を使用する場合。
ホスト型(NAMS)https://memory.neo4jlabs.com のマネージドサービスです。ワークスペースごとに分離された Neo4j Aura データベース、REST API、リモート MCP エンドポイント、ウェブコンソールが提供されます。インフラ不要の試用、エージェントやマシン間でのメモリ共有、デモ、Neo4j の運用を避けたいチーム向けです。

⚠️ NAMS は利用できますが、GitHub README や neo4j.com/labs/agent-memory/ にはまだ記載されていません。 早期アクセス/ソフトローンチとして扱ってください。公開するコンテンツで SLA、価格、GA ステータスを断定しないでください。詳細は以下の ホスト型サービス(NAMS) セクションを参照してください。

3 種類のメモリ

アーキテクチャを特徴づける要素です。プロジェクトについて説明するコンテンツは、すべてこの三位一体を最初に取り上げる必要があります。

メモリの種類保存する内容色の規約
短期会話メッセージ、セッション履歴、連続したメッセージチェーン、メタデータで絞り込んだ検索、LLM を活用した要約緑(#B2F2BB / #2F9E44)
長期エンティティ(人、場所、組織)、好み、事実、それらの関係 — POLE+O モデルを通じて会話から自動的に構築されますオレンジ/黄色(#FFEC99 / #F08C00)
推論意思決定の履歴、ツール呼び出しの出所、思考・行動・結果の連鎖 — エージェントが過去の推論パターンから学習できるようにします紫(#D0BFFF / #9C36B5)

推論メモリは、競合との差別化を最も明確に示す要素です。 競合システムの大半は短期メモリと長期メモリを扱いますが、推論は後回しにするか、完全に省略しています。位置づけを説明する際は、これを最初に取り上げてください。

POLE+O モデル

長期メモリでは、POLE+O エンティティフレームワークを使用します。これは、このプロジェクトで標準となるエンティティ分類です。

  • Person(人物)
  • Organization(組織)
  • Location(場所)
  • Event(イベント)
  • +O Object(中核となる 4 分類に当てはまらないもの — 製品、概念、プロジェクトなど)

データモデルを図示する際は、エンティティノードに楕円、関係にラベル付きの矢印(UPPER_SNAKE_CASE)を使用してください。Neo4j Browser の規約に準拠します。

インストール

基本パッケージに追加機能を組み合わせてインストールします。追加機能のパターンは pip install neo4j-agent-memory[<extra>] です。

pip install neo4j-agent-memory                  # Core
pip install neo4j-agent-memory[openai]          # + OpenAI embeddings
pip install neo4j-agent-memory[mcp]             # + MCP server
pip install neo4j-agent-memory[langchain]       # + LangChain
pip install neo4j-agent-memory[all]             # Everything

追加機能の全一覧(変更される場合があります — PyPI で確認してください):all、anthropic、aws、bedrock、cli、crewai、extraction、full、fuzzy、gliner、google、google-adk、instructor、langchain、langchain-agents、litellm、llamaindex、mcp、microsoft-agent、nams、observability、openai、openai-agents、opentelemetry、opik、pydantic-ai、sentence-transformers、spacy、strands、vertex-ai。

Python API(クイックスタート)

標準的なインポートパターンと基本的な使い方です。チュートリアルやサンプルでは、この形式を使用してください。

import asyncio
from neo4j_agent_memory import MemoryClient, MemorySettings

async def main():
    settings = MemorySettings(
        neo4j={"uri": "bolt://localhost:7687", "password": "your-password"}
    )

    async with MemoryClient(settings) as memory:
        # Short-term: store a conversation message
        await memory.short_term.add_message(
            session_id="user-123",
            role="user",
            content="Hi, I'm John and I love Italian food!"
        )

        # Long-term: build the knowledge graph
        await memory.long_term.add_entity("John", "PERSON")
        await memory.long_term.add_preference(
            category="food",
            preference="Loves Italian cuisine"
        )

        # Get combined context for an LLM prompt
        context = await memory.get_context(
            "What restaurant should I recommend?",
            session_id="user-123"
        )
        print(context)

asyncio.run(main())

非同期コンテキストマネージャーのパターンに注意してください(async with MemoryClient(settings) as memory:)— これが標準形式です。

MCP サーバー

メモリを、MCP 対応の AI アシスタント(Claude Desktop、Claude Code、Cursor、VS Code Copilot)向けのツールとして公開します。

起動方法

正式なワンライナーです(インストール不要)。

uvx "neo4j-agent-memory[mcp]" mcp serve --password <neo4j-password>

ローカルにインストールする場合の代替方法:

neo4j-agent-memory mcp serve --password <pw>
トランスポートとプロファイル
# stdio (default — Claude Desktop, Claude Code)
neo4j-agent-memory mcp serve --password <pw>

# Streamable HTTP (network; endpoint /mcp/). `--transport sse` deprecated — serves Streamable HTTP with warning
neo4j-agent-memory mcp serve --transport http --port 8080 --password <pw>

# Core profile — fewer tools, less context overhead
neo4j-agent-memory mcp serve --profile core --password <pw>

# Session continuity across conversations
neo4j-agent-memory mcp serve \
  --session-strategy per_day \
  --user-id alice \
  --password <pw>
ツールプロファイル
プロファイルツール内容
core6memory_search、memory_get_context、memory_store_message、memory_add_entity、memory_add_preference、memory_add_fact
extended(デフォルト)16Core + 会話履歴、エンティティの詳細、グラフのエクスポート、関係の作成、推論履歴、観察内容、読み取り専用 Cypher

v0.1.1 以降、memory_add_fact は metadata パラメーターを受け付けるようになり、memory_add_entity と同等になりました。

Claude Code の登録
claude mcp add neo4j-agent-memory -- \
  uvx "neo4j-agent-memory[mcp]" mcp serve --password <neo4j-password>
Claude Desktop の設定
{
  "mcpServers": {
    "neo4j-agent-memory": {
      "command": "uvx",
      "args": ["neo4j-agent-memory[mcp]", "mcp", "serve", "--password", "your-password"],
      "env": {
        "OPENAI_API_KEY": "sk-..."
      }
    }
  }
}

memory.neo4jlabs.com/mcp のホスト型 MCP エンドポイントについては、以下の**ホステッドサービス(NAMS)**セクションを参照してください。Streamable HTTP トランスポートとベアラートークン認証を使用し、ローカルで uvx を呼び出す方式ではありません。

ホステッドサービス(NAMS)

NAMS — Neo4j Agent Memory Service — は、neo4j-agent-memory を https://memory.neo4jlabs.com でマネージド環境にデプロイしたサービスです。REST API、MCP サーバー、ウェブコンソール、ワークスペースごとの Neo4j Aura データベースが含まれます。

⚠️ 引用する前に、稼働中のサービスで確認してください。 NAMS は GitHub の README や neo4j.com/labs/agent-memory/ には記載されていません。エンドポイントの形式、ツール数、認証フロー、制限は、リリースノートなしに変更される可能性があります。NAMS に関する内容を公開する前に、稼働中のサイトと /openapi.json の OpenAPI 仕様を再確認してください。

提供形態
  • ベース URL: https://memory.neo4jlabs.com
  • Web コンソール: ルート URL — ワークスペース管理、メモリの閲覧、エンティティの可視化
  • REST API: https://memory.neo4jlabs.com/v1/ — OpenAPI 仕様は /openapi.json にあり、会話、エンティティ、観察、推論トレース、読み取り専用の Cypher を扱います
  • MCP エンドポイント: https://memory.neo4jlabs.com/mcp — Streamable HTTP トランスポートで、ホスト型ツールセットを公開し、ベアラートークン認証を使用します
認証
  • API キー: nams_ がプレフィックスで、Web コンソールから作成・ローテーションします。REST と MCP ではベアラートークンとして使用します
  • Auth0 OAuth2(PKCE) とスコープ付き JWT:対話型のユーザーフロー向けです

これらを、セルフホスト型ライブラリの Neo4j 認証情報である --password と混同しないでください。スタック内でそれぞれ異なる役割を担います。

ストレージモデル

各ワークスペースは、オンデマンドでプロビジョニングされる専用の Neo4j Aura データベースを使用します。代替手段として、ワークスペースごとに設定する Bring-your-own-Neo4j にも対応しています。

レート制限

使用量カウンターは API キー/ワークスペースごとに追跡されます。正確な制限は公開されていないため、顧客に数値を確約する前に、コンソールを確認するか、サービスで再確認してください。

Claude Code の登録(ホスト型 MCP)
claude mcp add --transport http neo4j-agent-memory-hosted \
  https://memory.neo4jlabs.com/mcp \
  --header "Authorization: Bearer <nams_api_key>"
Claude Desktop の設定(ホスト型 MCP)
{
  "mcpServers": {
    "neo4j-agent-memory-hosted": {
      "url": "https://memory.neo4jlabs.com/mcp",
      "type": "http",
      "headers": {
        "Authorization": "Bearer nams_..."
      }
    }
  }
}

フレームワークとの統合

すべての統合は neo4j_agent_memory.integrations.<framework> にあります。対応する追加機能をインストールしてください。

フレームワークインストールする追加機能インポート
LangChain[langchain]from neo4j_agent_memory.integrations.langchain import Neo4jAgentMemory
Pydantic AI[pydantic-ai]from neo4j_agent_memory.integrations.pydantic_ai import MemoryDependency
Google ADK[google-adk]from neo4j_agent_memory.integrations.google_adk import Neo4jMemoryService
AWS Strands[strands]from neo4j_agent_memory.integrations.strands import context_graph_tools
CrewAI[crewai]from neo4j_agent_memory.integrations.crewai import Neo4jCrewMemory
LlamaIndex[llamaindex]from neo4j_agent_memory.integrations.llamaindex import Neo4jLlamaIndexMemory
OpenAI Agents[openai-agents]from neo4j_agent_memory.integrations.openai_agents import ...
Microsoft Agent Framework[microsoft-agent]from neo4j_agent_memory.integrations.microsoft_agent import Neo4jMicrosoftMemory

エンティティ抽出パイプライン

複数段階の抽出(高速から高精度へのコスト/品質のトレードオフ):

  1. spaCy — 高速な統計的 NER。最も低コストで、幅広くカバーしますが、精度は低めです
  2. GLiNER — 型付きスキーマを使ったゼロショットのエンティティ抽出。関係抽出には GLiREL を使用します
  3. LLM フォールバック — 最も高精度で、最も高コストです。構造が豊富または曖昧な場合に使用されます

エンリッチメントは別のバックグラウンド段階です。Wikipedia と Diffbot により、抽出したエンティティに追加のコンテキストを補完できます。

重複排除(v0.1.1 以降)では、主語/述語の照合と埋め込み類似度(しきい値は約 0.95)を使って重複する事実や好みを自動的に統合し、新しいノードを作成する代わりに信頼度を更新します。DeduplicationConfig で調整できます。

把握しておくべき設定オブジェクト:ExtractionConfig、DeduplicationConfig、MemoryIntegration、SessionStrategy。

ポジショニングに関する表現

これらの表現は重要です。可能な限りそのまま使用してください。

中核となるタグライン
  • 「グラフは理解を担い、ベクトルは類似性を担います。」
  • 「ベクトルストアは想起をもたらします。グラフは理解をもたらします。」
  • 「3 種類のメモリを、1 つのナレッジグラフに。」
カテゴリーの位置づけ
  • 議論の場に応じて、Foundation Capital の論考 「AI's Trillion-Dollar Opportunity: Context Graphs」 を基軸にしてください。
  • neo4j-agent-memory は、コンテキストグラフのカテゴリーにおける完全な実装として位置づけられています。2 つだけでなく、3 つすべてのメモリレイヤーをカバーします。
  • コンテキストグラフは、外付けの外部システムではなく、同じ Neo4j インスタンス内でドメインデータと共存します。これは、アーキテクチャ図で重要となる概念的・視覚的なポイントです。
推奨する表現
  • 「グラフネイティブなメモリ」
  • 「コンテキストグラフ」
  • 「3つの異なるメモリレイヤー」
  • 「第一級のグラフノードとして扱う推論トレース」
  • 「過去の推論から学習する」
  • 「会話からナレッジグラフを自動的に構築する」
  • 「Neo4j Labs プロジェクト」/「実験的」/「コミュニティの支援を受けている」
避けるべき表現
  • 公開コンテンツで特定の競合他社に言及しないでください(Mem0、Zep、Letta、Cognee、Supermemory)。比較する場合は、製品名ではなく機能を軸にしてください。
  • 「本番環境対応」とは表現しないでください(Labs プロジェクトです。詳しいスタイルガイドについては neo4j-labs-brand スキルを参照してください)。
  • 「公式にサポートされている」と表現したり、SLA があると示唆したりしないでください。

よくある修正点

このプロジェクトに関するコンテンツを編集またはレビューする際は、次の点を確認してください。

  1. 古いバージョン番号 — 現在「v0.1.0」と書いている人は、古いメモを参照している可能性があります。PyPI で確認してください。
  2. 正規のドキュメント URL の誤り — 正しい URL は neo4j.com/labs/agent-memory です。Vercel のプレビュー URL ではありません。
  3. 推測に基づく API サーフェス — コードサンプルを実行していない場合は、その旨を指摘してください。GitHub README または公式の例にあるパターンを優先してください。
  4. 「Labs」という位置付けの不足 — 実験的であり、コミュニティの支援を受けていることが明確に伝わるようにしてください。
  5. 他の Neo4j MCP サーバーとの混同 — mcp-neo4j-cypher や、旧ナレッジグラフメモリサーバーの mcp-neo4j-memory など、複数のサーバーがあります。neo4j-agent-memory の MCP サーバーはそれらとは別のもので、[mcp] エクストラを使ってパッケージの一部としてインストールされます。
  6. NAMS とセルフホスト可能なライブラリとの混同 — 基盤となるプロジェクトは同じですが、利用方法が異なります。接続文字列、認証、ツールセットも異なります。セルフホストではローカルの uvx 呼び出しと Neo4j の --password を使用します。NAMS では Streamable HTTP MCP URL と、nams_ で始まるベアラートークンを使用します。両者を混同しないでください。
  7. NAMS の提供状況について過度に約束すること — ホスト型サービスは、まだ GitHub README や neo4j.com/labs/agent-memory/ で案内されていません。「公式にサポートされている」、SLA、料金に関する主張、「本番環境対応」といった表現は避けてください。早期アクセスとして扱ってください。

エコシステム内の関連プロジェクト

次のプロジェクトについて言及されることがよくあります。名称を認識し、正しく使用してください。

プロジェクト内容
create-context-graphuvx create-context-graph で実行する CLI スキャフォルダーです。neo4j-agent-memory があらかじめ組み込まれた、フルスタックのコンテキストグラフアプリを生成します。正規のドキュメント:create-context-graph.dev。
Lenny's Podcast Memory Explorer主要なデモです。299 のポッドキャストエピソード、ナレッジグラフ、地理空間マップ、Wikipedia による情報拡充が含まれています。PydanticAI ベースです。ソース:https://github.com/neo4j-labs/agent-memory/tree/main/examples/lennys-memory
neo4j-agent-integrationsさまざまなフレームワークとのインテグレーションをまとめた上位プロジェクトです。その多くは [<framework>] エクストラを使って neo4j-agent-memory に再パッケージ化されています。
agent-memory-tckTechnology Compliance Kit です。複数の言語やフレームワーク間での相互運用性(ポリグロット)に関する動作仕様を提供します。
Microsoft Learn integrationMicrosoft Agent Framework の公式ドキュメントでは、Neo4j Memory Provider として neo4j-agent-memory が参照されています。

標準的な例(neo4j-labs/agent-memory リポジトリより)

例を独自に作成するのではなく、上流の例をユーザーに案内してください。以下はすべて、https://github.com/neo4j-labs/agent-memory/tree/main/examples の examples/ ディレクトリにあります。

図の規約(相互参照)

このプロジェクトの図を作成する際は、次のスキルを組み合わせてください。

  • excalidraw スキル — JSON 形式と、プロジェクトの図管理スクリプト
  • neo4j-styleguide スキル — Cypher のコードスタイルと Neo4j のブランドカラー
  • neo4j-labs-brand スキル — Labs の紫色(#6366F1)、ステータスバッジ、免責事項の文言

メモリータイプの色(すべての図で統一して使用してください):

Short-Term:  #B2F2BB fill / #2F9E44 stroke  (green)
Long-Term:   #FFEC99 fill / #F08C00 stroke  (orange/yellow)
Reasoning:   #D0BFFF fill / #9C36B5 stroke  (purple)
Neo4j/Store: #A5D8FF fill / #1971C2 stroke  (blue)
Labs accent: #6366F1 (purple, for Labs branding elements)

ドキュメントの構成(相互参照)

neo4j.com/labs/agent-memory の標準ドキュメントは、Diataxis フレームワークに従っています(詳細は、このプロジェクトの diataxis スキルを参照してください)。

  • チュートリアル — メモリー対応エージェントを初めて構築する
  • ハウツーガイド — エンティティ抽出、重複排除、エンリッチメント、統合
  • リファレンス — 設定、CLI、MCP ツール、API
  • 解説 — POLE+O モデル、メモリータイプ、抽出パイプライン

新しいコンテンツを追加する際は、適切な分類に配置してください。

事実確認のための簡易チェックリスト

このプロジェクトに関するコンテンツを公開する前に、次の点を確認してください。

  • バージョン番号が PyPI の最新情報に基づいている(メモから推測していない)
  • 標準ドキュメントへのリンクが neo4j.com/labs/agent-memory を指している
  • 3 つのメモリータイプが正しく記載されている(short-term、long-term、reasoning)
  • POLE+O モデルの名称が一貫している(POLEO でも POLE-O でもない)
  • 関連する場合、Python ≥ 3.10 および Neo4j ≥ 5.20 の要件が記載されている
  • README/ランディングページのコンテンツに Labs の免責事項が含まれている
  • 公開する位置付けに競合他社の名称が含まれていない
  • 差別化要素として reasoning memory が明記されている
  • インポートパスが neo4j_agent_memory.integrations.<framework> を使用している(アンダースコア、snake_case)
  • NAMS に言及する場合、セルフホスト可能なライブラリとの違いを明確にし、エンドポイントを稼働中のサービスに照らして再確認している(README にはまだ反映されていません)

リソース


チェックリスト

  • バージョン:記載する前に PyPI を確認する
  • 利用モデル:セルフホストか NAMS か
  • 適切な extras がインストールされている(neo4j-agent-memory[<extra>])
  • MemoryClient を非同期コンテキストマネージャーとして使用する
  • 3 種類の名前を明記する:短期/長期/推論
  • POLE+O に統一する(POLEO や POLE-O ではない)
  • NAMS:早期アクセスとして説明する。SLA や料金については記載しない
  • 認証情報をハードコードしない。NAMS ベアラートークンは Neo4j の --password と分ける

コメント