GraphRAG MCP Server について
GraphRAG MCP Server は、Neo4j グラフデータベースと Qdrant ベクトルデータベースを組み合わせたハイブリッド検索システムを照会する MCP サーバーです。両方のストアにドキュメントをインデックス済みで、意味的類似度とグラフ関係の両方を LLM に使わせたい利用者に向いています。事前に両データベースの起動とデータ登録が必要です。
主な機能
- 01Qdrant による意味検索
- 02Neo4j によるグラフ関係に基づくコンテキスト拡張
- 03ベクトルとグラフ関係を組み合わせたハイブリッド検索
- 04Neo4j スキーマと Qdrant コレクションの情報リソース
活用シーン
- 01Claude や Cursor からインデックス済みの技術ドキュメントを検索
- 02検索結果をドキュメント間の関係に沿って拡張
- 03クエリ作成時にグラフのスキーマを確認
MCP 対応
ローカルプロセスとして起動し、search_documentation と hybrid_search のツール、および Neo4j スキーマと Qdrant コレクションのリソースを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
GraphRAG MCP サーバー
Neo4j(グラフデータベース)と Qdrant(ベクトルデータベース)を組み合わせた、ハイブリッドなグラフ・ベクトルデータベースシステムをクエリするための Model Context Protocol サーバーです。強力なセマンティック検索とグラフベースのドキュメント検索を実現します。
概要
GraphRAG MCP は、グラフデータベース(Neo4j)とベクトルデータベース(Qdrant)の両方の長所を活用するハイブリッド検索システムと、LLM をシームレスに統合します。これにより、次のことが可能になります。
- ドキュメントの埋め込み表現を使ったセマンティック検索
- 関係をたどるグラフベースのコンテキスト拡張
- ベクトルの類似性とグラフの関係を組み合わせたハイブリッド検索
- MCP を通じた Claude やその他の LLM との完全な統合
このプロジェクトは Model Context Protocol の仕様に準拠しているため、MCP 対応のあらゆるクライアントと互換性があります。
機能
- 文埋め込みと Qdrant を使用したセマンティック検索
- Neo4j を使用したグラフベースのコンテキスト拡張
- 両方のアプローチを組み合わせたハイブリッド検索
- LLM 統合のためのMCP ツールとリソース
- Neo4j のスキーマと Qdrant のコレクション情報に関する完全なドキュメント
前提条件
- Python 3.12+
- localhost:7687 で Neo4j が稼働していること(デフォルト設定)
- localhost:6333 で Qdrant が稼働していること(デフォルト設定)
- 両方のデータベースにドキュメントデータがインデックスされていること
インストール
クイックスタート
-
このリポジトリをクローンします。
git clone https://github.com/rileylemm/graphrag_mcp.git cd graphrag_mcp -
uv で依存関係をインストールします。
uv install -
.envファイルでデータベース接続を設定します。# Neo4j Configuration NEO4J_URI=bolt://localhost:7687 NEO4J_USER=neo4j NEO4J_PASSWORD=password # Qdrant Configuration QDRANT_HOST=localhost QDRANT_PORT=6333 QDRANT_COLLECTION=document_chunks -
サーバーを実行します。
uv run main.py
詳細なセットアップガイド
基盤となるハイブリッドデータベースシステムのセットアップについて詳しくは、関連リポジトリ GraphRAG Hybrid Database を参照してください。
Neo4j と Qdrant のセットアップ
-
Neo4j をインストールして起動します。
# Using Docker docker run \ --name neo4j \ -p 7474:7474 -p 7687:7687 \ -e NEO4J_AUTH=neo4j/password \ -v $HOME/neo4j/data:/data \ -v $HOME/neo4j/logs:/logs \ -v $HOME/neo4j/import:/import \ -v $HOME/neo4j/plugins:/plugins \ neo4j:latest -
Qdrant をインストールして起動します。
# Using Docker docker run -p 6333:6333 -p 6334:6334 \ -v $HOME/qdrant/storage:/qdrant/storage \ qdrant/qdrant
ドキュメントのインデックス作成
両方のデータベースにドキュメントをインデックスするには、次の手順に従います。
- ドキュメントを準備します
- sentence-transformers を使って埋め込み表現を作成します
- 関係情報とともにドキュメントを Neo4j に保存します
- ドキュメントのチャンクの埋め込み表現を Qdrant に保存します
インデックス作成用のスクリプトと手順の詳細は、GraphRAG Hybrid Database リポジトリを参照してください。
MCP クライアントとの統合
Claude Desktop / Cursor との統合
-
実行スクリプトに実行権限を付与します。
chmod +x run_server.sh -
MCP 設定ファイル(
~/.cursor/mcp.jsonまたは Claude Desktop の同等のファイル)にサーバーを追加します。{ "mcpServers": { "GraphRAG": { "command": "/path/to/graphrag_mcp/run_server.sh", "args": [] } } } -
MCP クライアント(Cursor、Claude Desktop など)を再起動します。
使用方法
MCP ツール
このサーバーは、LLM で使用する次のツールを提供します。
-
search_documentation- セマンティック検索で情報を検索します# Example usage in MCP context result = search_documentation( query="How does graph context expansion work?", limit=5, category="technical" ) -
hybrid_search- セマンティック検索とグラフベースの検索を組み合わせて検索します# Example usage in MCP context result = hybrid_search( query="Vector similarity with graph relationships", limit=10, category=None, expand_context=True )
MCP リソース
サーバーは次のリソースを提供します。
https://graphrag.db/schema/neo4j- Neo4j グラフスキーマに関する情報https://graphrag.db/collection/qdrant- Qdrant ベクトルコレクションに関する情報
トラブルシューティング
- 接続の問題:Neo4j と Qdrant が稼働し、アクセス可能であることを確認してください
- 検索結果が空の場合:ドキュメントコレクションが正しくインデックスされていることを確認してください
- 依存関係が不足している場合:
uv installを実行して、すべてのパッケージがインストールされていることを確認してください - データベース認証:
.envファイルの認証情報を確認してください
貢献
貢献を歓迎します。お気軽にプルリクエストを送信してください。
ライセンス
MITライセンス
Copyright (c) 2025 Riley Lemm
本ソフトウェアおよび関連ドキュメントファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に取り扱うことを、無償で許可します。これには、ソフトウェアを使用、複製、変更、結合、公開、配布、サブライセンス、販売する権利、およびソフトウェアを提供された人にこれらの権利を許可する権利が含まれますが、これらに限定されません。ただし、以下の条件に従うものとします。
上記の著作権表示および本許諾表示は、ソフトウェアのすべての複製または実質的な部分に含めるものとします。
本ソフトウェアは「現状有姿」で提供され、明示的か黙示的かを問わず、商品性、特定目的への適合性、および権利非侵害の保証を含むがこれらに限定されない、いかなる種類の保証もありません。いかなる場合においても、作者または著作権者は、本ソフトウェアもしくは本ソフトウェアの使用またはその他の取り扱いに起因または関連して生じる、契約、不法行為、その他の行為によるいかなる請求、損害、その他の責任についても責任を負いません。
帰属表示
この MCP サーバーを使用する場合、または独自の目的に合わせて改変する場合は、Riley Lemm に帰属表示を行い、このリポジトリ(https://github.com/rileylemm/graphrag_mcp)へのリンクを記載してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。