mcp-proxy-adapter 6.9.26__py3-none-any.whl → 6.9.28__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.

Potentially problematic release.


This version of mcp-proxy-adapter might be problematic. Click here for more details.

@@ -78,11 +78,12 @@ def _determine_registration_url(config: Dict[str, Any]) -> str:
78
78
  protocol = "https" if registration_protocol == "mtls" else registration_protocol
79
79
  get_global_logger().info(f"🔍 Using registration.protocol: {registration_protocol} -> {protocol}")
80
80
  else:
81
- # Fallback to server protocol
82
- verify_client = config.get("transport", {}).get("verify_client", False)
83
- ssl_enabled = server_protocol in ["https", "mtls"] or verify_client
84
- protocol = "https" if ssl_enabled else "http"
85
- get_global_logger().info(f"⚠️ Fallback to server.protocol: {server_protocol} -> {protocol} (verify_client={verify_client})")
81
+ # NO FALLBACK! Protocol must be explicitly specified
82
+ raise ValueError(
83
+ "registration.protocol is required in configuration. "
84
+ "Please specify protocol explicitly in proxy_registration section. "
85
+ "NO FALLBACK to server.protocol is allowed!"
86
+ )
86
87
 
87
88
  # Determine host
88
89
  if not public_host:
@@ -23,11 +23,12 @@ try:
23
23
  from mcp_security_framework.schemas.config import SecurityConfig
24
24
 
25
25
  SECURITY_FRAMEWORK_AVAILABLE = True
26
- except ImportError:
27
- SECURITY_FRAMEWORK_AVAILABLE = False
28
- FastAPISecurityMiddleware = None
29
- SecurityManager = None
30
- SecurityConfig = None
26
+ except ImportError as e:
27
+ # NO FALLBACK! mcp_security_framework is REQUIRED
28
+ raise RuntimeError(
29
+ f"CRITICAL: mcp_security_framework is required but not available: {e}. "
30
+ "Install it with: pip install mcp_security_framework>=1.2.8"
31
+ ) from e
31
32
 
32
33
  from mcp_proxy_adapter.core.logging import get_global_logger
33
34
  from mcp_proxy_adapter.core.security_integration import create_security_integration
@@ -31,11 +31,12 @@ try:
31
31
  from mcp_security_framework.schemas.models import AuthResult, ValidationResult
32
32
 
33
33
  SECURITY_FRAMEWORK_AVAILABLE = True
34
- except ImportError:
35
- SECURITY_FRAMEWORK_AVAILABLE = False
36
- SSLManager = None
37
- SSLConfig = None
38
- AuthConfig = None
34
+ except ImportError as e:
35
+ # NO FALLBACK! mcp_security_framework is REQUIRED
36
+ raise RuntimeError(
37
+ f"CRITICAL: mcp_security_framework is required but not available: {e}. "
38
+ "Install it with: pip install mcp_security_framework>=1.2.8"
39
+ ) from e
39
40
  AuthResult = None
40
41
  ValidationResult = None
41
42
 
@@ -355,6 +355,7 @@ class ProxyRegistrationManager:
355
355
  ca_cert_file = ssl_config.get("ca_cert")
356
356
  verify_mode = ssl_config.get("verify_mode", "CERT_REQUIRED")
357
357
  verify_ssl = ssl_config.get("verify_ssl", True)
358
+ verify_hostname = ssl_config.get("verify_hostname", True) # ✅ Read verify_hostname setting
358
359
 
359
360
  # Load CA certificate if provided
360
361
  if ca_cert_file:
@@ -371,9 +372,9 @@ class ProxyRegistrationManager:
371
372
  context.verify_mode = ssl.CERT_NONE
372
373
  get_global_logger().debug("SSL verification disabled (CERT_NONE)")
373
374
  elif verify_mode == "CERT_REQUIRED":
374
- context.check_hostname = True
375
+ context.check_hostname = verify_hostname # ✅ Use verify_hostname setting
375
376
  context.verify_mode = ssl.CERT_REQUIRED
376
- get_global_logger().debug("SSL verification enabled (CERT_REQUIRED)")
377
+ get_global_logger().debug(f"SSL verification enabled (CERT_REQUIRED), hostname check: {verify_hostname}")
377
378
  else:
378
379
  # For test environments, default to CERT_NONE to avoid certificate issues
379
380
  context.check_hostname = False
@@ -22,15 +22,12 @@ try:
22
22
 
23
23
  # Note: SecurityRequest and SecurityResult are not available in current version
24
24
  SECURITY_FRAMEWORK_AVAILABLE = True
