# =================================================================== # Doris MCP Server Environment Configuration Example # =================================================================== # Copy this file to .env and modify the configuration values as needed # =================================================================== # Database Connection Configuration # =================================================================== # Doris FE (Frontend) connection settings DORIS_HOST=localhost DORIS_PORT=9030 DORIS_USER=root DORIS_PASSWORD= DORIS_DATABASE=information_schema # Doris FE HTTP API port (for Profile and other HTTP APIs) DORIS_FE_HTTP_PORT=8030 # Doris BE (Backend) nodes configuration (optional, for external access) # Format: host1,host2,host3 (if empty, will use "show backends" to get BE nodes) DORIS_BE_HOSTS= DORIS_BE_WEBSERVER_PORT=8040 # Connection pool configuration DORIS_MAX_CONNECTIONS=20 DORIS_CONNECTION_TIMEOUT=30 DORIS_HEALTH_CHECK_INTERVAL=60 DORIS_MAX_CONNECTION_AGE=3600 # Arrow Flight SQL Configuration (Required for ADBC tools) # FE_ARROW_FLIGHT_SQL_PORT= # BE_ARROW_FLIGHT_SQL_PORT= # =================================================================== # Security Configuration # =================================================================== # Authentication configuration AUTH_TYPE=token TOKEN_SECRET=your_secret_key_here TOKEN_EXPIRY=3600 # SQL security check ENABLE_SECURITY_CHECK=true # Blocked keywords (comma separated) BLOCKED_KEYWORDS=DROP,CREATE,ALTER,TRUNCATE,DELETE,INSERT,UPDATE,GRANT,REVOKE,EXEC,EXECUTE,SHUTDOWN,KILL # Query limits MAX_QUERY_COMPLEXITY=100 MAX_RESULT_ROWS=10000 # Data masking ENABLE_MASKING=true # =================================================================== # Performance Configuration # =================================================================== # Query cache ENABLE_QUERY_CACHE=true CACHE_TTL=300 MAX_CACHE_SIZE=1000 # Concurrency control MAX_CONCURRENT_QUERIES=50 QUERY_TIMEOUT=300 # Response content size limit (characters) MAX_RESPONSE_CONTENT_SIZE=4096 # =================================================================== # ADBC (Arrow Flight SQL) Configuration # =================================================================== # Enable/disable ADBC tools ADBC_ENABLED=true # Default ADBC query parameters ADBC_DEFAULT_MAX_ROWS=100000 ADBC_DEFAULT_TIMEOUT=60 # Format: "arrow", "pandas", "dict" ADBC_DEFAULT_RETURN_FORMAT=arrow # ADBC connection timeout ADBC_CONNECTION_TIMEOUT=300 # =================================================================== # Logging Configuration # =================================================================== # Basic logging configuration LOG_LEVEL=INFO LOG_FILE_PATH= # Audit logging ENABLE_AUDIT=true AUDIT_FILE_PATH= # Log file rotation configuration LOG_MAX_FILE_SIZE=10485760 LOG_BACKUP_COUNT=5 # =================================================================== # Log Cleanup Configuration - NEW! # =================================================================== # Enable automatic log cleanup ENABLE_LOG_CLEANUP=true # Maximum age of log files in days (files older than this will be deleted) LOG_MAX_AGE_DAYS=30 # Cleanup check interval in hours LOG_CLEANUP_INTERVAL_HOURS=24 # =================================================================== # Monitoring Configuration # =================================================================== # Metrics collection ENABLE_METRICS=true METRICS_PORT=3001 HEALTH_CHECK_PORT=3002 # Alert configuration ENABLE_ALERTS=false ALERT_WEBHOOK_URL= # =================================================================== # Server Configuration # =================================================================== # Basic server information SERVER_NAME=doris-mcp-server SERVER_VERSION=0.5.1 SERVER_PORT=3000 # Temporary files directory TEMP_FILES_DIR=tmp # =================================================================== # Configuration Examples for Different Environments # =================================================================== # Development Environment Example: # LOG_LEVEL=DEBUG # LOG_MAX_AGE_DAYS=7 # LOG_CLEANUP_INTERVAL_HOURS=6 # ENABLE_SECURITY_CHECK=false # Production Environment Example: # LOG_LEVEL=INFO # LOG_MAX_AGE_DAYS=30 # LOG_CLEANUP_INTERVAL_HOURS=24 # ENABLE_SECURITY_CHECK=true # ENABLE_LOG_CLEANUP=true # Testing Environment Example: # LOG_LEVEL=WARNING # LOG_MAX_AGE_DAYS=3 # LOG_CLEANUP_INTERVAL_HOURS=1 # MAX_RESULT_ROWS=1000 # =================================================================== # Advanced Configuration Notes # =================================================================== # 1. Log Cleanup Feature: # - ENABLE_LOG_CLEANUP: Controls whether to enable automatic cleanup # - LOG_MAX_AGE_DAYS: File retention days, recommended 30 days for production, 7 days for development # - LOG_CLEANUP_INTERVAL_HOURS: Check frequency, recommended 24 hours # 2. Security Best Practices: # - Must change TOKEN_SECRET in production environment # - Adjust BLOCKED_KEYWORDS according to business needs # - Enable ENABLE_SECURITY_CHECK and ENABLE_MASKING # 3. Performance Tuning: # - Adjust MAX_CONCURRENT_QUERIES based on hardware resources # - Adjust QUERY_TIMEOUT based on query complexity # - Adjust MAX_CACHE_SIZE based on memory size # 4. Connection Pool Optimization: # - DORIS_MAX_CONNECTIONS recommended to be 2-4 times the number of CPU cores # - DORIS_CONNECTION_TIMEOUT adjust based on network latency # - DORIS_MAX_CONNECTION_AGE recommended 1 hour to avoid long connection issues # 5. ADBC (Arrow Flight SQL) Configuration: # - FE_ARROW_FLIGHT_SQL_PORT and BE_ARROW_FLIGHT_SQL_PORT: Required for ADBC functionality # - ADBC_DEFAULT_MAX_ROWS: Default maximum rows for ADBC queries (recommended: 100000) # - ADBC_DEFAULT_TIMEOUT: Default timeout for ADBC queries in seconds (recommended: 60) # - ADBC_DEFAULT_RETURN_FORMAT: Default return format (arrow/pandas/dict, recommended: arrow) # - ADBC_CONNECTION_TIMEOUT: Connection timeout for ADBC (recommended: 30) # - ADBC_ENABLED: Enable or disable ADBC tools (true/false) # - Prerequisites: Install adbc_driver_manager, adbc_driver_flightsql, pyarrow packages