mcpField
G
GraphRAG MCP Server

GraphRAG MCP Server

ローカル
github.com/rileylemmメモリ・ナレッジ6482 週間前に更新

GraphRAG MCP Server について

GraphRAG MCP Server は、Neo4j グラフデータベースと Qdrant ベクトルデータベースを組み合わせたハイブリッド検索システムを照会する MCP サーバーです。両方のストアにドキュメントをインデックス済みで、意味的類似度とグラフ関係の両方を LLM に使わせたい利用者に向いています。事前に両データベースの起動とデータ登録が必要です。

主な機能

  1. 01Qdrant による意味検索
  2. 02Neo4j によるグラフ関係に基づくコンテキスト拡張
  3. 03ベクトルとグラフ関係を組み合わせたハイブリッド検索
  4. 04Neo4j スキーマと Qdrant コレクションの情報リソース

活用シーン

  1. 01Claude や Cursor からインデックス済みの技術ドキュメントを検索
  2. 02検索結果をドキュメント間の関係に沿って拡張
  3. 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 が稼働していること(デフォルト設定)
  • 両方のデータベースにドキュメントデータがインデックスされていること

インストール

クイックスタート
  1. このリポジトリをクローンします。

    git clone https://github.com/rileylemm/graphrag_mcp.git
    cd graphrag_mcp
    
  2. uv で依存関係をインストールします。

    uv install
    
  3. .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
    
  4. サーバーを実行します。

    uv run main.py
    
詳細なセットアップガイド

基盤となるハイブリッドデータベースシステムのセットアップについて詳しくは、関連リポジトリ GraphRAG Hybrid Database を参照してください。

Neo4j と Qdrant のセットアップ
  1. 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
    
  2. Qdrant をインストールして起動します。

    # Using Docker
    docker run -p 6333:6333 -p 6334:6334 \
      -v $HOME/qdrant/storage:/qdrant/storage \
      qdrant/qdrant
    
ドキュメントのインデックス作成

両方のデータベースにドキュメントをインデックスするには、次の手順に従います。

  1. ドキュメントを準備します
  2. sentence-transformers を使って埋め込み表現を作成します
  3. 関係情報とともにドキュメントを Neo4j に保存します
  4. ドキュメントのチャンクの埋め込み表現を Qdrant に保存します

インデックス作成用のスクリプトと手順の詳細は、GraphRAG Hybrid Database リポジトリを参照してください。

MCP クライアントとの統合

Claude Desktop / Cursor との統合
  1. 実行スクリプトに実行権限を付与します。

    chmod +x run_server.sh
    
  2. MCP 設定ファイル(~/.cursor/mcp.json または Claude Desktop の同等のファイル)にサーバーを追加します。

    {
      "mcpServers": {
        "GraphRAG": {
          "command": "/path/to/graphrag_mcp/run_server.sh",
          "args": []
        }
      }
    }
    
  3. MCP クライアント(Cursor、Claude Desktop など)を再起動します。

使用方法

MCP ツール

このサーバーは、LLM で使用する次のツールを提供します。

  1. search_documentation - セマンティック検索で情報を検索します

    # Example usage in MCP context
    result = search_documentation(
        query="How does graph context expansion work?",
        limit=5,
        category="technical"
    )
    
  2. hybrid_search - セマンティック検索とグラフベースの検索を組み合わせて検索します

    # Example usage in MCP context
    result = hybrid_search(
        query="Vector similarity with graph relationships",
        limit=10,
        category=None,
        expand_context=True
    )
    
MCP リソース

サーバーは次のリソースを提供します。

  1. https://graphrag.db/schema/neo4j - Neo4j グラフスキーマに関する情報
  2. 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)へのリンクを記載してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。