This is a major refactoring of the MCP Server to support multiple providers through a YAML-based configuration system with factory pattern implementation. ## Key Changes ### Architecture Improvements - Modular configuration system with YAML-based settings - Factory pattern for LLM, Embedder, and Database providers - Support for multiple database backends (Neo4j, FalkorDB, KuzuDB) - Clean separation of concerns with dedicated service modules ### Provider Support - **LLM**: OpenAI, Anthropic, Gemini, Groq - **Embedders**: OpenAI, Voyage, Gemini, Anthropic, Sentence Transformers - **Databases**: Neo4j, FalkorDB, KuzuDB (new default) - Azure OpenAI support with AD authentication ### Configuration - YAML configuration with environment variable expansion - CLI argument overrides for runtime configuration - Multiple pre-configured Docker Compose setups - Proper boolean handling in environment variables ### Testing & CI - Comprehensive test suite with unit and integration tests - GitHub Actions workflows for linting and testing - Multi-database testing support ### Docker Support - Updated Docker images with multi-stage builds - Database-specific docker-compose configurations - Persistent volume support for all databases ### Bug Fixes - Fixed KuzuDB connectivity checks - Corrected Docker command paths - Improved error handling and logging - Fixed boolean environment variable expansion Co-authored-by: Claude <noreply@anthropic.com>
26 lines
689 B
Python
Executable file
26 lines
689 B
Python
Executable file
#!/usr/bin/env python3
|
|
"""
|
|
Main entry point for Graphiti MCP Server
|
|
|
|
This is a backwards-compatible wrapper around the original graphiti_mcp_server.py
|
|
to maintain compatibility with existing deployment scripts and documentation.
|
|
|
|
Usage:
|
|
python main.py [args...]
|
|
|
|
All arguments are passed through to the original server implementation.
|
|
"""
|
|
|
|
import sys
|
|
from pathlib import Path
|
|
|
|
# Add src directory to Python path for imports
|
|
src_path = Path(__file__).parent / 'src'
|
|
sys.path.insert(0, str(src_path))
|
|
|
|
# Import and run the original server
|
|
if __name__ == '__main__':
|
|
from graphiti_mcp_server import main
|
|
|
|
# Pass all command line arguments to the original main function
|
|
main()
|