mcp-proxy-adapter 6.9.13__tar.gz → 6.9.14__tar.gz

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.
Files changed (157) hide show
  1. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/PKG-INFO +1 -1
  2. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/app_factory.py +58 -34
  3. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/version.py +1 -1
  4. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter.egg-info/PKG-INFO +1 -1
  5. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/pyproject.toml +1 -1
  6. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/README.md +0 -0
  7. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/__init__.py +0 -0
  8. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/__main__.py +0 -0
  9. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/__init__.py +0 -0
  10. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/app.py +0 -0
  11. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/handlers.py +0 -0
  12. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/middleware/__init__.py +0 -0
  13. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/middleware/base.py +0 -0
  14. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/middleware/command_permission_middleware.py +0 -0
  15. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/middleware/error_handling.py +0 -0
  16. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/middleware/factory.py +0 -0
  17. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/middleware/logging.py +0 -0
  18. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/middleware/performance.py +0 -0
  19. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/middleware/protocol_middleware.py +0 -0
  20. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/middleware/transport_middleware.py +0 -0
  21. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/middleware/unified_security.py +0 -0
  22. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/middleware/user_info_middleware.py +0 -0
  23. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/schemas.py +0 -0
  24. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/tool_integration.py +0 -0
  25. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/api/tools.py +0 -0
  26. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/__init__.py +0 -0
  27. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/auth_validation_command.py +0 -0
  28. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/base.py +0 -0
  29. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/builtin_commands.py +0 -0
  30. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/catalog_manager.py +0 -0
  31. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/cert_monitor_command.py +0 -0
  32. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/certificate_management_command.py +0 -0
  33. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/command_registry.py +0 -0
  34. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/config_command.py +0 -0
  35. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/dependency_container.py +0 -0
  36. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/dependency_manager.py +0 -0
  37. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/echo_command.py +0 -0
  38. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/health_command.py +0 -0
  39. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/help_command.py +0 -0
  40. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/hooks.py +0 -0
  41. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/key_management_command.py +0 -0
  42. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/load_command.py +0 -0
  43. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/plugins_command.py +0 -0
  44. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/protocol_management_command.py +0 -0
  45. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/proxy_registration_command.py +0 -0
  46. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/registration_status_command.py +0 -0
  47. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/reload_command.py +0 -0
  48. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/result.py +0 -0
  49. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/role_test_command.py +0 -0
  50. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/roles_management_command.py +0 -0
  51. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/security_command.py +0 -0
  52. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/settings_command.py +0 -0
  53. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/ssl_setup_command.py +0 -0
  54. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/token_management_command.py +0 -0
  55. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/transport_management_command.py +0 -0
  56. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/commands/unload_command.py +0 -0
  57. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/config.py +0 -0
  58. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/__init__.py +0 -0
  59. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/app_runner.py +0 -0
  60. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/auth_validator.py +0 -0
  61. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/certificate_utils.py +0 -0
  62. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/client.py +0 -0
  63. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/client_manager.py +0 -0
  64. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/client_security.py +0 -0
  65. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/config_converter.py +0 -0
  66. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/config_validator.py +0 -0
  67. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/crl_utils.py +0 -0
  68. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/errors.py +0 -0
  69. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/logging.py +0 -0
  70. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/mtls_asgi.py +0 -0
  71. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/mtls_asgi_app.py +0 -0
  72. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/mtls_proxy.py +0 -0
  73. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/mtls_server.py +0 -0
  74. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/protocol_manager.py +0 -0
  75. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/proxy_client.py +0 -0
  76. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/proxy_registration.py +0 -0
  77. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/role_utils.py +0 -0
  78. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/security_adapter.py +0 -0
  79. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/security_factory.py +0 -0
  80. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/security_integration.py +0 -0
  81. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/server_adapter.py +0 -0
  82. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/server_engine.py +0 -0
  83. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/settings.py +0 -0
  84. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/signal_handler.py +0 -0
  85. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/ssl_utils.py +0 -0
  86. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/transport_manager.py +0 -0
  87. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/unified_config_adapter.py +0 -0
  88. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/core/utils.py +0 -0
  89. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/custom_openapi.py +0 -0
  90. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/__init__.py +0 -0
  91. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/basic_framework/__init__.py +0 -0
  92. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/basic_framework/commands/__init__.py +0 -0
  93. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/basic_framework/hooks/__init__.py +0 -0
  94. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/basic_framework/main.py +0 -0
  95. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/bugfix_certificate_config.py +0 -0
  96. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/cert_manager_bugfix.py +0 -0
  97. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/check_config.py +0 -0
  98. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/commands/__init__.py +0 -0
  99. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/config_builder.py +0 -0
  100. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/config_cli.py +0 -0
  101. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/create_test_configs.py +0 -0
  102. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/debug_request_state.py +0 -0
  103. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/debug_role_chain.py +0 -0
  104. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/demo_client.py +0 -0
  105. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/full_application/__init__.py +0 -0
  106. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/full_application/commands/__init__.py +0 -0
  107. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py +0 -0
  108. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py +0 -0
  109. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/full_application/hooks/__init__.py +0 -0
  110. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py +0 -0
  111. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py +0 -0
  112. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/full_application/main.py +0 -0
  113. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/full_application/proxy_endpoints.py +0 -0
  114. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/full_application/run_mtls.py +0 -0
  115. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/full_application/run_simple.py +0 -0
  116. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/full_application/test_server.py +0 -0
  117. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/generate_config.py +0 -0
  118. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/proxy_registration_example.py +0 -0
  119. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/required_certificates.py +0 -0
  120. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/run_example.py +0 -0
  121. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/run_full_test_suite.py +0 -0
  122. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/run_proxy_server.py +0 -0
  123. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/run_security_tests_fixed.py +0 -0
  124. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/security_test_client.py +0 -0
  125. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/setup_test_environment.py +0 -0
  126. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/simple_protocol_test.py +0 -0
  127. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/test_chk_hostname_automated.py +0 -0
  128. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/test_config.py +0 -0
  129. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/test_config_builder.py +0 -0
  130. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/test_examples.py +0 -0
  131. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/test_framework_complete.py +0 -0
  132. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/test_mcp_server.py +0 -0
  133. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/test_protocol_examples.py +0 -0
  134. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/universal_client.py +0 -0
  135. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/examples/update_config_certificates.py +0 -0
  136. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/main.py +0 -0
  137. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/openapi.py +0 -0
  138. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/schemas/base_schema.json +0 -0
  139. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/schemas/openapi_schema.json +0 -0
  140. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/schemas/roles.json +0 -0
  141. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter/schemas/roles_schema.json +0 -0
  142. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter.egg-info/SOURCES.txt +0 -0
  143. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter.egg-info/dependency_links.txt +0 -0
  144. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter.egg-info/entry_points.txt +0 -0
  145. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter.egg-info/not-zip-safe +0 -0
  146. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter.egg-info/requires.txt +0 -0
  147. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/mcp_proxy_adapter.egg-info/top_level.txt +0 -0
  148. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/setup.cfg +0 -0
  149. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/setup.py +0 -0
  150. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/tests/test_certificate_validation.py +0 -0
  151. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/tests/test_config_integration.py +0 -0
  152. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/tests/test_config_validation.py +0 -0
  153. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/tests/test_config_validation_isolated.py +0 -0
  154. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/tests/test_direct_import.py +0 -0
  155. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/tests/test_isolated_validation.py +0 -0
  156. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/tests/test_no_defaults.py +0 -0
  157. {mcp_proxy_adapter-6.9.13 → mcp_proxy_adapter-6.9.14}/tests/test_simple_validation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-proxy-adapter