25
- except ImportError:
26
- # Fallback for when mcp_security_framework is not available
27
- SECURITY_FRAMEWORK_AVAILABLE = False
28
- SecurityManager = None
29
- SecurityConfig = None
30
- AuthConfig = None
31
- SSLConfig = None
32
- PermissionConfig = None
33
- RateLimitConfig = None
25
+ except ImportError as e:
26
+ # NO FALLBACK! mcp_security_framework is REQUIRED
27
+ raise RuntimeError(
28
+ f"CRITICAL: mcp_security_framework is required but not available: {e}. "
29
+ "Install it with: pip install mcp_security_framework>=1.2.8"
30
+ ) from e
34
31
 
35
32
  from mcp_proxy_adapter.core.logging import get_global_logger
36
33
 
@@ -38,15 +38,12 @@ try:
38
38
  )
39
39
 
40
40
  SECURITY_FRAMEWORK_AVAILABLE = True
41
- except ImportError:
42
- SECURITY_FRAMEWORK_AVAILABLE = False
43
- SecurityManager = None
44
- SecurityConfig = None
45
- AuthManager = None
46
- CertificateManager = None
47
- PermissionManager = None
48
- RateLimiter = None
49
- FastAPISecurityMiddleware = None
41
+ except ImportError as e:
42
+ # NO FALLBACK! mcp_security_framework is REQUIRED
43
+ raise RuntimeError(
44
+ f"CRITICAL: mcp_security_framework is required but not available: {e}. "
45
+ "Install it with: pip install mcp_security_framework>=1.2.8"
46
+ ) from e
50
47
 
51
48
  from mcp_proxy_adapter.core.logging import get_global_logger
52
49
 
@@ -25,13 +25,12 @@ try:
25
25
  )
26
26
 
27
27
  SECURITY_FRAMEWORK_AVAILABLE = True
28
- except ImportError:
29
- SECURITY_FRAMEWORK_AVAILABLE = False
30
- SecurityConfig = None
31
- AuthConfig = None
32
- SSLConfig = None
33
- PermissionConfig = None
34
- RateLimitConfig = None
28
+ except ImportError as e:
29
+ # NO FALLBACK! mcp_security_framework is REQUIRED
30
+ raise RuntimeError(
31
+ f"CRITICAL: mcp_security_framework is required but not available: {e}. "
32
+ "Install it with: pip install mcp_security_framework>=1.2.8"
33
+ ) from e
35
34
 
36
35
  from mcp_proxy_adapter.core.logging import get_global_logger
37
36
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-proxy-adapter
3
- Version: 6.9.26
3
+ Version: 6.9.28
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
@@ -6,7 +6,7 @@ mcp_proxy_adapter/main.py,sha256=FV1p-w_TTgdyfaVII5_VA8EAWnKCMmoR4nezcg2iSZg,104
6
6
  mcp_proxy_adapter/openapi.py,sha256=2UZOI09ZDRJuBYBjKbMyb2U4uASszoCMD5o_4ktRpvg,13480
7
7
  mcp_proxy_adapter/version.py,sha256=cU-yX-PaA0egHOSIRsMZ-BeRuLtW9wgyP4HPVao8arE,75
8
8
  mcp_proxy_adapter/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- mcp_proxy_adapter/api/app.py,sha256=oyEK7GE-t8Dzt3_ZQDgxNAz48D3RscNLrY8syd2SjcA,39242
9
+ mcp_proxy_adapter/api/app.py,sha256=rX76Qnc1QdTQAon8-V1BDQE6DrUjd-ObBu-67Wv-RMs,39158
10
10
  mcp_proxy_adapter/api/handlers.py,sha256=NTZk34hP1US3bvAl0Z0DDrOEQBNk5T7jkt9AatI-5rc,10074
11
11
  mcp_proxy_adapter/api/schemas.py,sha256=mevUvQnYgWQfkJAs3-vq3HalBzh6-Saa-Au1VVf0peE,12377
12
12
  mcp_proxy_adapter/api/tool_integration.py,sha256=cL3phrdQl7UR_OFHV6OVoA0-pUDLov7vlcvIbddhik8,10234
@@ -20,7 +20,7 @@ mcp_proxy_adapter/api/middleware/logging.py,sha256=pqsXbLNJPo2ZRADmsjAkkL7NOD_J9
20
20
  mcp_proxy_adapter/api/middleware/performance.py,sha256=WkE5hVTuq7PV1Bc_tVpmbEaQqTqX7Krjq7bqO6Jc_NQ,2394
21
21
  mcp_proxy_adapter/api/middleware/protocol_middleware.py,sha256=uVQRtqO_CoyXwtoYH3N71mQ5mOWjgHfTyvRD5QfjQgw,9406
22
22
  mcp_proxy_adapter/api/middleware/transport_middleware.py,sha256=cdl0RhIAaZYPU_lrOiwbLI_RHsmWiA2Vt9u2uGPnXWY,4311
