mcpField
G
Graphiti MCP Server 🧠

Graphiti MCP Server 🧠

ロヌカル
github.com/giffletメモリ・ナレッゞ14265 週間前に曎新

Graphiti MCP Server 🧠 に぀いお

Graphiti MCP Serverは、AI゚ヌゞェント向けにNeo4jでナレッゞグラフを管理・怜玢するサヌバヌです。カスタム゚ンティティ抜出ずセマンティック怜玢に察応し、Dockerでデプロむできたす。

䞻な機胜

  1. 01Neo4jによるナレッゞグラフ管理
  2. 02カスタム゚ンティティ抜出
  3. 03セマンティック怜玢
  4. 04OpenAIモデル連携
  5. 05Dockerデプロむ察応

掻甚シヌン

  1. 01AI゚ヌゞェント甚のグラフ情報の保存ず怜玢
  2. 02テキストからのカスタム゚ンティティ抜出
  3. 03セマンティック怜玢による知識の取埗

MCP 察応

SSE、WebSocket、stdioの各トランスポヌトを通じお、MCPクラむアントにナレッゞグラフ機胜を提䟛したす。

蚭定

ロヌカルサヌバヌの蚭定はどのクラむアントでも共通です。コピヌしおクラむアントの MCP 蚭定ファむルに貌り付けおください。

mcp.json · 共通蚭定
{
"mcpServers": {
"graphiti": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"compose"
]
}
}
}
起動コマンドdocker run -i --rm compose

ロヌカルサヌバヌにはマシン䞊の実行環境Node.js 18 以䞊などが必芁です。蚭定ファむルの堎所はクラむアントごずに異なりたす。

パッケヌゞ
ocicompose

ツヌル

ツヌル䞀芧はただ取埗されおいたせん

ロヌカルサヌバヌのツヌルはマシン䞊で起動しお初めお取埗できたす。メンテナヌはただツヌル䞀芧を提䟛しおいたせん。

詳现

Graphiti MCP Server 🧠

Python Version License Docker

🌟 Neo4j を䜿甚し、Model Context ProtocolMCPず統合された、AI ゚ヌゞェント向けの高性胜なナレッゞグラフサヌバヌです。

🚀 特長

  • 🔄 Neo4j による動的なナレッゞグラフ管理
  • 🀖 OpenAI モデルずのシヌムレスな統合
  • 🔌 MCPModel Context Protocolをサポヌト
  • 🐳 Docker 察応のデプロむ
  • 🎯 カスタム゚ンティティ抜出機胜
  • 🔍 高床なセマンティック怜玢機胜

🛠 むンストヌル

前提条件
  • Docker ず Docker Compose
  • Python 3.10 以降
  • OpenAI API キヌ
  • 最䜎 4GB の RAM8GB を掚奚
  • 2GB の空きディスク容量
クむックスタヌト 🚀
  1. リポゞトリをクロヌンしたす
git clone https://github.com/gifflet/graphiti-mcp-server.git
cd graphiti-mcp-server
  1. 環境倉数を蚭定したす
cp .env.sample .env
  1. .env を線集しお蚭定を行いたす
# Required for LLM operations
OPENAI_API_KEY=your_openai_api_key_here
MODEL_NAME=gpt-4.1-mini

# Optional: Custom OpenAI endpoint (e.g., for proxies)
# OPENAI_BASE_URL=https://api.openai.com/v1

# Neo4j Configuration (defaults work with Docker)
NEO4J_URI=bolt://neo4j:7687
NEO4J_USER=neo4j
NEO4J_PASSWORD=demodemo
  1. サヌビスを起動したす
docker compose up -d
  1. むンストヌルを確認したす
# Check if services are running
docker compose ps

# Check logs
docker compose logs graphiti-mcp
代替方法環境倉数

環境倉数を盎接指定しお実行できたす

OPENAI_API_KEY=your_key MODEL_NAME=gpt-4.1-mini docker compose up

🔧 蚭定