3
- Version: 6.9.13
3
+ Version: 6.9.14
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
@@ -85,10 +85,13 @@ async def create_and_run_server(
85
85
  # Validate UUID configuration (mandatory)
86
86
  from mcp_proxy_adapter.core.config_validator import ConfigValidator
87
87
 
88
- validator = ConfigValidator(app_config)
89
- if not validator.validate_all():
88
+ validator = ConfigValidator()
89
+ validator.config_data = app_config
90
+ validation_results = validator.validate_config()
91
+ errors = [r for r in validation_results if r.level == "error"]
92
+ if errors:
90
93
  print("❌ Configuration validation failed:")
91
- for error in validator.get_errors():
94
+ for error in errors:
92
95
  print(f" - {error}")
93
96
  sys.exit(1)
94
97
  print("✅ Configuration validation passed")
@@ -118,8 +121,8 @@ async def create_and_run_server(
118
121
  print(f"🔍 Debug: No root SSL section after loading")
119
122
 
120
123
  # Debug: Check app_config immediately after get_all()
121
- if app_config and "security" in app_config:
122
- ssl_config = app_config["security"].get("ssl", {})
124
+ if app_config and "ssl" in app_config:
125
+ ssl_config = app_config["ssl"]
123
126
  print(
124
127
  f"🔍 Debug: app_config after get_all(): SSL enabled={ssl_config.get('enabled', False)}"
125
128
  )
@@ -130,35 +133,56 @@ async def create_and_run_server(
130
133
  f"🔍 Debug: app_config after get_all(): SSL key_file={ssl_config.get('key_file')}"
131
134
  )
132
135
 
133
- # Debug: Check SSL configuration after loading
134
- if app_config and "security" in app_config:
135
- ssl_config = app_config["security"].get("ssl", {})
136
- print(
137
- f"🔍 Debug: SSL config after loading: enabled={ssl_config.get('enabled', False)}"
138
- )
139
- print(
140
- f"🔍 Debug: SSL config after loading: cert_file={ssl_config.get('cert_file')}"
141
- )
142
- print(
143
- f"🔍 Debug: SSL config after loading: key_file={ssl_config.get('key_file')}"
144
- )
145
-
146
- # Debug: Check if SSL config is correct
147
- if ssl_config.get("enabled", False):
148
- print(f"🔍 Debug: SSL config is enabled and correct")
149
- else:
150
- print(f"🔍 Debug: SSL config is disabled or incorrect")
151
- # Try to get SSL config from root level
152
- root_ssl = app_config.get("ssl", {})
153
- print(
154
- f"🔍 Debug: Root SSL config: enabled={root_ssl.get('enabled', False)}"
155
- )
156
- print(
157
- f"🔍 Debug: Root SSL config: cert_file={root_ssl.get('cert_file')}"
136
+ # CRITICAL: Validate SSL configuration - NO FALLBACKS!
137
+ if app_config and "ssl" in app_config:
138
+ ssl_config = app_config["ssl"]
139
+ ssl_enabled = ssl_config.get('enabled', False)
140
+ protocol = app_config.get("server", {}).get("protocol", "http")
141
+
142
+ print(f"🔍 Debug: SSL enabled={ssl_enabled}, protocol={protocol}")
143
+
144
+ # CRITICAL CHECK: If SSL is enabled, protocol MUST be https or mtls
145
+ if ssl_enabled and protocol not in ["https", "mtls"]:
146
+ raise ValueError(
147
+ f"CRITICAL CONFIG ERROR: SSL is enabled but protocol is '{protocol}'. "
148
+ f"Protocol MUST be 'https' or 'mtls' when SSL is enabled. "
149
+ f"Fix your configuration file."
158
150
  )
159
- print(
160
- f"🔍 Debug: Root SSL config: key_file={root_ssl.get('key_file')}"
151
+
152
+ # CRITICAL CHECK: If protocol is https/mtls, SSL MUST be enabled
153
+ if protocol in ["https", "mtls"] and not ssl_enabled:
154
+ raise ValueError(
155
+ f"CRITICAL CONFIG ERROR: Protocol is '{protocol}' but SSL is disabled. "
156
+ f"SSL MUST be enabled when protocol is 'https' or 'mtls'. "
157
+ f"Fix your configuration file."
161
158
  )
159
+
160
+ # CRITICAL CHECK: If SSL is enabled, cert and key files MUST exist
161
+ if ssl_enabled:
162
+ cert_file = ssl_config.get('cert_file')
163
+ key_file = ssl_config.get('key_file')
164
+
165
+ if not cert_file or not key_file:
166
+ raise ValueError(
167
+ f"CRITICAL CONFIG ERROR: SSL is enabled but cert_file or key_file is missing. "
168
+ f"cert_file={cert_file}, key_file={key_file}. "
169
+ f"Fix your configuration file."
170
+ )
171
+
172
+ from pathlib import Path
173
+ if not Path(cert_file).exists():
174
+ raise ValueError(
175
+ f"CRITICAL CONFIG ERROR: SSL certificate file does not exist: {cert_file}. "
176
+ f"Fix your configuration file or create the certificate."
177
+ )
178
+
179
+ if not Path(key_file).exists():
180
+ raise ValueError(
181
+ f"CRITICAL CONFIG ERROR: SSL key file does not exist: {key_file}. "
182
+ f"Fix your configuration file or create the key."
183
+ )
184
+
185
+ print(f"✅ SSL configuration validated: cert={cert_file}, key={key_file}")
162
186
 
163
187
  # Validate security framework configuration only if enabled
164
188
  security_config = app_config.get("security", {})
@@ -169,7 +193,7 @@ async def create_and_run_server(
169
193
  print(f"🔒 Security framework: {framework}")
170
194
 
171
195
  # Debug: Check SSL config before validation
172
- ssl_config = security_config.get("ssl", {})
196
+ ssl_config = app_config.get("ssl", {})
173
197
  print(
174
198
  f"🔍 Debug: SSL config before validation: enabled={ssl_config.get('enabled', False)}"
175
199
  )
@@ -183,7 +207,7 @@ async def create_and_run_server(
183
207
  validation_result = adapter.validate_configuration(app_config)
184
208
 
185
209
  # Debug: Check SSL config after validation
186
- ssl_config = app_config.get("security", {}).get("ssl", {})
210
+ ssl_config = app_config.get("ssl", {})
187
211
  print(
188
212
  f"🔍 Debug: SSL config after validation: enabled={ssl_config.get('enabled', False)}"
189
213
  )
@@ -2,4 +2,4 @@
2
2
  Version information for MCP Proxy Adapter.
3
3
  """
4
4
 
5
- __version__ = "6.9.13"
5
+ __version__ = "6.9.14"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-proxy-adapter
3
- Version: 6.9.13
3
+ Version: 6.9.14
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 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mcp-proxy-adapter"
7
- version = "6.9.13"
7
+ version = "6.9.14"
8
8
  description = "Powerful JSON-RPC microservices framework with built-in security, authentication, and proxy registration"
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}