mcp-proxy-adapter 6.9.6__py3-none-any.whl → 6.9.7__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mcp_proxy_adapter/core/config_validator.py +35 -23
- mcp_proxy_adapter/version.py +1 -1
- {mcp_proxy_adapter-6.9.6.dist-info → mcp_proxy_adapter-6.9.7.dist-info}/METADATA +1 -1
- {mcp_proxy_adapter-6.9.6.dist-info → mcp_proxy_adapter-6.9.7.dist-info}/RECORD +7 -7
- {mcp_proxy_adapter-6.9.6.dist-info → mcp_proxy_adapter-6.9.7.dist-info}/WHEEL +0 -0
- {mcp_proxy_adapter-6.9.6.dist-info → mcp_proxy_adapter-6.9.7.dist-info}/entry_points.txt +0 -0
- {mcp_proxy_adapter-6.9.6.dist-info → mcp_proxy_adapter-6.9.7.dist-info}/top_level.txt +0 -0
@@ -46,7 +46,7 @@ class ConfigValidator:
|
|
46
46
|
def __init__(self, config_path: Optional[str] = None):
|
47
47
|
"""
|
48
48
|
Initialize configuration validator.
|
49
|
-
|
49
|
+
|
50
50
|
Args:
|
51
51
|
config_path: Path to configuration file for validation
|
52
52
|
"""
|
@@ -314,6 +314,11 @@ class ConfigValidator:
|
|
314
314
|
# Check conditional sections based on feature flags
|
315
315
|
for feature_name, feature_config in self.feature_flags.items():
|
316
316
|
enabled_key = feature_config["enabled_key"]
|
317
|
+
|
318
|
+
# Only check if the enabled key exists in the configuration
|
319
|
+
if not self._has_nested_key(enabled_key):
|
320
|
+
continue
|
321
|
+
|
317
322
|
is_enabled = self._get_nested_value_safe(enabled_key, False)
|
318
323
|
|
319
324
|
if is_enabled and feature_name in self.required_sections:
|
@@ -423,32 +428,35 @@ class ConfigValidator:
|
|
423
428
|
|
424
429
|
# Check SSL requirements
|
425
430
|
if requirements["ssl_enabled"]:
|
426
|
-
|
427
|
-
if
|
428
|
-
self.
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
431
|
+
# Only check SSL if ssl section exists
|
432
|
+
if self._has_nested_key("ssl.enabled"):
|
433
|
+
ssl_enabled = self._get_nested_value_safe("ssl.enabled", False)
|
434
|
+
if not ssl_enabled:
|
435
|
+
self.validation_results.append(ValidationResult(
|
436
|
+
level="error",
|
437
|
+
message=f"Protocol '{protocol}' requires SSL to be enabled",
|
438
|
+
section="ssl",
|
439
|
+
key="enabled"
|
433
440
|
))
|
434
441
|
|
435
442
|
# Check required SSL files
|
436
443
|
for file_key in requirements["required_files"]:
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
444
|
+
if self._has_nested_key(file_key):
|
445
|
+
file_path = self._get_nested_value(file_key)
|
446
|
+
if not file_path:
|
447
|
+
self.validation_results.append(ValidationResult(
|
448
|
+
level="error",
|
449
|
+
message=f"Protocol '{protocol}' requires {file_key} to be specified",
|
450
|
+
section="ssl",
|
451
|
+
key=file_key.split(".")[-1]
|
452
|
+
))
|
453
|
+
elif not os.path.exists(file_path):
|
454
|
+
self.validation_results.append(ValidationResult(
|
455
|
+
level="error",
|
456
|
+
message=f"Protocol '{protocol}' requires file '{file_path}' to exist",
|
457
|
+
section="ssl",
|
458
|
+
key=file_key.split(".")[-1]
|
459
|
+
))
|
452
460
|
|
453
461
|
# Check client verification requirements
|
454
462
|
if requirements["client_verification"]:
|
@@ -565,6 +573,10 @@ class ConfigValidator:
|
|
565
573
|
|
566
574
|
def _validate_ssl_configuration(self) -> None:
|
567
575
|
"""Validate SSL configuration with detailed certificate validation."""
|
576
|
+
# Only validate SSL if the ssl section exists
|
577
|
+
if not self._has_nested_key("ssl.enabled"):
|
578
|
+
return
|
579
|
+
|
568
580
|
ssl_enabled = self._get_nested_value_safe("ssl.enabled", False)
|
569
581
|
|
570
582
|
if ssl_enabled:
|
mcp_proxy_adapter/version.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: mcp-proxy-adapter
|
3
|
-
Version: 6.9.
|
3
|
+
Version: 6.9.7
|
4
4
|
Summary: Powerful JSON-RPC microservices framework with built-in security, authentication, and proxy registration
|
5
5
|
Home-page: https://github.com/maverikod/mcp-proxy-adapter
|
6
6
|
Author: Vasiliy Zdanovskiy
|
@@ -4,7 +4,7 @@ mcp_proxy_adapter/config.py,sha256=1Ngxri2IPGoytYdCF5pXzbLUXsWcf6qYENkaDkAppg0,2
|
|
4
4
|
mcp_proxy_adapter/custom_openapi.py,sha256=XRviX-C-ZkSKdBhORhDTdeN_1FWyEfXZADiASft3t9I,28149
|
5
5
|
mcp_proxy_adapter/main.py,sha256=NFcSW7WaEnimRWe5zj28D0CH9otHlRZ92d2Um6XiGjE,10399
|
6
6
|
mcp_proxy_adapter/openapi.py,sha256=2UZOI09ZDRJuBYBjKbMyb2U4uASszoCMD5o_4ktRpvg,13480
|
7
|
-
mcp_proxy_adapter/version.py,sha256=
|
7
|
+
mcp_proxy_adapter/version.py,sha256=e_sPEsKJLZMvetzVlFPS_CvyEGxkD-vhanbfb-2ii1o,74
|
8
8
|
mcp_proxy_adapter/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
9
|
mcp_proxy_adapter/api/app.py,sha256=PQ1Ch5ydJIHp3Z6gcMCzKkTsXPQAuZ9weHtQ-EXnNGY,37134
|
10
10
|
mcp_proxy_adapter/api/handlers.py,sha256=X-hcMNVeTAu4yVkKJEChEsj2bFptUS6sLNN-Wysjkow,10011
|
@@ -62,7 +62,7 @@ mcp_proxy_adapter/core/client.py,sha256=qIbPl8prEwK2U65kl-vGJW2_imo1E4i6HxG_VpPe
|
|
62
62
|
mcp_proxy_adapter/core/client_manager.py,sha256=yD8HZJlOwmDbVU49YfzSbh1XZ-Vib8qfcLVAaH03Jdg,8832
|
63
63
|
mcp_proxy_adapter/core/client_security.py,sha256=siUaYorcDbpZsEIKgLfg-jBKkp7z_Er8wsO63mDD3Is,13127
|
64
64
|
mcp_proxy_adapter/core/config_converter.py,sha256=Wnnsrbw7DxtgDfLG-IyyzK-hkKu0_1yp7-7dW87tu_4,17422
|
65
|
-
mcp_proxy_adapter/core/config_validator.py,sha256=
|
65
|
+
mcp_proxy_adapter/core/config_validator.py,sha256=Jiu3rJ9eJyEUBNsZ88jVQ-cj_Hd5BxhlBbWtyG6QAsA,49313
|
66
66
|
mcp_proxy_adapter/core/crl_utils.py,sha256=Jnwq2UN52IoCDZCwByRP3XNMOJexftb-mVaH6zes6Fc,11706
|
67
67
|
mcp_proxy_adapter/core/errors.py,sha256=CyhQgvMt0ooQjONa65XRBJ44y-l-E5_ES4KOuRvIpBk,8557
|
68
68
|
mcp_proxy_adapter/core/logging.py,sha256=VIpiC6QTGLukRjiJoVpq3VEoLKhUeLNl8IdfljpW6ZU,9654
|
@@ -135,8 +135,8 @@ mcp_proxy_adapter/schemas/base_schema.json,sha256=v9G9cGMd4dRhCZsOQ_FMqOi5VFyVbI
|
|
135
135
|
mcp_proxy_adapter/schemas/openapi_schema.json,sha256=C3yLkwmDsvnLW9B5gnKKdBGl4zxkeU-rEmjTrNVsQU0,8405
|
136
136
|
mcp_proxy_adapter/schemas/roles.json,sha256=pgf_ZyqKyXbfGUxvobpiLiSJz9zzxrMuoVWEkEpz3N8,764
|
137
137
|
mcp_proxy_adapter/schemas/roles_schema.json,sha256=deHgI7L6GwfBXacOlNtDgDJelDThppClC3Ti4Eh8rJY,5659
|
138
|
-
mcp_proxy_adapter-6.9.
|
139
|
-
mcp_proxy_adapter-6.9.
|
140
|
-
mcp_proxy_adapter-6.9.
|
141
|
-
mcp_proxy_adapter-6.9.
|
142
|
-
mcp_proxy_adapter-6.9.
|
138
|
+
mcp_proxy_adapter-6.9.7.dist-info/METADATA,sha256=jPv79sUiL5LIIc9uoDBw4i994eFASaTpiJXisdAGz0g,8510
|
139
|
+
mcp_proxy_adapter-6.9.7.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
140
|
+
mcp_proxy_adapter-6.9.7.dist-info/entry_points.txt,sha256=Bf-O5Aq80n22Ayu9fI9BgidzWqwzIVaqextAddTuHZw,563
|
141
|
+
mcp_proxy_adapter-6.9.7.dist-info/top_level.txt,sha256=JZT7vPLBYrtroX-ij68JBhJYbjDdghcV-DFySRy-Nnw,18
|
142
|
+
mcp_proxy_adapter-6.9.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|