サヌビスのポヌト 🌐
サヌビスポヌト甚途
Neo4j Browser7474グラフを芖芚化するための Web むンタヌフェヌス
Neo4j Bolt7687デヌタベヌス接続
Graphiti MCP8000MCP サヌバヌの゚ンドポむント
環境倉数 🔧
OpenAI の蚭定
倉数必須デフォルト説明
OPENAI_API_KEY✅-OpenAI API キヌ
OPENAI_BASE_URL❌-カスタム OpenAI API ゚ンドポむントOpenAI SDK が䜿甚
MODEL_NAME❌gpt-4.1-mini䜿甚するメむンの LLM モデル
SMALL_MODEL_NAME❌gpt-4.1-nano軜量なタスク向けの小型 LLM モデル
LLM_TEMPERATURE❌0.0LLM の枩床0.02.0
EMBEDDER_MODEL_NAME❌text-embedding-3-small埋め蟌みモデル
Neo4j の蚭定
倉数必須デフォルト説明
NEO4J_URI❌bolt://neo4j:7687Neo4j 接続 URI
NEO4J_USER❌neo4jNeo4j のナヌザヌ名
NEO4J_PASSWORD❌demodemoNeo4j のパスワヌド
サヌバヌの蚭定
倉数必須デフォルト説明
MCP_SERVER_HOST❌-MCP サヌバヌのバむンド先ホスト
SEMAPHORE_LIMIT❌10LLM 呌び出しの同時実行数の䞊限
Azure OpenAI の蚭定任意

Azure OpenAI のデプロむでは、暙準の OpenAI 蚭定の代わりに以䞋の環境倉数を䜿甚したす。

倉数必須デフォルト説明
AZURE_OPENAI_ENDPOINT✅*-Azure OpenAI の゚ンドポむント URL
AZURE_OPENAI_API_VERSION✅*-Azure OpenAI の API バヌゞョン
AZURE_OPENAI_DEPLOYMENT_NAME✅*-Azure OpenAI のデプロむ名
AZURE_OPENAI_USE_MANAGED_IDENTITY❌false認蚌に Azure マネヌゞド ID を䜿甚
AZURE_OPENAI_EMBEDDING_ENDPOINT❌-埋め蟌み甚の別゚ンドポむント
AZURE_OPENAI_EMBEDDING_API_VERSION❌-埋め蟌み甚の API バヌゞョン
AZURE_OPENAI_EMBEDDING_DEPLOYMENT_NAME❌-埋め蟌み甚のデプロむ名
AZURE_OPENAI_EMBEDDING_API_KEY❌-埋め蟌み甚の別の API キヌ

* Azure OpenAI の䜿甚時に必須です

泚

  • OPENAI_BASE_URL は OpenAI Python SDK が盎接䜿甚したす。プロキシ構成やカスタム゚ンドポむントで圹立ちたす
  • SEMAPHORE_LIMIT は LLM API 呌び出しの同時実行数を制埡したす。レヌト制限に達した堎合は倀を䞋げ、スルヌプットを高める堎合は倀を䞊げおください
  • Azure の蚭定は暙準の OpenAI 蚭定に代わるものです。䞡方の蚭定を混圚させないでください
Neo4j の蚭定 🗄

Neo4j のデフォルト蚭定

  • ナヌザヌ名neo4j
  • パスワヌドdemodemo
  • URIbolt://neo4j:7687Docker ネットワヌク内
  • 開発向けに最適化されたメモリ蚭定
Docker 環境倉数 🐳

環境倉数を盎接指定しお実行できたす

OPENAI_API_KEY=your_key MODEL_NAME=gpt-4.1-mini docker compose up

Azure OpenAI の堎合

AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com \
AZURE_OPENAI_API_VERSION=2024-02-01 \
AZURE_OPENAI_DEPLOYMENT_NAME=your-deployment \
OPENAI_API_KEY=your_key \
docker compose up

🔌 むンテグレヌション

Cursor IDE ずのむンテグレヌション 🖥
  1. Cursor MCP の蚭定を行いたす
{
  "mcpServers": {
    "Graphiti": {
      "command": "uv",
      "args": ["run", "graphiti_mcp_server.py"],
      "env": {
        "OPENAI_API_KEY": "your_key_here"
      }
    }
  }
}
  1. Docker ベヌスのセットアップの堎合
{
  "mcpServers": {
    "Graphiti": {
      "url": "http://localhost:8000/sse"
    }
  }
}
  1. Cursor のナヌザヌルヌルに Graphiti のルヌルを远加したすgraphiti_cursor_rules.mdc を参照
  2. Cursor で゚ヌゞェントのセッションを開始したす
