mcp-proxy-adapter 6.9.0__tar.gz → 6.9.1__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.0 → mcp_proxy_adapter-6.9.1}/PKG-INFO +1 -1
  2. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/config_validator.py +70 -5
  3. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/version.py +1 -1
  4. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/PKG-INFO +1 -1
  5. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/pyproject.toml +1 -1
  6. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/README.md +0 -0
  7. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/__init__.py +0 -0
  8. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/__main__.py +0 -0
  9. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/__init__.py +0 -0
  10. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/app.py +0 -0
  11. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/handlers.py +0 -0
  12. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/__init__.py +0 -0
  13. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/base.py +0 -0
  14. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/command_permission_middleware.py +0 -0
  15. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/error_handling.py +0 -0
  16. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/factory.py +0 -0
  17. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/logging.py +0 -0
  18. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/performance.py +0 -0
  19. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/protocol_middleware.py +0 -0
  20. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/transport_middleware.py +0 -0
  21. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/unified_security.py +0 -0
  22. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/user_info_middleware.py +0 -0
  23. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/schemas.py +0 -0
  24. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/tool_integration.py +0 -0
  25. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/tools.py +0 -0
  26. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/__init__.py +0 -0
  27. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/auth_validation_command.py +0 -0
  28. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/base.py +0 -0
  29. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/builtin_commands.py +0 -0
  30. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/catalog_manager.py +0 -0
  31. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/cert_monitor_command.py +0 -0
  32. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/certificate_management_command.py +0 -0
  33. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/command_registry.py +0 -0
  34. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/config_command.py +0 -0
  35. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/dependency_container.py +0 -0
  36. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/dependency_manager.py +0 -0
  37. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/echo_command.py +0 -0
  38. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/health_command.py +0 -0
  39. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/help_command.py +0 -0
  40. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/hooks.py +0 -0
  41. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/key_management_command.py +0 -0
  42. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/load_command.py +0 -0
  43. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/plugins_command.py +0 -0
  44. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/protocol_management_command.py +0 -0
  45. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/proxy_registration_command.py +0 -0
  46. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/registration_status_command.py +0 -0
  47. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/reload_command.py +0 -0
  48. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/result.py +0 -0
  49. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/role_test_command.py +0 -0
  50. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/roles_management_command.py +0 -0
  51. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/security_command.py +0 -0
  52. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/settings_command.py +0 -0
  53. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/ssl_setup_command.py +0 -0
  54. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/token_management_command.py +0 -0
  55. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/transport_management_command.py +0 -0
  56. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/unload_command.py +0 -0
  57. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/config.py +0 -0
  58. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/__init__.py +0 -0
  59. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/app_factory.py +0 -0
  60. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/app_runner.py +0 -0
  61. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/auth_validator.py +0 -0
  62. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/certificate_utils.py +0 -0
  63. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/client.py +0 -0
  64. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/client_manager.py +0 -0
  65. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/client_security.py +0 -0
  66. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/config_converter.py +0 -0
  67. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/crl_utils.py +0 -0
  68. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/errors.py +0 -0
  69. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/logging.py +0 -0
  70. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/mtls_asgi.py +0 -0
  71. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/mtls_asgi_app.py +0 -0
  72. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/mtls_proxy.py +0 -0
  73. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/mtls_server.py +0 -0
  74. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/protocol_manager.py +0 -0
  75. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/proxy_client.py +0 -0
  76. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/proxy_registration.py +0 -0
  77. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/role_utils.py +0 -0
  78. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/security_adapter.py +0 -0
  79. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/security_factory.py +0 -0
  80. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/security_integration.py +0 -0
  81. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/server_adapter.py +0 -0
  82. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/server_engine.py +0 -0
  83. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/settings.py +0 -0
  84. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/signal_handler.py +0 -0
  85. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/ssl_utils.py +0 -0
  86. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/transport_manager.py +0 -0
  87. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/unified_config_adapter.py +0 -0
  88. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/utils.py +0 -0
  89. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/custom_openapi.py +0 -0
  90. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/__init__.py +0 -0
  91. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/basic_framework/__init__.py +0 -0
  92. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/basic_framework/commands/__init__.py +0 -0
  93. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/basic_framework/hooks/__init__.py +0 -0
  94. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/basic_framework/main.py +0 -0
  95. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/bugfix_certificate_config.py +0 -0
  96. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/cert_manager_bugfix.py +0 -0
  97. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/check_config.py +0 -0
  98. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/commands/__init__.py +0 -0
  99. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/config_builder.py +0 -0
  100. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/config_cli.py +0 -0
  101. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/create_test_configs.py +0 -0
  102. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/debug_request_state.py +0 -0
  103. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/debug_role_chain.py +0 -0
  104. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/demo_client.py +0 -0
  105. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/__init__.py +0 -0
  106. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/commands/__init__.py +0 -0
  107. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py +0 -0
  108. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py +0 -0
  109. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/hooks/__init__.py +0 -0
  110. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py +0 -0
  111. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py +0 -0
  112. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/main.py +0 -0
  113. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/proxy_endpoints.py +0 -0
  114. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/run_mtls.py +0 -0
  115. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/run_simple.py +0 -0
  116. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/test_server.py +0 -0
  117. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/generate_config.py +0 -0
  118. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/proxy_registration_example.py +0 -0
  119. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/required_certificates.py +0 -0
  120. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/run_example.py +0 -0
  121. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/run_full_test_suite.py +0 -0
  122. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/run_proxy_server.py +0 -0
  123. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/run_security_tests_fixed.py +0 -0
  124. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/security_test_client.py +0 -0
  125. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/setup_test_environment.py +0 -0
  126. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/simple_protocol_test.py +0 -0
  127. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_chk_hostname_automated.py +0 -0
  128. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_config.py +0 -0
  129. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_config_builder.py +0 -0
  130. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_examples.py +0 -0
  131. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_framework_complete.py +0 -0
  132. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_mcp_server.py +0 -0
  133. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_protocol_examples.py +0 -0
  134. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/universal_client.py +0 -0
  135. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/update_config_certificates.py +0 -0
  136. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/main.py +0 -0
  137. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/openapi.py +0 -0
  138. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/schemas/base_schema.json +0 -0
  139. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/schemas/openapi_schema.json +0 -0
  140. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/schemas/roles.json +0 -0
  141. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/schemas/roles_schema.json +0 -0
  142. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/SOURCES.txt +0 -0
  143. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/dependency_links.txt +0 -0
  144. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/entry_points.txt +0 -0
  145. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/not-zip-safe +0 -0
  146. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/requires.txt +0 -0
  147. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/top_level.txt +0 -0
  148. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/setup.cfg +0 -0
  149. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/setup.py +0 -0
  150. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_certificate_validation.py +0 -0
  151. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_config_integration.py +0 -0
  152. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_config_validation.py +0 -0
  153. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_config_validation_isolated.py +0 -0
  154. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_direct_import.py +0 -0
  155. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_isolated_validation.py +0 -0
  156. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_no_defaults.py +0 -0
  157. {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/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.0
3
+ Version: 6.9.1
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
@@ -69,7 +69,7 @@ class ConfigValidator:
69
69
  "log_file": str,
70
70
  "error_log_file": str,
71
71
  "access_log_file": str,
72
- "max_file_size": str,
72
+ "max_file_size": (str, int),
73
73
  "backup_count": int,
74
74
  "format": str,
75
75
  "date_format": str,
@@ -251,8 +251,16 @@ class ConfigValidator:
251
251
  return self.validation_results
252
252
 
253
253
  def _validate_required_sections(self) -> None:
254
- """Validate that all required sections and keys are present."""
255
- for section_name, required_keys in self.required_sections.items():
254
+ """Validate that all required sections and keys are present for enabled features only."""
255
+ # Always required sections (core functionality)
256
+ always_required = {
257
+ "server": self.required_sections["server"],
258
+ "logging": self.required_sections["logging"],
259
+ "commands": self.required_sections["commands"]
260
+ }
261
+
262
+ # Check always required sections
263
+ for section_name, required_keys in always_required.items():
256
264
  if section_name not in self.config_data:
257
265
  self.validation_results.append(ValidationResult(
258
266
  level="error",
@@ -273,13 +281,70 @@ class ConfigValidator:
273
281
  else:
274
282
  # Validate type
275
283
  value = section_data[key]
276
- if not isinstance(value, expected_type):
284
+ if isinstance(expected_type, tuple):
285
+ if not isinstance(value, expected_type):
286
+ expected_names = [t.__name__ for t in expected_type]
287
+ self.validation_results.append(ValidationResult(
288
+ level="error",
289
+ message=f"Key '{key}' in section '{section_name}' has wrong type. Expected {' or '.join(expected_names)}, got {type(value).__name__}",
290
+ section=section_name,
291
+ key=key
292
+ ))
293
+ else:
294
+ if not isinstance(value, expected_type):
295
+ self.validation_results.append(ValidationResult(
296
+ level="error",
297
+ message=f"Key '{key}' in section '{section_name}' has wrong type. Expected {expected_type.__name__}, got {type(value).__name__}",
298
+ section=section_name,
299
+ key=key
300
+ ))
301
+
302
+ # Check conditional sections based on feature flags
303
+ for feature_name, feature_config in self.feature_flags.items():
304
+ enabled_key = feature_config["enabled_key"]
305
+ is_enabled = self._get_nested_value(enabled_key, False)
306
+
307
+ if is_enabled and feature_name in self.required_sections:
308
+ section_name = feature_name
309
+ required_keys = self.required_sections[section_name]
310
+
311
+ if section_name not in self.config_data:
312
+ self.validation_results.append(ValidationResult(
313
+ level="error",
314
+ message=f"Required section '{section_name}' is missing for enabled feature",
315
+ section=section_name
316
+ ))
317
+ continue
318
+
319
+ section_data = self.config_data[section_name]
320
+ for key, expected_type in required_keys.items():
321
+ if key not in section_data:
277
322
  self.validation_results.append(ValidationResult(
278
323
  level="error",
279
- message=f"Key '{key}' in section '{section_name}' has wrong type. Expected {expected_type.__name__}, got {type(value).__name__}",
324
+ message=f"Required key '{key}' is missing in section '{section_name}' for enabled feature",
280
325
  section=section_name,
281
326
  key=key
282
327
  ))
328
+ else:
329
+ # Validate type
330
+ value = section_data[key]
331
+ if isinstance(expected_type, tuple):
332
+ if not isinstance(value, expected_type):
333
+ expected_names = [t.__name__ for t in expected_type]
334
+ self.validation_results.append(ValidationResult(
335
+ level="error",
336
+ message=f"Key '{key}' in section '{section_name}' has wrong type. Expected {' or '.join(expected_names)}, got {type(value).__name__}",
337
+ section=section_name,
338
+ key=key
339
+ ))
340
+ else:
341
+ if not isinstance(value, expected_type):
342
+ self.validation_results.append(ValidationResult(
343
+ level="error",
344
+ message=f"Key '{key}' in section '{section_name}' has wrong type. Expected {expected_type.__name__}, got {type(value).__name__}",
345
+ section=section_name,
346
+ key=key
347
+ ))
283
348
 
284
349
  def _validate_feature_flags(self) -> None:
285
350
  """Validate feature flags and their dependencies."""
@@ -2,4 +2,4 @@
2
2
  Version information for MCP Proxy Adapter.
3
3
  """
4
4
 
5
- __version__ = "6.9.0"
5
+ __version__ = "6.9.1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-proxy-adapter
3
- Version: 6.9.0
3
+ Version: 6.9.1
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.0"
7
+ version = "6.9.1"
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"}