GraphRAG MCP サーバー
強力なセマンティックおよびグラフベースのドキュメント検索のために Neo4j (グラフ データベース) と Qdrant (ベクター データベース) を組み合わせた、ハイブリッド グラフおよびベクター データベース システムをクエリするためのモデル コンテキスト プロトコル サーバーです。
概要
GraphRAG MCPは、大規模言語モデルと、グラフデータベース(Neo4j)とベクターデータベース(Qdrant)の両方の長所を活用したハイブリッド検索システムをシームレスに統合します。これにより、以下のことが可能になります。
ドキュメント埋め込みによるセマンティック検索
関係性に従うグラフベースのコンテキスト拡張
ベクトル類似性とグラフ関係性を組み合わせたハイブリッド検索
MCPを通じてクロードや他のLLMとの完全な統合
このプロジェクトはモデルコンテキストプロトコル仕様に準拠しており、MCP 対応のあらゆるクライアントと互換性があります。
Related MCP server: Better Qdrant MCP Server
特徴
文章埋め込みとQdrantを用いた意味検索
Neo4j を使用したグラフベースのコンテキスト拡張
両方のアプローチを組み合わせたハイブリッド検索
LLM統合のためのMCPツールとリソース
Neo4j スキーマと Qdrant コレクション情報の完全なドキュメント
前提条件
Python 3.12以上
Neo4j は localhost:7687 で実行されています (デフォルト設定)
Qdrant は localhost:6333 で実行されています (デフォルト設定)
両方のデータベースにインデックスが付けられたドキュメントデータ
インストール
クイックスタート
このリポジトリをクローンします:
git clone https://github.com/rileylemm/graphrag_mcp.git cd graphrag_mcpuv を使用して依存関係をインストールします。
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 ハイブリッドデータベース
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:latestQdrant をインストールして起動します。
# Using Docker docker run -p 6333:6333 -p 6334:6334 \ -v $HOME/qdrant/storage:/qdrant/storage \ qdrant/qdrant
ドキュメントのインデックス作成
両方のデータベースでドキュメントのインデックスを作成するには、次の手順に従います。
書類を準備する
文変換子を使用して埋め込みを作成する
関係情報を含むドキュメントをNeo4jに保存する
ドキュメントチャンクの埋め込みをQdrantに保存する
詳細なインデックス作成スクリプトと手順については、 GraphRAG ハイブリッド データベースリポジトリを参照してください。
MCPクライアントとの統合
クロードデスクトップ / カーソル統合
実行スクリプトを実行可能にします。
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ライセンス
著作権 (c) 2025 ライリー・レム
本ソフトウェアおよび関連ドキュメント ファイル (以下「本ソフトウェア」) のコピーを入手したすべての人物は、以下の条件に従い、本ソフトウェアを無制限に扱う権利 (使用、コピー、変更、統合、公開、配布、サブライセンス、および/または販売する権利を含みますが、これに限定されません) および本ソフトウェアの提供を受けた人物が同様の行為を行うことを許可する権利を無償で付与されます。
上記の著作権表示およびこの許可通知は、ソフトウェアのすべてのコピーまたは大部分に含めるものとします。
本ソフトウェアは「現状有姿」で提供され、明示的または黙示的を問わず、商品性、特定目的への適合性、非侵害性を含むがこれらに限定されない、いかなる種類の保証も付与されません。いかなる場合においても、著作者または著作権者は、契約違反、不法行為、またはその他の行為にかかわらず、本ソフトウェア、本ソフトウェアの使用、またはその他の取り扱いに起因または関連して発生するいかなる請求、損害、またはその他の責任についても責任を負わないものとします。
帰属
この MCP サーバーを使用したり、独自の目的に合わせて変更したりする場合は、Riley Lemm への帰属を明記し、このリポジトリ ( https://github.com/rileylemm/graphrag\_mcp ) にリンクしてください。