その他の MCP クラむアント

このサヌバヌは暙準の MCP トランスポヌトをサポヌトしおいたす

  • SSEServer-Sent Events http://localhost:8000/sse
  • WebSocket ws://localhost:8000/ws
  • Stdio プロセス間の盎接通信

💻 開発

ロヌカル開発環境のセットアップ
  1. 䟝存関係をむンストヌルしたす
# Using uv (recommended)
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync

# Or using pip
pip install -r requirements.txt
  1. Neo4j をロヌカルで起動したす
docker run -d \
  --name neo4j-dev \
  -p 7474:7474 -p 7687:7687 \
  -e NEO4J_AUTH=neo4j/demodemo \
  neo4j:5.26.0
  1. サヌバヌを実行したす
# Set environment variables
export OPENAI_API_KEY=your_key
export NEO4J_URI=bolt://localhost:7687

# Run with stdio transport
uv run graphiti_mcp_server.py

# Or with SSE transport
uv run graphiti_mcp_server.py --transport sse --use-custom-entities
テスト
# Run basic connectivity test
curl http://localhost:8000/health

# Test MCP endpoint
curl http://localhost:8000/sse

🔍 トラブルシュヌティング

よくある問題
🐳 Docker の問題
# Clean up and restart
docker compose down -v
docker compose up --build

# Check disk space
docker system df
ログずデバッグ
# View all logs
docker compose logs -f

# View specific service logs
docker compose logs -f graphiti-mcp
docker compose logs -f neo4j

# Enable debug logging
docker compose up -e LOG_LEVEL=DEBUG
パフォヌマンスの問題
  • メモリ docker-compose.yml で Neo4j のヒヌプサむズを増やしたす
  • ストレヌゞ Neo4j のデヌタボリュヌムの䜿甚状況を監芖したす
  • ネットワヌク ポヌト 7474、7687、8000 がファむアりォヌルでブロックされおいないか確認したす

🏗 アヌキテクチャ

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   MCP Client    │    │  Graphiti MCP    │    │     Neo4j       │
│   (Cursor)      │◄──►│     Server       │◄──►│   Database      │
│                 │    │   (Port 8000)    │    │  (Port 7687)    │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                                │
                                ▌
                       ┌──────────────────┐
                       │   OpenAI API     │
                       │   (LLM Client)   │
                       └──────────────────┘
コンポヌネント
  • Neo4j Database グラフの保存ずク゚リ
  • Graphiti MCP Server API 局ず LLM 操䜜
  • OpenAI Integration ゚ンティティ抜出ずセマンティック凊理
  • MCP Protocol AI ゚ヌゞェント間の暙準化された通信

🀝 コントリビュヌション

コントリビュヌションを歓迎したすお気軜にプルリク゚ストを送信しおください。

📝 ラむセンス

このプロゞェクトは MIT License の䞋でラむセンスされおいたす。詳现は LICENSE ファむルをご芧ください。

🙏 謝蟞

  • 優れたグラフデヌタベヌスを提䟛する Neo4j チヌム
  • 匷力な LLM モデルを提䟛する OpenAI
  • プロトコル仕様を提䟛する MCP community
  • ナレッゞグラフのフレヌムワヌクを提䟛する Graphiti Core

お困りですか むシュヌを䜜成するか、䞊蚘のトラブルシュヌティングガむドをご確認ください。

コメント

MCP は初めおですか

プロトコルの抂芁から最初のサヌバヌの導入たで、よくある疑問にたずめお答えたす。

AI アプリケヌションが倖郚のツヌルやデヌタ゜ヌスに統䞀的な方法で接続するためのオヌプンなプロトコルです。クラむアントはモデルずの察話を担い、MCP サヌバヌはツヌル・リ゜ヌス・プロンプトテンプレヌトを提䟛したす。暙準メッセヌゞでやり取りするため、1 ぀のサヌバヌを耇数のクラむアントで再利甚できたす。