mcp-proxy-adapter 6.3.16__py3-none-any.whl → 6.3.19__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.
@@ -29,19 +29,29 @@ class BaseMiddleware(BaseHTTPMiddleware):
29
29
  Returns:
30
30
  Response.
31
31
  """
32
+ middleware_name = self.__class__.__name__
33
+ logger.debug(f"🔍 {middleware_name}.dispatch START - {request.method} {request.url.path}")
34
+
32
35
  try:
33
36
  # Process request before calling the main handler
37
+ logger.debug(f"🔍 {middleware_name}.before_request START")
34
38
  await self.before_request(request)
39
+ logger.debug(f"🔍 {middleware_name}.before_request COMPLETED")
35
40
 
36
41
  # Call the next middleware or main handler
42
+ logger.debug(f"🔍 {middleware_name}.call_next START")
37
43
  response = await call_next(request)
44
+ logger.debug(f"🔍 {middleware_name}.call_next COMPLETED - Status: {response.status_code}")
38
45
 
39
46
  # Process response after calling the main handler
47
+ logger.debug(f"🔍 {middleware_name}.after_response START")
40
48
  response = await self.after_response(request, response)
49
+ logger.debug(f"🔍 {middleware_name}.after_response COMPLETED")
41
50
 
51
+ logger.debug(f"🔍 {middleware_name}.dispatch COMPLETED SUCCESSFULLY")
42
52
  return response
43
53
  except Exception as e:
44
- logger.exception(f"Error in middleware: {str(e)}")
54
+ logger.error(f" {middleware_name}.dispatch ERROR: {str(e)}", exc_info=True)
45
55
  # If an error occurred, call the error handler
46
56
  return await self.handle_error(request, e)
47
57
 
@@ -44,9 +44,13 @@ class ErrorHandlingMiddleware(BaseMiddleware):
44
44
  Returns:
45
45
  Response.
46
46
  """
47
+ logger.debug(f"🔍 ErrorHandlingMiddleware.dispatch START - {request.method} {request.url.path}")
47
48
  try:
48
49
  # Call the next middleware or main handler
49
- return await call_next(request)
50
+ logger.debug(f"🔍 ErrorHandlingMiddleware - About to call next handler")
51
+ response = await call_next(request)
52
+ logger.debug(f"🔍 ErrorHandlingMiddleware - Next handler completed with status: {response.status_code}")
53
+ return response
50
54
 
51
55
  except CommandError as e:
52
56
  # Command error
@@ -42,9 +42,12 @@ class LoggingMiddleware(BaseMiddleware):
42
42
  Returns:
43
43
  Response.
44
44
  """
45
+ logger.debug(f"🔍 LoggingMiddleware.dispatch START - {request.method} {request.url.path}")
46
+
45
47
  # Generate unique ID for request
46
48
  request_id = str(uuid.uuid4())
47
49
  request.state.request_id = request_id
50
+ logger.debug(f"🔍 LoggingMiddleware - Generated request ID: {request_id}")
48
51
 
49
52
  # Create context logger for this request
50
53
  req_logger = RequestLogger("mcp_proxy_adapter.api.middleware", request_id)
@@ -98,7 +101,9 @@ class LoggingMiddleware(BaseMiddleware):
98
101
 
99
102
  # Call the next middleware or main handler
100
103
  try:
104
+ logger.debug(f"🔍 LoggingMiddleware - About to call next handler")
101
105
  response = await call_next(request)
106
+ logger.debug(f"🔍 LoggingMiddleware - Next handler completed with status: {response.status_code}")
102
107
 
103
108
  # Log request completion
104
109
  process_time = time.time() - start_time
@@ -69,8 +69,13 @@ class UserInfoMiddleware(BaseHTTPMiddleware):
69
69
  # Initialize PermissionManager only if permissions are enabled
70
70
  if permissions_enabled:
71
71
  # Create PermissionConfig for mcp_security_framework
72
+ roles_file = permissions_config.get("roles_file")
73
+ if roles_file is None:
74
+ logger.warning("⚠️ Permissions enabled but no roles_file specified, using default configuration")
75
+ roles_file = None
76
+
72
77
  mcp_permission_config = PermissionConfig(
73
- roles_file=permissions_config.get("roles_file"),
78
+ roles_file=roles_file,
74
79
  default_role=permissions_config.get("default_role", "guest"),
75
80
  admin_role=permissions_config.get("admin_role", "admin"),
76
81
  role_hierarchy=permissions_config.get("role_hierarchy", {}),
@@ -135,8 +140,14 @@ class UserInfoMiddleware(BaseHTTPMiddleware):
135
140
  Returns:
136
141
  Response object
137
142
  """
