Commit graph

2 commits

Author SHA1 Message Date
Daniel Chalef
54c2c5e9d6 fix: Proper FalkorDB v4.12.4 integration and security hardening
## FalkorDB Integration Fixes

### 🗄️ Correct FalkorDB Configuration
- **Fixed Docker Image**: Updated to proper `falkordb/falkordb:v4.12.4` (latest stable)
- **Proper Ports**: 6379 (Redis protocol) + 3000 (web interface)
- **Enhanced Health Checks**: 30s startup period, 8 retries, 15s intervals
- **Extended Timeouts**: 30 attempts with 3s sleep (90s total) for container startup
- **Graph Query Testing**: Added FalkorDB-specific GRAPH.QUERY command validation

### 🔒 Security Hardening
- **Test Configuration**: Removed potentially flagged API key values in tests
- **Sanitized Test Data**: Changed `test-key` to `dummy_value_for_testing`
- **Static Analysis Compliance**: Eliminates security tool false positives

### ⚙️ Enhanced CI Reliability
- **Proper FalkorDB Detection**: Uses correct `redis-cli -h localhost` commands
- **Extended Startup Times**: 45s server timeout, 15s initialization wait
- **Real Graph Database**: Full FalkorDB v4.12.4 instead of generic Redis
- **Comprehensive Testing**: FalkorDB-specific graph operations validation

### 📊 Integration Test Improvements
```yaml
services:
  falkordb:
    image: falkordb/falkordb:v4.12.4  # Latest stable version
    ports: [6379:6379, 3000:3000]
    health-cmd: "redis-cli -h localhost -p 6379 ping"
```

### 🎯 What Was Wrong Before
- **Wrong Product**: Was using Redis instead of FalkorDB (completely different databases)
- **Container Issues**: FalkorDB container failing to start with improper configuration
- **Timing Issues**: Insufficient startup time for graph database initialization
- **Security Flags**: Test API keys triggering static analysis alerts

###  Current State
- **Real FalkorDB**: Actual graph database with GraphBLAS backend
- **Proper Integration**: Full MCP server testing with FalkorDB backend
- **Security Compliant**: Clean test configuration without flagged values
- **Production Ready**: Comprehensive validation of both Neo4j AND FalkorDB backends

This provides complete dual-database backend validation with the actual FalkorDB graph database (v4.12.4) rather than a Redis substitute.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-30 08:50:48 -07:00
Daniel Chalef
3c25268afc feat: Major MCP server refactor with improved structure and CI/CD
- Reorganized MCP server into clean, scalable directory structure:
  - `src/config/` - Configuration modules (schema, managers, provider configs)
  - `src/services/` - Services (queue, factories)
  - `src/models/` - Data models (entities, responses)
  - `src/utils/` - Utilities (formatting, helpers)
  - `tests/` - All test files
  - `config/` - Configuration files (YAML, examples)
  - `docker/` - Docker setup files
  - `docs/` - Documentation

- Added `main.py` wrapper for seamless transition
- Maintains existing command-line interface
- All deployment scripts continue to work unchanged

- **Queue Service Interface Fix**: Fixed missing `add_episode()` and `initialize()` methods
  - Server calls at `graphiti_mcp_server.py:276` and `:755` now work correctly
  - Eliminates runtime crashes on startup and episode processing
- Updated imports throughout restructured codebase
- Fixed Python module name conflicts (renamed `types/` to `models/`)

- **MCP Server Tests Action** (`.github/workflows/mcp-server-tests.yml`)
  - Runs on PRs targeting main with `mcp_server/**` changes
  - Configuration validation, syntax checking, unit tests
  - Import structure validation, dependency verification
  - Main.py wrapper functionality testing

- **MCP Server Lint Action** (`.github/workflows/mcp-server-lint.yml`)
  - Code formatting with ruff (100 char line length, single quotes)
  - Comprehensive linting with GitHub-formatted output
  - Type checking with pyright (baseline approach for existing errors)
  - Import sorting validation

- Added ruff and pyright configuration to `mcp_server/pyproject.toml`
- Proper tool configuration for the new structure
- Enhanced development dependencies with formatting/linting tools

- All existing tests moved and updated for new structure
- Import paths updated throughout test suite
- Validation scripts enhanced for restructured codebase

- **Improved Maintainability**: Clear separation of concerns
- **Better Scalability**: Organized structure supports growth
- **Enhanced Developer Experience**: Proper linting, formatting, type checking
- **Automated Quality Gates**: CI/CD ensures code quality on every PR
- **Zero Breaking Changes**: Maintains full backwards compatibility

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-30 08:50:48 -07:00
Renamed from mcp_server/test_configuration.py (Browse further)