Graphiti MCP サーバー
Graphitiは、時間的変化を考慮したナレッジグラフの構築とクエリのためのフレームワークであり、動的な環境で動作するAIエージェント向けに特化されています。従来の検索拡張型生成(RAG)手法とは異なり、Graphitiはユーザーインタラクション、構造化および非構造化エンタープライズデータ、そして外部情報を、一貫性がありクエリ可能なグラフに継続的に統合します。このフレームワークは、グラフ全体の再計算を必要とせずに、増分データ更新、効率的な検索、そして正確な履歴クエリをサポートしているため、インタラクティブでコンテキストアウェアなAIアプリケーションの開発に最適です。
これはGraphiti向けの実験的なモデルコンテキストプロトコル(MCP)サーバー実装です。MCPサーバーはGraphitiの主要機能をMCPプロトコルを通じて公開し、AIアシスタントがGraphitiのナレッジグラフ機能を利用できるようにします。
特徴
Graphiti MCP サーバーは、Graphiti の次の主要な高レベル機能を公開します。
- エピソード管理: エピソード (テキスト、メッセージ、または JSON データ) の追加、取得、削除
- エンティティ管理: ナレッジグラフ内のエンティティノードと関係を検索および管理します。
- 検索機能: セマンティック検索とハイブリッド検索を使用してファクト(エッジ)とノードサマリーを検索します
- グループ管理: group_id フィルタリングを使用して関連データのグループを整理および管理します。
- グラフのメンテナンス: グラフをクリアしてインデックスを再構築します
Claude Desktop、Cursor、その他のクライアントのクイックスタート
- Graphiti GitHubリポジトリをクローンする
または
このディレクトリへの完全なパスをメモしてください。
- Graphiti の前提条件をインストールします。
- Claude、Cursor、またはその他のMCPクライアントを
stdio
トランスポートでGraphitiを使用するように設定します。MCP設定ファイルの場所については、クライアントのドキュメントを参照してください。
インストール
前提条件
- Python 3.10 以降がインストールされていることを確認してください。
- 実行中の Neo4j データベース (バージョン 5.26 以降が必要)
- LLM操作用のOpenAI APIキー
設定
- リポジトリをクローンし、mcp_serverディレクトリに移動します。
uv
を使用して仮想環境を作成し、依存関係をインストールします。
構成
サーバーは次の環境変数を使用します。
NEO4J_URI
: Neo4j データベースの URI (デフォルト:bolt://localhost:7687
)NEO4J_USER
: Neo4j ユーザー名 (デフォルト:neo4j
)NEO4J_PASSWORD
: Neo4j パスワード (デフォルト:demodemo
)OPENAI_API_KEY
: OpenAI API キー (LLM 操作に必要)OPENAI_BASE_URL
: OpenAI API のオプションのベース URLMODEL_NAME
: LLM 操作に使用する OpenAI モデル名。SMALL_MODEL_NAME
: 小規模な LLM 操作に使用する OpenAI モデル名。LLM_TEMPERATURE
: LLM 応答の温度 (0.0-2.0)。AZURE_OPENAI_ENDPOINT
: オプションの Azure OpenAI エンドポイント URLAZURE_OPENAI_DEPLOYMENT_NAME
: オプションの Azure OpenAI デプロイメント名AZURE_OPENAI_API_VERSION
: オプションの Azure OpenAI API バージョンAZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME
: オプションの Azure OpenAI 埋め込みデプロイメント名AZURE_OPENAI_EMBEDDING_API_VERSION
: オプションの Azure OpenAI API バージョンAZURE_OPENAI_USE_MANAGED_IDENTITY
: 認証に Azure マネージド ID を使用する (オプション)
これらの変数は、プロジェクト ディレクトリ内の.env
ファイルで設定できます。
サーバーの実行
uv
を使用して Graphiti MCP サーバーを直接実行するには:
オプション付き:
使用可能な引数:
--model
:MODEL_NAME
環境変数を上書きします。--small-model
:SMALL_MODEL_NAME
環境変数を上書きします。--temperature
:LLM_TEMPERATURE
環境変数を上書きします。--transport
: 転送方法を選択します (sse または stdio、デフォルト: sse)--group-id
: グラフの名前空間を設定します(オプション)。指定しない場合は、デフォルトで「default」になります。--destroy-graph
: 設定されている場合、起動時にすべての Graphiti グラフを破棄します。--use-custom-entities
: 定義済みのENTITY_TYPESを使用してエンティティ抽出を有効にする
Docker デプロイメント
Graphiti MCPサーバーはDockerを使用してデプロイできます。Dockerfileはパッケージ管理にuv
を使用し、依存関係のインストールの一貫性を確保します。
環境設定
Docker Compose のセットアップを実行する前に、環境変数を設定する必要があります。2 つのオプションがあります。
- .env ファイルの使用(推奨):
- 提供されている
.env.example
ファイルをコピーして.env
ファイルを作成します。 .env
ファイルを編集して、OpenAI API キーやその他の構成オプションを設定します。- Docker Compose セットアップは、このファイルが存在する場合はそれを使用するように構成されています (オプション)
- 提供されている
- 環境変数を直接使用する:
- Docker Compose コマンドを実行するときに環境変数を設定することもできます。
- Docker Compose コマンドを実行するときに環境変数を設定することもできます。
Neo4j の設定
Docker Compose セットアップには、次のデフォルト構成の Neo4j コンテナーが含まれています。
- ユーザー名:
neo4j
- パスワード:
demodemo
- URI:
bolt://neo4j:7687
(Docker ネットワーク内から) - 開発用途に最適化されたメモリ設定
Docker Composeで実行する
Docker Compose を使用してサービスを開始します。
または、古いバージョンの Docker Compose を使用している場合:
これにより、Neo4jデータベースとGraphiti MCPサーバーの両方が起動します。Dockerのセットアップは以下のとおりです。
- パッケージ管理とサーバーの実行には
uv
を使用します pyproject.toml
ファイルから依存関係をインストールします- 環境変数を使用してNeo4jコンテナに接続する
- HTTPベースのSSEトランスポート用にポート8000でサーバーを公開します
- MCP サーバーを起動する前に、Neo4j が完全に機能していることを確認するためのヘルスチェックが含まれています。
MCPクライアントとの統合
構成
Graphiti MCP サーバーを MCP 互換クライアントで使用するには、サーバーに接続するように構成します。
[!重要] Pythonパッケージマネージャー
uv
がインストールされている必要があります。uvuv
インストール手順を参照してください。
uv
バイナリと Graphiti プロジェクト フォルダーへの完全なパスが設定されていることを確認してください。
SSE トランスポート (HTTP ベース) の場合、次の構成を使用できます。
利用可能なツール
Graphiti MCP サーバーは次のツールを公開します。
add_episode
: ナレッジグラフにエピソードを追加します(テキスト、JSON、メッセージ形式をサポート)search_nodes
: 関連するノードサマリーをナレッジグラフで検索するsearch_facts
: ナレッジグラフで関連する事実(エンティティ間のエッジ)を検索するdelete_entity_edge
: ナレッジグラフからエンティティエッジを削除するdelete_episode
: ナレッジグラフからエピソードを削除するget_entity_edge
: UUIDでエンティティエッジを取得するget_episodes
: 特定のグループの最新のエピソードを取得するclear_graph
: ナレッジグラフからすべてのデータをクリアし、インデックスを再構築します。get_status
: Graphiti MCPサーバーとNeo4j接続のステータスを取得します。
JSONデータの操作
Graphiti MCPサーバーは、 add_episode
ツールでsource="json"
を指定した構造化JSONデータを処理できます。これにより、構造化データからエンティティとリレーションシップを自動的に抽出できます。
カーソルIDEとの統合
Graphiti MCP Server を Cursor IDE と統合するには、次の手順に従います。
- SSE トランスポートを使用して Graphiti MCP サーバーを実行します。
ヒント: 名前空間グラフデータにgroup_id
を指定してください。group_id を指定しない場合、サーバーはgroup_id
として「default」を使用します。
または
- Cursor を Graphiti MCP サーバーに接続するように設定します。
- CursorのユーザールールにGraphitiルールを追加します。詳細はcursor_rules.mdを参照してください。
- Cursor でエージェント セッションを開始します。
この統合により、Cursor の AI アシスタントは Graphiti のナレッジ グラフ機能を通じて永続的なメモリを維持できるようになります。
Claude Desktop(Docker MCP Server)との統合
Graphiti MCP ServerコンテナはSSE MCPトランスポートを使用します。Claude DesktopはSSEをネイティブにサポートしていないため、 mcp-remote
などのゲートウェイを使用する必要があります。
- SSE トランスポートを使用して Graphiti MCP サーバーを実行します。
- (オプション)
mcp-remote
グローバルにインストールする:mcp-remote
グローバルにインストールしたい場合、またはnpx
によるパッケージの取得で問題が発生する場合は、グローバルにインストールできます。それ以外の場合は、次の手順で使用npx
が自動的に処理します。 - Claude Desktop を構成する: Claude Desktop 構成ファイル (通常は
claude_desktop_config.json
) を開き、次のようにmcpServers
セクションを追加または変更します。すでにmcpServers
エントリがある場合は、その中に新しいキーとしてgraphiti-memory
(または選択した名前) を追加します。 - 変更を有効にするには、 Claude Desktop を再起動してください。
要件
- Python 3.10以上
- Neo4j データベース (バージョン 5.26 以降が必要)
- OpenAI API キー(LLM 操作および埋め込み用)
- MCP互換クライアント
ライセンス
このプロジェクトは、親の Graphiti プロジェクトと同じライセンスの下でライセンスされます。
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Graphiti MCP サーバー
Related MCP Servers
- Python
- AsecurityAlicenseAqualityAlchemy MCP ServerLast updated -94152TypeScriptMIT License
- TypeScriptMIT License
- AsecurityAlicenseAqualityGoogle Workspace MCP ServerLast updated -36167PythonMIT License