23
- mcp_proxy_adapter/api/middleware/unified_security.py,sha256=eieSqHpZkAI0ZgaPURzQ2LHDdlM1FGmU0jXHUvBvM8M,8255
23
+ mcp_proxy_adapter/api/middleware/unified_security.py,sha256=R4IDOjn0yIRa04gYyp9kBTMWFaVcZAVyE1vN_GlzSbA,8370
24
24
  mcp_proxy_adapter/api/middleware/user_info_middleware.py,sha256=ozsBOcuIbrqyfSefFmvkTJW201r6ZJi8M8Gp1eJt2Xo,11348
25
25
  mcp_proxy_adapter/commands/__init__.py,sha256=3BOfAiep__ftpx2hMfwj96vtDFdcVf3P3nm-vZWGohE,1700
26
26
  mcp_proxy_adapter/commands/auth_validation_command.py,sha256=hOzi3oWUYgi6F5rcbb-BVkgVaESLeK84XsTAl6m0XSo,14719
@@ -60,7 +60,7 @@ mcp_proxy_adapter/core/auth_validator.py,sha256=XZuaozJ7bgvS2mmSAYSvythvYGwsQjYH
60
60
  mcp_proxy_adapter/core/certificate_utils.py,sha256=tzF8OOG7wnQ4vZBElN-cGpFbaOyWwzttjuJ9zXeitqM,38831
61
61
  mcp_proxy_adapter/core/client.py,sha256=qIbPl8prEwK2U65kl-vGJW2_imo1E4i6HxG_VpPeWpQ,21168
62
62
  mcp_proxy_adapter/core/client_manager.py,sha256=RIOQqvoefxfjZIDLobnsQW2-_d5iA9wx4n145aIX7NI,9001
63
- mcp_proxy_adapter/core/client_security.py,sha256=xxws0brmT5dEKyL4vEJQZsL4PH_iXdbzsFJqCsf45Bw,13463
63
+ mcp_proxy_adapter/core/client_security.py,sha256=4scrrK7H91ZQponDIQ6sXwGqXrij9uwTf5xjekUOvw0,13603
64
64
  mcp_proxy_adapter/core/config_converter.py,sha256=_aMJPFwKIbMlzLgtpEHBbXp_PgScKMGHGvXnq95GzgA,17654
65
65
  mcp_proxy_adapter/core/config_validator.py,sha256=i0tkmWPPugG5XwQvBGoNuANZwMoHidlFOIhWSezI3QE,59666
66
66
  mcp_proxy_adapter/core/crl_utils.py,sha256=JagcJBkGY-YEmkhRWBDDkfi75wIyBOlf6s7YvXgTiHI,11992
@@ -72,18 +72,18 @@ mcp_proxy_adapter/core/mtls_proxy.py,sha256=f_B_cB0REzHiL2WZQPBCwzQnKAzT5s0qsZ8t
72
72
  mcp_proxy_adapter/core/mtls_server.py,sha256=dhx_KXEmq8lMI2F6XEpoNybGnVzXeuVyR2abJ0_VZkE,10740
73
73
  mcp_proxy_adapter/core/protocol_manager.py,sha256=LzQMxnBfF4UKr1ZTgfK5_KDQEKrHhoJgzw1C-YJjtoQ,15055
74
74
  mcp_proxy_adapter/core/proxy_client.py,sha256=T9rqITYNijAw-yE4wvBe7ABN-LhJjkbIEeK6Rv1iUeA,6100
75
- mcp_proxy_adapter/core/proxy_registration.py,sha256=PCBZOrqPtqGWEW_q7u8CiQ3oHheHvKcQw6CTzbyzKTE,42945
75
+ mcp_proxy_adapter/core/proxy_registration.py,sha256=r426L8iAwUOSodwwKYYu_FMaJdfRvuryxj_eL5X0At0,43141
76
76
  mcp_proxy_adapter/core/role_utils.py,sha256=YwRenGoXI5YrHVbFjKFAH2DJs2miyqhcr9LWF7mxieg,12284
77
- mcp_proxy_adapter/core/security_adapter.py,sha256=ArBYnAKh4HsVAow1Qy17apkgWGn6TSiu4yVfdwXE0lk,13189
77
+ mcp_proxy_adapter/core/security_adapter.py,sha256=28r6b00tluONim6rl6-98Gyu7Uq9Qgwa_ZzoNQFt_4Y,13179
78
78
  mcp_proxy_adapter/core/security_factory.py,sha256=u_WUwnNSTsTFwRV-uwyRufbcUSeOrdZATGs4NEmfNA0,8211