143
+ logger.debug(f"🔍 UserInfoMiddleware.dispatch START - {request.method} {request.url.path}")
144
+ logger.debug(f"🔍 UserInfoMiddleware - Headers: {dict(request.headers)}")
145
+ logger.debug(f"🔍 UserInfoMiddleware - AuthManager available: {self.auth_manager is not None}")
146
+ logger.debug(f"🔍 UserInfoMiddleware - Security available: {self._security_available}")
147
+
138
148
  # Extract API key from headers
139
149
  api_key = request.headers.get("X-API-Key")
150
+ logger.debug(f"🔍 UserInfoMiddleware - API Key: {api_key[:8] + '...' if api_key else 'None'}")
140
151
  if api_key:
141
152
  if self.auth_manager and self._security_available:
142
153
  try:
@@ -225,4 +236,7 @@ class UserInfoMiddleware(BaseHTTPMiddleware):
225
236
  }
226
237
  logger.debug("ℹ️ No API key provided, using guest access")
227
238
 
228
- return await call_next(request)
239
+ logger.debug(f"🔍 UserInfoMiddleware - About to call next handler")
240
+ response = await call_next(request)
241
+ logger.debug(f"🔍 UserInfoMiddleware - Next handler completed with status: {response.status_code}")
242
+ return response
@@ -701,8 +701,11 @@ class CommandRegistry:
701
701
  try:
702
702
  from mcp_proxy_adapter.core.protocol_manager import protocol_manager
703
703
 
704
- protocol_manager.reload_config()
705
- logger.info("✅ Protocol manager configuration reloaded")
704
+ if protocol_manager is not None:
705
+ protocol_manager.reload_config()
706
+ logger.info("✅ Protocol manager configuration reloaded")
707
+ else:
708
+ logger.debug("ℹ️ Protocol manager is None, skipping reload")
706
709
  except Exception as e:
707
710
  logger.error(f"❌ Failed to reload protocol manager: {e}")
708
711
 
mcp_proxy_adapter/main.py CHANGED
@@ -57,8 +57,16 @@ def main():
57
57
  ssl_enabled = config.get("ssl.enabled", False)
58
58
  ssl_cert_file = config.get("ssl.cert_file")
59
59
  ssl_key_file = config.get("ssl.key_file")
60
- ssl_ca_cert = config.get("ssl.ca_cert")
60
+ ssl_ca_cert = config.get("ssl.ca_cert_file")
61
61
  verify_client = config.get("ssl.verify_client", False)
62
+
63
+ # Debug SSL configuration
64
+ print(f"🔍 Debug SSL config:")
65
+ print(f" ssl_enabled: {ssl_enabled}")
66
+ print(f" ssl_cert_file: {ssl_cert_file}")
67
+ print(f" ssl_key_file: {ssl_key_file}")
68
+ print(f" ssl_ca_cert: {ssl_ca_cert}")
69
+ print(f" verify_client: {verify_client}")
62
70
 
63
71
  print(f"🚀 Starting MCP Proxy Adapter")
64
72
  print(f"🌐 Server: {host}:{port}")
@@ -2,4 +2,4 @@
2
2
  Version information for MCP Proxy Adapter.
