From 859af2e4d8e3622ea7a4b5b3c8036fda3c5f50c7 Mon Sep 17 00:00:00 2001 From: Daniel Chalef <131175+danielchalef@users.noreply.github.com> Date: Sat, 30 Aug 2025 08:59:15 -0700 Subject: [PATCH] fix: Resolve pyright type errors in MCP server factories MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add validation for Azure OpenAI API URL to ensure it's not None - Fix OpenAI embedder config to use 'embedding_model' instead of 'model' - Remove 'dimensions' parameter from OpenAIEmbedderConfig (not supported) - Add URL validation for both LLM and embedder Azure configurations All pyright type checks now pass with 0 errors. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- mcp_server/src/services/factories.py | 9 +++++++-- mcp_server/uv.lock | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/mcp_server/src/services/factories.py b/mcp_server/src/services/factories.py index 21f43a4e..784a8ccb 100644 --- a/mcp_server/src/services/factories.py +++ b/mcp_server/src/services/factories.py @@ -111,6 +111,9 @@ class LLMClientFactory: raise ValueError('Azure OpenAI provider configuration not found') azure_config = config.providers.azure_openai + if not azure_config.api_url: + raise ValueError('Azure OpenAI API URL is required') + # Handle Azure AD authentication if enabled api_key: str | None = None azure_ad_token_provider = None @@ -208,8 +211,7 @@ class EmbedderFactory: embedder_config = OpenAIEmbedderConfig( api_key=config.providers.openai.api_key, - model=config.model, - dimensions=config.dimensions, + embedding_model=config.model, ) return OpenAIEmbedder(config=embedder_config) @@ -222,6 +224,9 @@ class EmbedderFactory: raise ValueError('Azure OpenAI provider configuration not found') azure_config = config.providers.azure_openai + if not azure_config.api_url: + raise ValueError('Azure OpenAI API URL is required') + # Handle Azure AD authentication if enabled api_key: str | None = None azure_ad_token_provider = None diff --git a/mcp_server/uv.lock b/mcp_server/uv.lock index bc8e829c..9922b73a 100644 --- a/mcp_server/uv.lock +++ b/mcp_server/uv.lock @@ -671,6 +671,9 @@ requires-dist = [ { name = "voyageai", marker = "extra == 'voyageai'", specifier = ">=0.2.3" }, ] +[package.metadata.requires-dev] +dev = [{ name = "pyright", specifier = ">=1.1.404" }] + [[package]] name = "groq" version = "0.31.0"