Fixed high-impact issues from PR #1024 code review:
1. **Boolean conversion bug (schema.py)**
- Fixed _expand_env_vars returning strings 'true'/'false' instead of booleans
- Now properly converts boolean-like strings (true/false/1/0/yes/no/on/off) to actual booleans
- Simplified logic by removing redundant string-to-string conversions
- Added support for common boolean string variations
2. **Dependency management (pyproject.toml)**
- Removed pytest from main dependencies (now only in dev dependencies)
- Moved azure-identity to optional dependencies under new [azure] group
- Prevents forcing Azure and testing dependencies on all users
3. **Conditional Azure imports (utils.py)**
- Made azure-identity import conditional in create_azure_credential_token_provider()
- Raises helpful ImportError with installation instructions if not available
- Follows lazy-import pattern for optional dependencies
4. **Documentation fix (graphiti_mcp_server.py)**
- Fixed confusing JSON escaping in add_memory docstring example
- Changed from triple-backslash escaping to standard JSON string
- Updated comment to clarify standard JSON escaping is used
Issues verified as already fixed:
- Docker build context (all docker-compose files use context: ..)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
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>