79
- mcp_proxy_adapter/core/security_integration.py,sha256=98nu2pmSLrgRtNpeuLw2gJ-rsrz7j71OFCxuzx0U1Fk,14243
79
+ mcp_proxy_adapter/core/security_integration.py,sha256=rT0Fer2GDhc22ebZf5xcNphsct6zEBZTckhYaB0DQKw,14253
80
80
  mcp_proxy_adapter/core/server_adapter.py,sha256=pncWkCPdnfmwlMZNTW2dYbvsE3GBxypaRrhJsT98364,9911
81
81
  mcp_proxy_adapter/core/server_engine.py,sha256=DXPLQ1-8e4iJWsrUMS3fcI6wM0Qn4AGZwwZWhnJ70kI,9692
82
82
  mcp_proxy_adapter/core/settings.py,sha256=D6cF4R_5gJ0XFGxzXUIzeqe-_muu6HL561TAei9wwZ0,10521
83
83
  mcp_proxy_adapter/core/signal_handler.py,sha256=U3kSojb7F1svFGp2ic0w4v8eSzL7_BbdAMqesUsymhs,5481
84
84
  mcp_proxy_adapter/core/ssl_utils.py,sha256=syvaJ3wnl7-r2D0oDv_trleXPo-xaw1cxSFe6SOpsd0,9654
85
85
  mcp_proxy_adapter/core/transport_manager.py,sha256=CBFsOJZKGnzBrfQgplkxq4KW3krMSkHhVo9S70Z0nIk,9472
86
- mcp_proxy_adapter/core/unified_config_adapter.py,sha256=irUtBkxgr_pDVJGmPcqFxtXfCGWeZsRXJplMaaPuyK8,22890
86
+ mcp_proxy_adapter/core/unified_config_adapter.py,sha256=RVkpU6eTTUXynVqSzejdbvaURHmpXvG7n2__Dt9w6h0,22971
87
87
  mcp_proxy_adapter/core/utils.py,sha256=xWQOW0aM0q4xl8SwByHsMSKZouYEX2jDngET0s2cybk,8110
88
88
  mcp_proxy_adapter/examples/__init__.py,sha256=k1F-EotAFbJ3JvK_rNgiH4bUztmxIWtYn0AfbAZ1ZGs,450
89
89
  mcp_proxy_adapter/examples/bugfix_certificate_config.py,sha256=YGBE_SI6wYZUJLWl7-fP1OWXiSH4mHJAZHApgQWvG7s,10529
@@ -142,8 +142,8 @@ mcp_proxy_adapter/schemas/base_schema.json,sha256=v9G9cGMd4dRhCZsOQ_FMqOi5VFyVbI
142
142
  mcp_proxy_adapter/schemas/openapi_schema.json,sha256=C3yLkwmDsvnLW9B5gnKKdBGl4zxkeU-rEmjTrNVsQU0,8405
143
143
  mcp_proxy_adapter/schemas/roles.json,sha256=pgf_ZyqKyXbfGUxvobpiLiSJz9zzxrMuoVWEkEpz3N8,764
144
144
  mcp_proxy_adapter/schemas/roles_schema.json,sha256=deHgI7L6GwfBXacOlNtDgDJelDThppClC3Ti4Eh8rJY,5659
145
- mcp_proxy_adapter-6.9.26.dist-info/METADATA,sha256=Gam7jMn2H91U3DtecXjxf9OMTWvwZsEz1ompfXnmNmo,8539
146
- mcp_proxy_adapter-6.9.26.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
147
- mcp_proxy_adapter-6.9.26.dist-info/entry_points.txt,sha256=Bf-O5Aq80n22Ayu9fI9BgidzWqwzIVaqextAddTuHZw,563
148
- mcp_proxy_adapter-6.9.26.dist-info/top_level.txt,sha256=JZT7vPLBYrtroX-ij68JBhJYbjDdghcV-DFySRy-Nnw,18
149
- mcp_proxy_adapter-6.9.26.dist-info/RECORD,,
145
+ mcp_proxy_adapter-6.9.28.dist-info/METADATA,sha256=ks_zeL9BFyyf2-u4PEUZsHCyfeWFOYi8oQsvEt5HCcM,8539
146
+ mcp_proxy_adapter-6.9.28.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
147
+ mcp_proxy_adapter-6.9.28.dist-info/entry_points.txt,sha256=Bf-O5Aq80n22Ayu9fI9BgidzWqwzIVaqextAddTuHZw,563
148
+ mcp_proxy_adapter-6.9.28.dist-info/top_level.txt,sha256=JZT7vPLBYrtroX-ij68JBhJYbjDdghcV-DFySRy-Nnw,18
149
+ mcp_proxy_adapter-6.9.28.dist-info/RECORD,,