This server provides a GraphRAG (Graph-based Retrieval Augmented Generation) engine for indexing documents, building knowledge graphs, and querying/analyzing them through multiple search modes and graph exploration.
Keyword Search (
keyword_lookup): Exact BM25-based retrieval for specific terms, ticker symbols (e.g., ASTS, RKLB), acronyms, or product names.Entity Relationship Search (
entity_connections): Query the knowledge graph to discover entities, their relationships, competitive landscapes, and connections within the corpus.Thematic Overview (
thematic_overview): Retrieve high-level patterns, trends, and macro narratives across the entire document corpus — useful for sector analysis and broad topic exploration.Entity Graph Exploration (
explore_entity_graph): Traverse the knowledge graph from a specific named entity, exploring direct connections up to 3 hops away — useful for building reasoning chains or verifying facts.Corpus Statistics (
get_corpus_stats): Retrieve health and scale metrics including counts of documents, chunks, entities, and relationships.Index Documents: Ingest local documents into a knowledge graph using a full ML indexing pipeline.
Manage Databases: Initialize, list, check status, and delete knowledge base entries via CLI.
Deploy to Cloud: Supports deployment to Fly.io and AWS (ECR, S3, App Runner) with a lightweight ~1GB query server footprint.
Integrate with MCP-compatible agents (e.g., Claude Desktop, Cursor) to give AI assistants access to your document knowledge base.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GraphRAG Llama Index MCP Serversearch for recent acquisitions in the AI chip industry"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GraphRAG LlamaIndex
Full-stack GraphRAG engine optimized for local indexing and lightweight cloud querying. Built on DuckDB, LlamaIndex, and the Model Context Protocol (MCP).
1. Context
This project implements a Decoupled Architecture:
Indexer (Image A): Heavy-duty ML environment (PyTorch, GLiNER) for local graph construction.
Query (Image B): Lightweight API environment (Node.js, DuckDB) for fast cloud deployment (~1GB footprint).
2. Building the Images
# Build specialized images via Docker Compose
docker compose build3. Running Indexer & Query
Load the shell aliases for the fastest workflow:
macOS (Zsh):
source .graphrag-alias.zshWSL/Bash:
source .graphrag-alias.shPowerShell:
. .\.graphrag-alias.ps1
Indexing Documents
# 1. Initialize a database entry
graphrag start my_project --source /app/documents/source_files
# 2. Run the ingestion pipeline (Indexer Image)
graphrag index my_project [--reset] [--prune]Querying
# CLI Search (Query Image)
graphrag search my_project "What are the common themes?"
# Start MCP Server for Agents
docker compose up query4. Deployment Folder
deployment/fly/: Scripts for zero-latency hosting on Fly.io (optimized for free-tier fly-machines).deployment/aws/: Infrastructure scripts for ECR, S3 backups, and App Runner deployments.
5. Setup & Configuration
Environment (.env)
Copy .env.example and set:
OPENAI_API_KEY: For LLM reasoning and extraction.DOCUMENTS_HOME: Absolute path to your local data folder (mapped to/app/documentsin Docker).
Engine Configuration (core/graphrag_config.py)
Tweak these parameters to refine performance:
SearchType: Switch betweenentity_connections(graph-heavy) orthematic_overview(summary-heavy).ExtractionMode: Choosellm(creative) orgliner(fast/cost-effective).
6. Local Integration & Testing
Integrate this project as an MCP Server in Desktop Agents (Claude Desktop, Cursor, etc.) to give them memory of your documents.
Add to your MCP Config:
{
"mcpServers": {
"graphrag": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"C:/Users/<USER>/.graphrag:/root/.graphrag",
"graphrag-query"
]
}
}
}7. Database Cheatsheet
Core Commands
graphrag list: Show all registered databases.graphrag status <db>: Check entity/relationship counts and health.graphrag delete <db> [--files]: Unregister database entry and optionally remove physical files.graphrag index <db> [--reset]: Index documents into database (use--resetto skip duplicate checks).
Managed Storage Workflow
To keep your project portable, move database files into a Managed/ folder inside your data directory.
Manual Move:
Move
your_db.duckdbto[DOCUMENTS_HOME]/Managed/.Re-register the path:
graphrag register my_db --db-path /app/documents/Managed/your_db.duckdbFor S3 management see S3_CHEATSHEET.md.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.