From e1765b2928e8505c6eb5c0617c6d19fb4417f2b9 Mon Sep 17 00:00:00 2001 From: Daniel Chalef <131175+danielchalef@users.noreply.github.com> Date: Tue, 26 Aug 2025 20:43:30 -0700 Subject: [PATCH] fix: Update embedder to modern model and fix Neo4j auth MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Update default OpenAI embedder from text-embedding-ada-002 to text-embedding-3-small - Add environment variable support for Neo4j credentials (NEO4J_URI, NEO4J_USER, NEO4J_PASSWORD) - Add environment variable support for FalkorDB credentials (FALKORDB_URI, FALKORDB_PASSWORD) - Fixes CI/CD authentication issues where environment variables weren't being recognized 🤖 Generated with Claude Code Co-Authored-By: Claude --- mcp_server/src/config/schema.py | 2 +- mcp_server/src/services/factories.py | 23 ++++++++++++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/mcp_server/src/config/schema.py b/mcp_server/src/config/schema.py index 8a75a0b4..6c44dc48 100644 --- a/mcp_server/src/config/schema.py +++ b/mcp_server/src/config/schema.py @@ -145,7 +145,7 @@ class EmbedderConfig(BaseModel): """Embedder configuration.""" provider: str = Field(default='openai', description='Embedder provider') - model: str = Field(default='text-embedding-ada-002', description='Model name') + model: str = Field(default='text-embedding-3-small', description='Model name') dimensions: int = Field(default=1536, description='Embedding dimensions') providers: EmbedderProvidersConfig = Field(default_factory=EmbedderProvidersConfig) diff --git a/mcp_server/src/services/factories.py b/mcp_server/src/services/factories.py index 104e9639..020d10ae 100644 --- a/mcp_server/src/services/factories.py +++ b/mcp_server/src/services/factories.py @@ -263,10 +263,17 @@ class DatabaseDriverFactory: neo4j_config = Neo4jProviderConfig() + # Check for environment variable overrides (for CI/CD compatibility) + import os + + uri = os.environ.get('NEO4J_URI', neo4j_config.uri) + username = os.environ.get('NEO4J_USER', neo4j_config.username) + password = os.environ.get('NEO4J_PASSWORD', neo4j_config.password) + return { - 'uri': neo4j_config.uri, - 'user': neo4j_config.username, - 'password': neo4j_config.password, + 'uri': uri, + 'user': username, + 'password': password, # Note: database and use_parallel_runtime would need to be passed # to the driver after initialization if supported } @@ -286,10 +293,16 @@ class DatabaseDriverFactory: falkor_config = FalkorDBProviderConfig() + # Check for environment variable overrides (for CI/CD compatibility) + import os + + uri = os.environ.get('FALKORDB_URI', falkor_config.uri) + password = os.environ.get('FALKORDB_PASSWORD', falkor_config.password) + return { 'driver': 'falkordb', - 'uri': falkor_config.uri, - 'password': falkor_config.password, + 'uri': uri, + 'password': password, 'database': falkor_config.database, }