Package Exports
- @zrald/graph-rag-mcp-server
- @zrald/graph-rag-mcp-server/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@zrald/graph-rag-mcp-server) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Graph RAG MCP Server
A comprehensive Model Context Protocol (MCP) server implementing advanced Graph RAG (Retrieval-Augmented Generation) architecture with sophisticated graph structures, operators, and agentic capabilities for AI agents.
๐ Features
Core Graph Structures
- Directed Acyclic Graph (DAG): Workflow planning with dependency management
- Passage Graph: Document chunk relationships with semantic connections
- Trees Graph: Hierarchical knowledge representation with multi-resolution
- Knowledge Graph: Semantic relationships following subject-predicate-object patterns
- Textual Knowledge Graph: Enhanced knowledge graphs with contextual descriptions
Operator Ecosystem
Node Operators
- VDB Operator: Vector similarity search for semantic relevance
- PPR Operator: Personalized PageRank for authority analysis
Relationship Operators
- OneHop Operator: Direct neighborhood exploration
- Aggregator Operator: Multi-relationship synthesis
Chunk Operators
- FromRel Operator: Trace relationships back to source chunks
- Occurrence Operator: Entity co-occurrence analysis
Subgraph Operators
- KHopPath Operator: Multi-step path finding between entities
- Steiner Operator: Minimal connecting networks construction
Execution Patterns
- Sequential Chaining: Step-by-step operator execution
- Parallel Execution: Concurrent operator processing with result fusion
- Adaptive Execution: Intelligent operator selection and optimization
Advanced Capabilities
- Intelligent Query Planning: Automatic operator chain creation
- Multi-Modal Fusion: Combine results from different graph types
- Adaptive Reasoning: Complex reasoning with iterative refinement
- Performance Analytics: Comprehensive metrics and optimization
๐ฆ Installation
# Install via npm
npm install @zrald/graph-rag-mcp-server
# Or install globally
npm install -g @zrald/graph-rag-mcp-serverDevelopment Installation
# Clone the repository for development
git clone https://github.com/augment-code/graph-rag-mcp-server.git
cd graph-rag-mcp-server
# Install dependencies
npm install
# Set up environment variables
cp .env.example .env
# Edit .env with your configuration
# Build the project
npm run build
# Start the server
npm startโก Quick Start
import { GraphRAGMCPServer } from '@zrald/graph-rag-mcp-server';
// Initialize the server
const server = new GraphRAGMCPServer();
// Start the MCP server
await server.initialize();
await server.start();
console.log('Graph RAG MCP Server is running!');Using as a CLI
# Start the server directly
graph-rag-mcp-server
# Or with custom configuration
NEO4J_URI=bolt://localhost:7687 graph-rag-mcp-server๐ง Configuration
Prerequisites
- Neo4j Database: For graph storage and querying
- Node.js 18+: Runtime environment
- Memory: Minimum 4GB RAM recommended
Environment Variables
See .env.example for all configuration options.
Key configurations:
NEO4J_URI: Neo4j database connection stringNEO4J_USERNAME/PASSWORD: Database credentialsVECTOR_DIMENSION: Embedding dimension (default: 384)MAX_VECTOR_ELEMENTS: Vector store capacity
๐ ๏ธ Usage
Basic Query Planning
// Create an intelligent query plan
const plan = await server.createQueryPlan(
"Find relationships between artificial intelligence and machine learning",
{ reasoning_type: "analytical" }
);
// Execute the plan
const result = await server.executeQueryPlan(plan.id);Individual Operators
// Vector similarity search
const vdbResult = await server.vdbSearch({
query_embedding: [0.1, 0.2, ...], // 384-dimensional vector
top_k: 10,
similarity_threshold: 0.7,
node_types: ["entity", "concept"]
});
// Personalized PageRank analysis
const pprResult = await server.pageRankAnalysis({
seed_nodes: ["ai_node_1", "ml_node_2"],
damping_factor: 0.85,
max_iterations: 100
});
// Multi-hop path finding
const pathResult = await server.pathFinding({
source_nodes: ["source_entity"],
target_nodes: ["target_entity"],
max_hops: 3,
path_limit: 10
});Graph Management
// Add nodes to the knowledge graph
await server.addNodes({
nodes: [
{
id: "ai_concept",
type: "concept",
label: "Artificial Intelligence",
properties: { domain: "technology" },
embedding: [0.1, 0.2, ...] // Optional
}
]
});
// Add relationships
await server.addRelationships({
relationships: [
{
id: "rel_1",
source_id: "ai_concept",
target_id: "ml_concept",
type: "INCLUDES",
weight: 0.9,
confidence: 0.95
}
]
});Advanced Features
// Adaptive reasoning
const reasoningResult = await server.adaptiveReasoning({
reasoning_query: "How does machine learning enable artificial intelligence?",
reasoning_type: "causal",
max_iterations: 5,
confidence_threshold: 0.8
});
// Multi-modal fusion
const fusionResult = await server.multiModalFusion({
fusion_query: "Compare AI approaches across different domains",
graph_types: ["knowledge", "passage", "trees"],
fusion_strategy: "weighted_average"
});๐๏ธ Architecture
Core Components
src/
โโโ core/ # Core infrastructure
โ โโโ graph-database.ts # Neo4j integration
โ โโโ vector-store.ts # Vector embeddings store
โโโ operators/ # Graph RAG operators
โ โโโ base-operator.ts # Base operator class
โ โโโ node-operators.ts # VDB, PPR operators
โ โโโ relationship-operators.ts # OneHop, Aggregator
โ โโโ chunk-operators.ts # FromRel, Occurrence
โ โโโ subgraph-operators.ts # KHopPath, Steiner
โโโ execution/ # Execution engine
โ โโโ operator-executor.ts # Orchestration logic
โโโ planning/ # Query planning
โ โโโ query-planner.ts # Intelligent planning
โโโ utils/ # Utilities
โ โโโ embedding-generator.ts # Text embeddings
โ โโโ graph-builders.ts # Graph construction
โโโ types/ # Type definitions
โ โโโ graph.ts # Core types
โโโ mcp-server.ts # MCP server implementation
โโโ index.ts # Entry pointData Flow
- Query Input โ Query Planner analyzes intent and complexity
- Plan Creation โ Intelligent operator chain generation
- Execution โ Operator orchestration with chosen pattern
- Result Fusion โ Combine results using fusion strategy
- Response โ Structured output with metadata
๐ MCP Tools Reference
Query Planning & Execution
create_query_plan: Generate intelligent execution plansexecute_query_plan: Execute pre-created plansexecute_operator_chain: Run custom operator chains
Individual Operators
vdb_search: Vector similarity searchpagerank_analysis: Authority analysisneighborhood_exploration: Direct relationship explorationrelationship_aggregation: Multi-relationship synthesischunk_tracing: Source chunk identificationco_occurrence_analysis: Entity co-occurrence patternspath_finding: Multi-hop path discoverysteiner_tree: Minimal connecting networks
Graph Management
create_knowledge_graph: Build new graph structuresadd_nodes: Insert nodes into graphsadd_relationships: Create relationshipsadd_chunks: Add text chunks to vector store
Analytics & Insights
graph_analytics: Comprehensive graph statisticsoperator_performance: Performance metricsadaptive_reasoning: Complex reasoning capabilitiesmulti_modal_fusion: Cross-graph analysis
๐ MCP Resources
graph://knowledge-graph: Access to graph structuregraph://vector-store: Vector embeddings informationgraph://operator-registry: Available operatorsgraph://execution-history: Performance history
๐งช Testing
# Run tests
npm test
# Run with coverage
npm run test:coverage
# Lint code
npm run lint
# Format code
npm run format๐ Performance
Benchmarks
- Vector Search: Sub-100ms for 10K embeddings
- PageRank: Converges in <50 iterations for most graphs
- Path Finding: Handles graphs with 100K+ nodes
- Parallel Execution: 3-5x speedup over sequential
Optimization Features
- Intelligent Caching: Query plan and result caching
- Batch Processing: Efficient bulk operations
- Adaptive Thresholds: Dynamic parameter adjustment
- Resource Management: Memory and CPU optimization
๐ค Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
๐ License
MIT License - see LICENSE file for details.
๐ Support
- Documentation: See
/docsdirectory - Issues: GitHub Issues
- Discussions: GitHub Discussions
๐ฎ Roadmap
- Real-time graph updates
- Distributed execution
- Advanced ML integration
- Custom operator development SDK
- Graph visualization tools
- Performance dashboard
Built with โค๏ธ for the AI agent ecosystem. Empowering intelligent systems with sophisticated graph-based reasoning capabilities.