3
3
  """
4
4
 
5
- __version__ = "6.3.16"
5
+ __version__ = "6.3.19"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-proxy-adapter
3
- Version: 6.3.16
3
+ Version: 6.3.19
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
@@ -2,9 +2,9 @@ mcp_proxy_adapter/__init__.py,sha256=iH0EBBsRj_cfZJpAIsgN_8tTdfefhnl6uUKHjLHhWDQ
2
2
  mcp_proxy_adapter/__main__.py,sha256=sq3tANRuTd18euamt0Bmn1sJeAyzXENZ5VvsMwbrDFA,579
3
3
  mcp_proxy_adapter/config.py,sha256=-7iVS0mUWWKNeao7nqTAFlUD6FcMwRlDkchN7OwYsr0,21662
4
4
  mcp_proxy_adapter/custom_openapi.py,sha256=yLle4CntYK9wpivgn9NflZyJhy-YNrmWjJzt0ai5nP0,14672
5
- mcp_proxy_adapter/main.py,sha256=qDkQTXnCvf8u0I3b8PRrguOoVdjd8YRr90ZooOqeOto,3401
5
+ mcp_proxy_adapter/main.py,sha256=DyfMp0d5FtkzgFQUOPWr8D5UDolL1uVElePJq_OX7qI,3708
6
6
  mcp_proxy_adapter/openapi.py,sha256=2UZOI09ZDRJuBYBjKbMyb2U4uASszoCMD5o_4ktRpvg,13480
7
- mcp_proxy_adapter/version.py,sha256=pf4_y_pbHzVAUiMXhbiLW3FJHLCg0pslVHNa-MDrJkE,75
7
+ mcp_proxy_adapter/version.py,sha256=BrRQJcOxuXZvaP02Gz-lQhDi0GkS5-ZuTR7LsWCSPkY,75
8
8
  mcp_proxy_adapter/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  mcp_proxy_adapter/api/app.py,sha256=22NIDGo6pGkOZnvBWeKv_-RIRye4YaYkIskVGIsCCMs,28600
10
10
  mcp_proxy_adapter/api/handlers.py,sha256=iyFGoEuUS1wxbV1ELA0zmaxIyQR7j4zw-4MrD-uIO6E,8294
@@ -12,16 +12,16 @@ mcp_proxy_adapter/api/schemas.py,sha256=mevUvQnYgWQfkJAs3-vq3HalBzh6-Saa-Au1VVf0
12
12
  mcp_proxy_adapter/api/tool_integration.py,sha256=AeUyvJVN-c3FrX5fHdagHL51saRH5d1ZKqc2YEx0rTE,10147
13
13
  mcp_proxy_adapter/api/tools.py,sha256=nDQkxwgn11e1tR7kNfdYWsLAUogKmkEv8cVOYUtOq9U,8025
14
14
  mcp_proxy_adapter/api/middleware/__init__.py,sha256=0E3gJ8kRWdlSIbtkuG68pInE-FsOnLj67hTcvN9jJqE,2168
15
- mcp_proxy_adapter/api/middleware/base.py,sha256=if3X_o21GSzl_fqgtHAmcIdP0Dfo0-ksjTYZAVA3Y24,2177
15
+ mcp_proxy_adapter/api/middleware/base.py,sha256=x5vaekh0grLkgSOCQWSytS47Nyagl-Powvb0uk_bKqg,2922
16
16
  mcp_proxy_adapter/api/middleware/command_permission_middleware.py,sha256=dIzcvUDaO3etAM8xXVKza4tiakplppe8fTKuV36NaXU,4936
17
- mcp_proxy_adapter/api/middleware/error_handling.py,sha256=i3oghY1VdjHppFa7bTIx87weubD0T-mXfebJ97xQa_U,6522
17
+ mcp_proxy_adapter/api/middleware/error_handling.py,sha256=bXui9rUn4Gem3PoXuxldSBUpaCoXtCH6gUPD6Th94BY,6867
18
18
  mcp_proxy_adapter/api/middleware/factory.py,sha256=r0BXntUOxF6DiCVqqmAUb3JjargdR28aj2d9X5z-zX4,7987
19
- mcp_proxy_adapter/api/middleware/logging.py,sha256=AGv9lqfkTOCVJxYKflLghe1cd4kVPMLO1ni5E2FQBlk,4840
19
+ mcp_proxy_adapter/api/middleware/logging.py,sha256=iME87hrbvyTjI-RJro5Cwao7VlHUIuWubpVUabv-s1M,5229
20
20
  mcp_proxy_adapter/api/middleware/performance.py,sha256=-EvA7YIcTlxn8RuxlWlScJvX2EIoeEp3P5dKVWZHYRY,2357
21
21
  mcp_proxy_adapter/api/middleware/protocol_middleware.py,sha256=zm-Q0KnCzbAB3ue8dwnEkb-OyCuIbqu01s2_GE2rtH0,11094
22
22
  mcp_proxy_adapter/api/middleware/transport_middleware.py,sha256=VG1rWyuh-O2pdc0kQ3SADFvyh286o5Wrnkt8OFQ0WQw,4274
23
23
  mcp_proxy_adapter/api/middleware/unified_security.py,sha256=PMbJxVzGNlb-IPAqvIeEo1st-jykYX9Mns6lXIfdtAE,7764
24
- mcp_proxy_adapter/api/middleware/user_info_middleware.py,sha256=A3liNzkZWDDlkDSBBoz8lH9fTLKlOQc_oI_M_dIGHx4,9330
24
+ mcp_proxy_adapter/api/middleware/user_info_middleware.py,sha256=94oItW3uyNhLvp6p1Sl7EhY_gC4MqrbR9KyAJWreTwk,10326
25
25
  mcp_proxy_adapter/commands/__init__.py,sha256=eStfu2UrLfMvMTY6x20GD8sMPmPB1so-0QZQYV53nqo,1565
26
26
  mcp_proxy_adapter/commands/auth_validation_command.py,sha256=p4UrAaHyoCxMy98G1BUUlFJWjoelEJzX3OAWIiQaGls,14593
27
27
  mcp_proxy_adapter/commands/base.py,sha256=0_hu8t89-2vWBPFpEMokr27A-IifKI32rkQwZfc2Grk,15162
@@ -29,7 +29,7 @@ mcp_proxy_adapter/commands/builtin_commands.py,sha256=8kYLWIr4JvhZtqaVM9Jhqr_-yS
29
29
  mcp_proxy_adapter/commands/catalog_manager.py,sha256=1DLvjt9RVMmeNZyynd-frk8gYkdgGJYyBXg6uWTJ16k,34873
30
30
  mcp_proxy_adapter/commands/cert_monitor_command.py,sha256=phSms8EYOn1RqSp7na6jw0S1bLRrilmYZIFXVepVFyU,23687
31
31
  mcp_proxy_adapter/commands/certificate_management_command.py,sha256=TDoGV2mnEz1HaJiHsxAO_IvtSinVwp0s_av5oIgmRqk,23225
32
- mcp_proxy_adapter/commands/command_registry.py,sha256=JBtxkNrJZj9CYhRV5kYx6XbABwoaJbhVVtENCMh0jRs,35136
32
+ mcp_proxy_adapter/commands/command_registry.py,sha256=abQPOAzS_zIj4SPsOxsZeQS9pjLxyzlMUt9kI_AYT7E,35288
33
33
  mcp_proxy_adapter/commands/config_command.py,sha256=PWX1OhKAmjlc8CSy4-sImdvGeSNgDNyv30Y-P5iZp9g,3767
34
34
  mcp_proxy_adapter/commands/dependency_container.py,sha256=mvPob62lQ-mKRbAA9aL3L5gOT9_4V2Vy2cGoup2S840,3239
35
35
  mcp_proxy_adapter/commands/dependency_manager.py,sha256=JWdmQ0de6rQAv8GYDToFIlpomBBXqT61XMygWcggYSQ,7366
@@ -137,8 +137,8 @@ mcp_proxy_adapter/schemas/base_schema.json,sha256=v9G9cGMd4dRhCZsOQ_FMqOi5VFyVbI
137
137
  mcp_proxy_adapter/schemas/openapi_schema.json,sha256=C3yLkwmDsvnLW9B5gnKKdBGl4zxkeU-rEmjTrNVsQU0,8405
138
138
  mcp_proxy_adapter/utils/config_generator.py,sha256=UXxuxxAyKTesAS3DOofQ26e20v771inA7EfBV8PZD1c,47543
139
139
  mcp_proxy_adapter_issue_package/demonstrate_issue.py,sha256=O54fwWQvUAjEGiHhQGm1JLnARkhVCwAqjBk_89HyRbY,7894
140
- mcp_proxy_adapter-6.3.16.dist-info/METADATA,sha256=MbTaIC1gffjPJw8WnlLRi2EbvWVGCZy_2xQOCsgyw9E,22266
141
- mcp_proxy_adapter-6.3.16.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
142
- mcp_proxy_adapter-6.3.16.dist-info/entry_points.txt,sha256=J3eV6ID0lt_VSp4lIdIgBFTqLCThgObNNxRCbyfiMHw,70
143
- mcp_proxy_adapter-6.3.16.dist-info/top_level.txt,sha256=CHk-Mc-AxjO-tRheegA2qLiQnU4vZRnxuTF81So6SAc,50
144
- mcp_proxy_adapter-6.3.16.dist-info/RECORD,,
140
+ mcp_proxy_adapter-6.3.19.dist-info/METADATA,sha256=cylcyMn4jKDHTTwhSJmEvmYKV1immuvobVB-CAYPRIY,22266
141
+ mcp_proxy_adapter-6.3.19.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
142
+ mcp_proxy_adapter-6.3.19.dist-info/entry_points.txt,sha256=J3eV6ID0lt_VSp4lIdIgBFTqLCThgObNNxRCbyfiMHw,70
143
+ mcp_proxy_adapter-6.3.19.dist-info/top_level.txt,sha256=CHk-Mc-AxjO-tRheegA2qLiQnU4vZRnxuTF81So6SAc,50
144
+ mcp_proxy_adapter-6.3.19.dist-info/RECORD,,