GraphRAG MCP Server

Integrations

  • Uses .env files for configuration of database connections and credentials for Neo4j and Qdrant

  • Links to companion repositories for detailed setup of the hybrid database system and encourages contributions through Pull Requests

  • Integrates with Neo4j graph database to provide graph-based context expansion and relationship-focused document retrieval capabilities

Servidor GraphRAG MCP

Un servidor de protocolo de contexto de modelo para consultar un sistema de base de datos híbrido de gráficos y vectores, que combina Neo4j (base de datos de gráficos) y Qdrant (base de datos de vectores) para una potente recuperación de documentos basada en gráficos y semántica.

Descripción general

GraphRAG MCP proporciona una integración fluida entre grandes modelos de lenguaje y un sistema de recuperación híbrido que aprovecha las ventajas de las bases de datos de grafos (Neo4j) y vectoriales (Qdrant). Esto permite:

  • Búsqueda semántica mediante incrustaciones de documentos
  • Expansión de contexto basada en gráficos siguiendo relaciones
  • Búsqueda híbrida que combina la similitud vectorial con las relaciones gráficas
  • Integración completa con Claude y otros LLM a través de MCP

Este proyecto sigue la especificación del Protocolo de Contexto de Modelo , lo que lo hace compatible con cualquier cliente habilitado para MCP.

Características

  • Búsqueda semántica mediante incrustaciones de oraciones y Qdrant
  • Expansión de contexto basada en gráficos usando Neo4j
  • Búsqueda híbrida que combina ambos enfoques
  • Herramientas y recursos de MCP para la integración de LLM
  • Documentación completa del esquema Neo4j y la información de recopilación de Qdrant

Prerrequisitos

  • Python 3.12+
  • Neo4j ejecutándose en localhost:7687 (configuración predeterminada)
  • Qdrant ejecutándose en localhost:6333 (configuración predeterminada)
  • Datos del documento indexados en ambas bases de datos

Instalación

Inicio rápido

  1. Clonar este repositorio:
    git clone https://github.com/rileylemm/graphrag_mcp.git cd graphrag_mcp
  2. Instalar dependencias con uv:
    uv install
  3. Configure sus conexiones de base de datos en el archivo .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. Ejecutar el servidor:
    uv run main.py

Guía de configuración detallada

Para obtener una guía detallada sobre la configuración del sistema de base de datos híbrido subyacente, consulte el repositorio complementario: Base de datos híbrida GraphRAG

Configuración de Neo4j y Qdrant

  1. Instalar e iniciar 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. Instalar e iniciar Qdrant:
    # Using Docker docker run -p 6333:6333 -p 6334:6334 \ -v $HOME/qdrant/storage:/qdrant/storage \ qdrant/qdrant

Indexación de documentos

Para indexar sus documentos en ambas bases de datos, siga estos pasos:

  1. Prepare sus documentos
  2. Crear incrustaciones usando transformadores de oraciones
  3. Almacenar documentos en Neo4j con información de relación
  4. Almacenar incrustaciones de fragmentos de documentos en Qdrant

Consulte el repositorio de base de datos híbrida GraphRAG para obtener scripts y procedimientos de indexación detallados.

Integración con clientes MCP

Integración de escritorio y cursor de Claude

  1. Hacer que el script de ejecución sea ejecutable:
    chmod +x run_server.sh
  2. Agregue el servidor a su archivo de configuración de MCP ( ~/.cursor/mcp.json o equivalente de Claude Desktop):
    { "mcpServers": { "GraphRAG": { "command": "/path/to/graphrag_mcp/run_server.sh", "args": [] } } }
  3. Reinicie su cliente MCP (Cursor, Claude Desktop, etc.)

Uso

Herramientas MCP

Este servidor proporciona las siguientes herramientas para el uso de LLM:

  1. search_documentation - Búsqueda de información mediante búsqueda semántica
    # Example usage in MCP context result = search_documentation( query="How does graph context expansion work?", limit=5, category="technical" )
  2. hybrid_search - Búsqueda utilizando enfoques semánticos y basados en gráficos
    # Example usage in MCP context result = hybrid_search( query="Vector similarity with graph relationships", limit=10, category=None, expand_context=True )

Recursos de MCP

El servidor proporciona los siguientes recursos:

  1. https://graphrag.db/schema/neo4j - Información sobre el esquema gráfico de Neo4j
  2. https://graphrag.db/collection/qdrant - Información sobre la colección de vectores Qdrant

Solución de problemas

  • Problemas de conexión : asegúrese de que Neo4j y Qdrant se estén ejecutando y sean accesibles
  • Resultados vacíos : Compruebe que su colección de documentos esté correctamente indexada
  • Dependencias faltantes : ejecute uv install para asegurarse de que todos los paquetes estén instalados
  • Autenticación de base de datos : Verifique las credenciales en su archivo .env

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Licencia

Licencia MIT

Derechos de autor (c) 2025 Riley Lemm

Por la presente se concede permiso, sin cargo, a cualquier persona que obtenga una copia de este software y los archivos de documentación asociados (el "Software"), para tratar el Software sin restricción, incluyendo, sin limitación, los derechos a usar, copiar, modificar, fusionar, publicar, distribuir, sublicenciar y/o vender copias del Software, y para permitir que las personas a quienes se les proporciona el Software lo hagan, sujeto a las siguientes condiciones:

El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o partes sustanciales del Software.

EL SOFTWARE SE PROPORCIONA "TAL CUAL", SIN GARANTÍA DE NINGÚN TIPO, EXPRESA O IMPLÍCITA, INCLUYENDO, ENTRE OTRAS, LAS GARANTÍAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN DETERMINADO Y NO INFRACCIÓN. EN NINGÚN CASO LOS AUTORES O TITULARES DE LOS DERECHOS DE AUTOR SERÁN RESPONSABLES DE NINGUNA RECLAMACIÓN, DAÑOS U OTRAS RESPONSABILIDADES, YA SEA EN ACCIÓN CONTRACTUAL, EXTRACONTRACTUAL O DE OTRO TIPO, QUE SURJA DE, SE DERIVE DE O EN RELACIÓN CON EL SOFTWARE O EL USO U OTRAS RELACIONES CON EL MISMO.

Atribución

Si utiliza este servidor MCP o lo adapta para sus propios fines, proporcione la atribución a Riley Lemm y agregue un enlace a este repositorio ( https://github.com/rileylemm/graphrag\_mcp ).

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

Permite consultar un sistema híbrido que combina la base de datos de gráficos Neo4j y la base de datos de vectores Qdrant para una potente recuperación de documentos basada en gráficos y semántica a través del Protocolo de Contexto de Modelo.

  1. Overview
    1. Features
      1. Prerequisites
        1. Installation
          1. Quick Start
          2. Detailed Setup Guide
        2. Integration with MCP Clients
          1. Claude Desktop / Cursor Integration
        3. Usage
          1. MCP Tools
          2. MCP Resources
        4. Troubleshooting
          1. Contributing
            1. License
              1. Attribution
                ID: syf16ye7mh