Graphiti MCP Server

Apache 2.0
7,693
  • Linux
  • Apple

Integrations

  • Enables configuration through .env files for setting API keys, database credentials, and other environment variables

  • Supports deployment through Docker and Docker Compose with preconfigured containers for both the MCP server and Neo4j database

  • Provides installation instructions via GitHub repo cloning for accessing the Graphiti framework

Graphiti MCP サーバー

Graphitiは、時間的変化を考慮したナレッジグラフの構築とクエリのためのフレームワークであり、動的な環境で動作するAIエージェント向けに特化されています。従来の検索拡張型生成(RAG)手法とは異なり、Graphitiはユーザーインタラクション、構造化および非構造化エンタープライズデータ、そして外部情報を、一貫性がありクエリ可能なグラフに継続的に統合します。このフレームワークは、グラフ全体の再計算を必要とせずに、増分データ更新、効率的な検索、そして正確な履歴クエリをサポートしているため、インタラクティブでコンテキストアウェアなAIアプリケーションの開発に最適です。

これはGraphiti向けの実験的なモデルコンテキストプロトコル(MCP)サーバー実装です。MCPサーバーはGraphitiの主要機能をMCPプロトコルを通じて公開し、AIアシスタントがGraphitiのナレッジグラフ機能を利用できるようにします。

特徴

Graphiti MCP サーバーは、Graphiti の次の主要な高レベル機能を公開します。

  • エピソード管理: エピソード (テキスト、メッセージ、または JSON データ) の追加、取得、削除
  • エンティティ管理: ナレッジグラフ内のエンティティノードと関係を検索および管理します。
  • 検索機能: セマンティック検索とハイブリッド検索を使用して、ファクト(エッジ)とノードサマリーを検索します。
  • グループ管理: group_id フィルタリングを使用して関連データのグループを整理および管理します。
  • グラフのメンテナンス: グラフをクリアしてインデックスを再構築します

Claude Desktop、Cursor、その他のクライアントのクイックスタート

  1. Graphiti GitHubリポジトリをクローンする
git clone https://github.com/getzep/graphiti.git

または

gh repo clone getzep/graphiti

このディレクトリへの完全なパスをメモしてください。

cd graphiti && pwd
  1. Graphiti の前提条件をインストールします。
  2. Claude、Cursor、またはその他のMCPクライアントstdioトランスポートでGraphitiを使用するように設定します。MCP設定ファイルの場所については、クライアントのドキュメントを参照してください。

インストール

前提条件

  1. Python 3.10 以降がインストールされていることを確認してください。
  2. 実行中の Neo4j データベース (バージョン 5.26 以降が必要)
  3. LLM操作用のOpenAI APIキー

設定

  1. リポジトリをクローンし、mcp_serverディレクトリに移動します。
  2. uvを使用して仮想環境を作成し、依存関係をインストールします。
# Install uv if you don't have it already curl -LsSf https://astral.sh/uv/install.sh | sh # Create a virtual environment and install dependencies in one step uv sync

構成

サーバーは次の環境変数を使用します。

  • 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 のオプションのベース URL
  • MODEL_NAME : LLM推論に使用するオプションのモデル名
  • AZURE_OPENAI_ENDPOINT : オプションの Azure OpenAI エンドポイント URL
  • AZURE_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 サーバーを直接実行するには:

uv run graphiti_mcp_server.py

オプション付き:

uv run graphiti_mcp_server.py --model gpt-4.1-mini --transport sse

使用可能な引数:

  • --model : LLMクライアントで使用するモデル名を指定します
  • --transport : 転送方法を選択します (sse または stdio、デフォルト: sse)
  • --group-id : グラフの名前空間を設定する(オプション)
  • --destroy-graph : すべての Graphiti グラフを破棄します (注意して使用してください)
  • --use-custom-entities : 定義済みのENTITY_TYPESを使用してエンティティ抽出を有効にする

Docker デプロイメント

Graphiti MCPサーバーはDockerを使用してデプロイできます。Dockerfileはパッケージ管理にuvを使用し、依存関係のインストールの一貫性を確保します。

環境設定

Docker Compose のセットアップを実行する前に、環境変数を設定する必要があります。2 つのオプションがあります。

  1. .env ファイルの使用(推奨):
    • 提供されている.env.exampleファイルをコピーして.envファイルを作成します。
      cp .env.example .env
    • .envファイルを編集して、OpenAI API キーやその他の構成オプションを設定します。
      # Required for LLM operations OPENAI_API_KEY=your_openai_api_key_here MODEL_NAME=gpt-4.1-mini # Optional: OPENAI_BASE_URL only needed for non-standard OpenAI endpoints # OPENAI_BASE_URL=https://api.openai.com/v1
    • Docker Compose セットアップは、このファイルが存在する場合はそれを使用するように構成されています (オプション)
  2. 環境変数を直接使用する:
    • Docker Compose コマンドを実行するときに環境変数を設定することもできます。
      OPENAI_API_KEY=your_key MODEL_NAME=gpt-4.1-mini docker compose up
Neo4j の設定

Docker Compose セットアップには、次のデフォルト構成の Neo4j コンテナーが含まれています。

  • ユーザー名: neo4j
  • パスワード: demodemo
  • URI: bolt://neo4j:7687 (Docker ネットワーク内から)
  • 開発用途に最適化されたメモリ設定
Docker Composeで実行する

Docker Compose を使用してサービスを開始します。

docker compose up

または、古いバージョンの Docker Compose を使用している場合:

docker-compose up

これにより、Neo4jデータベースとGraphiti MCPサーバーの両方が起動します。Dockerのセットアップは以下のとおりです。

  • パッケージ管理とサーバーの実行にはuvを使用します
  • pyproject.tomlファイルから依存関係をインストールします
  • 環境変数を使用してNeo4jコンテナに接続する
  • HTTPベースのSSEトランスポート用にポート8000でサーバーを公開します
  • MCP サーバーを起動する前に、Neo4j が完全に機能していることを確認するためのヘルスチェックが含まれています。

MCPクライアントとの統合

構成

Graphiti MCP サーバーを MCP 互換クライアントで使用するには、サーバーに接続するように構成します。

[!重要] Pythonパッケージマネージャーuvがインストールされている必要があります。uv uvインストール手順を参照してください。

uvバイナリと Graphiti プロジェクト フォルダーへの完全なパスが設定されていることを確認してください。

{ "mcpServers": { "graphiti": { "transport": "stdio", "command": "/Users/<user>/.local/bin/uv", "args": [ "run", "--isolated", "--directory", "/Users/<user>>/dev/zep/graphiti/mcp_server", "--project", ".", "graphiti_mcp_server.py", "--transport", "stdio" ], "env": { "NEO4J_URI": "bolt://localhost:7687", "NEO4J_USER": "neo4j", "NEO4J_PASSWORD": "password", "OPENAI_API_KEY": "sk-XXXXXXXX", "MODEL_NAME": "gpt-4.1-mini" } } } }

SSE トランスポート (HTTP ベース) の場合、次の構成を使用できます。

{ "mcpServers": { "graphiti": { "transport": "sse", "url": "http://localhost:8000/sse" } } }

利用可能なツール

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データを処理できます。これにより、構造化データからエンティティとリレーションシップを自動的に抽出できます。

add_episode( name="Customer Profile", episode_body="{\"company\": {\"name\": \"Acme Technologies\"}, \"products\": [{\"id\": \"P001\", \"name\": \"CloudSync\"}, {\"id\": \"P002\", \"name\": \"DataMiner\"}]}", source="json", source_description="CRM data" )

カーソルIDEとの統合

Graphiti MCP Server を Cursor IDE と統合するには、次の手順に従います。

  1. SSE トランスポートを使用して Graphiti MCP サーバーを実行します。
python graphiti_mcp_server.py --transport sse --use-custom-entities --group-id <your_group_id>

ヒント: 以前のグラフデータを保持するには、 group_idを指定してください。group_id group_id指定しない場合は、サーバーは新しいグラフを作成します。

  1. Cursor を Graphiti MCP サーバーに接続するように設定します。
{ "mcpServers": { "Graphiti": { "url": "http://localhost:8000/sse" } } }
  1. CursorのユーザールールにGraphitiルールを追加します。詳細はcursor_rules.mdを参照してください。
  2. Cursor でエージェント セッションを開始します。

この統合により、Cursor の AI アシスタントは Graphiti のナレッジ グラフ機能を通じて永続的なメモリを維持できるようになります。

要件

  • Python 3.10以上
  • Neo4j データベース (バージョン 5.26 以降が必要)
  • OpenAI API キー(LLM 操作および埋め込み用)
  • MCP互換クライアント

ライセンス

このプロジェクトは、Graphiti プロジェクトと同じライセンスの下でライセンスされます。

-
security - not tested
A
license - permissive license
-
quality - not tested

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Graphiti MCP サーバー

  1. Features
    1. Quick Start for Claude Desktop, Cursor, and other clients
      1. Installation
        1. Prerequisites
        2. Setup
      2. Configuration
        1. Running the Server
          1. Docker Deployment
        2. Integrating with MCP Clients
          1. Configuration
        3. Available Tools
          1. Working with JSON Data
            1. Integrating with the Cursor IDE
              1. Requirements
                1. License

                  Related MCP Servers

                  View all related MCP servers

                  ID: 9glqgboefx