mcp-proxy-adapter 6.9.16__tar.gz → 6.9.17__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 (159) hide show
  1. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/PKG-INFO +1 -1
  2. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/app.py +5 -3
  3. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/command_registry.py +22 -15
  4. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/app_factory.py +1 -1
  5. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/run_proxy_server.py +20 -10
  6. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/version.py +1 -1
  7. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter.egg-info/PKG-INFO +1 -1
  8. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/pyproject.toml +1 -1
  9. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/README.md +0 -0
  10. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/__init__.py +0 -0
  11. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/__main__.py +0 -0
  12. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/__init__.py +0 -0
  13. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/handlers.py +0 -0
  14. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/middleware/__init__.py +0 -0
  15. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/middleware/base.py +0 -0
  16. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/middleware/command_permission_middleware.py +0 -0
  17. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/middleware/error_handling.py +0 -0
  18. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/middleware/factory.py +0 -0
  19. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/middleware/logging.py +0 -0
  20. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/middleware/performance.py +0 -0
  21. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/middleware/protocol_middleware.py +0 -0
  22. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/middleware/transport_middleware.py +0 -0
  23. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/middleware/unified_security.py +0 -0
  24. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/middleware/user_info_middleware.py +0 -0
  25. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/schemas.py +0 -0
  26. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/tool_integration.py +0 -0
  27. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/api/tools.py +0 -0
  28. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/__init__.py +0 -0
  29. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/auth_validation_command.py +0 -0
  30. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/base.py +0 -0
  31. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/builtin_commands.py +0 -0
  32. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/catalog_manager.py +0 -0
  33. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/cert_monitor_command.py +0 -0
  34. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/certificate_management_command.py +0 -0
  35. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/config_command.py +0 -0
  36. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/dependency_container.py +0 -0
  37. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/dependency_manager.py +0 -0
  38. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/echo_command.py +0 -0
  39. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/health_command.py +0 -0
  40. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/help_command.py +0 -0
  41. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/hooks.py +0 -0
  42. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/key_management_command.py +0 -0
  43. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/load_command.py +0 -0
  44. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/plugins_command.py +0 -0
  45. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/protocol_management_command.py +0 -0
  46. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/proxy_registration_command.py +0 -0
  47. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/registration_status_command.py +0 -0
  48. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/reload_command.py +0 -0
  49. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/result.py +0 -0
  50. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/role_test_command.py +0 -0
  51. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/roles_management_command.py +0 -0
  52. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/security_command.py +0 -0
  53. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/settings_command.py +0 -0
  54. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/ssl_setup_command.py +0 -0
  55. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/token_management_command.py +0 -0
  56. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/transport_management_command.py +0 -0
  57. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/commands/unload_command.py +0 -0
  58. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/config.py +0 -0
  59. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/__init__.py +0 -0
  60. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/app_runner.py +0 -0
  61. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/auth_validator.py +0 -0
  62. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/certificate_utils.py +0 -0
  63. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/client.py +0 -0
  64. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/client_manager.py +0 -0
  65. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/client_security.py +0 -0
  66. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/config_converter.py +0 -0
  67. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/config_validator.py +0 -0
  68. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/crl_utils.py +0 -0
  69. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/errors.py +0 -0
  70. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/logging.py +0 -0
  71. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/mtls_asgi.py +0 -0
  72. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/mtls_asgi_app.py +0 -0
  73. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/mtls_proxy.py +0 -0
  74. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/mtls_server.py +0 -0
  75. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/protocol_manager.py +0 -0
  76. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/proxy_client.py +0 -0
  77. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/proxy_registration.py +0 -0
  78. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/role_utils.py +0 -0
  79. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/security_adapter.py +0 -0
  80. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/security_factory.py +0 -0
  81. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/security_integration.py +0 -0
  82. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/server_adapter.py +0 -0
  83. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/server_engine.py +0 -0
  84. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/settings.py +0 -0
  85. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/signal_handler.py +0 -0
  86. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/ssl_utils.py +0 -0
  87. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/transport_manager.py +0 -0
  88. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/unified_config_adapter.py +0 -0
  89. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/core/utils.py +0 -0
  90. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/custom_openapi.py +0 -0
  91. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/__init__.py +0 -0
  92. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/basic_framework/__init__.py +0 -0
  93. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/basic_framework/commands/__init__.py +0 -0
  94. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/basic_framework/hooks/__init__.py +0 -0
  95. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/basic_framework/main.py +0 -0
  96. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/bugfix_certificate_config.py +0 -0
  97. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/cert_manager_bugfix.py +0 -0
  98. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/check_config.py +0 -0
  99. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/commands/__init__.py +0 -0
  100. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/config_builder.py +0 -0
  101. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/config_cli.py +0 -0
  102. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/create_test_configs.py +0 -0
  103. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/debug_request_state.py +0 -0
  104. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/debug_role_chain.py +0 -0
  105. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/demo_client.py +0 -0
  106. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/__init__.py +0 -0
  107. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/commands/__init__.py +0 -0
  108. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py +0 -0
  109. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py +0 -0
  110. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/hooks/__init__.py +0 -0
  111. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py +0 -0
  112. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py +0 -0
  113. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/main.py +0 -0
  114. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/proxy_endpoints.py +0 -0
  115. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/run_mtls.py +0 -0
  116. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/run_simple.py +0 -0
  117. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/test_minimal_server.py +0 -0
  118. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/test_server.py +0 -0
  119. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/full_application/test_simple_server.py +0 -0
  120. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/generate_config.py +0 -0
  121. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/proxy_registration_example.py +0 -0
  122. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/required_certificates.py +0 -0
  123. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/run_example.py +0 -0
  124. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/run_full_test_suite.py +0 -0
  125. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/run_security_tests_fixed.py +0 -0
  126. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/security_test_client.py +0 -0
  127. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/setup_test_environment.py +0 -0
  128. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/simple_protocol_test.py +0 -0
  129. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/test_chk_hostname_automated.py +0 -0
  130. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/test_config.py +0 -0
  131. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/test_config_builder.py +0 -0
  132. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/test_examples.py +0 -0
  133. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/test_framework_complete.py +0 -0
  134. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/test_mcp_server.py +0 -0
  135. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/test_protocol_examples.py +0 -0
  136. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/universal_client.py +0 -0
  137. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/examples/update_config_certificates.py +0 -0
  138. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/main.py +0 -0
  139. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/openapi.py +0 -0
  140. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/schemas/base_schema.json +0 -0
  141. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/schemas/openapi_schema.json +0 -0
  142. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/schemas/roles.json +0 -0
  143. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter/schemas/roles_schema.json +0 -0
  144. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter.egg-info/SOURCES.txt +0 -0
  145. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter.egg-info/dependency_links.txt +0 -0
  146. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter.egg-info/entry_points.txt +0 -0
  147. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter.egg-info/not-zip-safe +0 -0
  148. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter.egg-info/requires.txt +0 -0
  149. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/mcp_proxy_adapter.egg-info/top_level.txt +0 -0
  150. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/setup.cfg +0 -0
  151. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/setup.py +0 -0
  152. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/tests/test_certificate_validation.py +0 -0
  153. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/tests/test_config_integration.py +0 -0
  154. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/tests/test_config_validation.py +0 -0
  155. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/tests/test_config_validation_isolated.py +0 -0
  156. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/tests/test_direct_import.py +0 -0
  157. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/tests/test_isolated_validation.py +0 -0
  158. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/tests/test_no_defaults.py +0 -0
  159. {mcp_proxy_adapter-6.9.16 → mcp_proxy_adapter-6.9.17}/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.16
3
+ Version: 6.9.17
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
@@ -187,7 +187,7 @@ def create_lifespan(config_path: Optional[str] = None, current_config: Optional[
187
187
  )
188
188
 
189
189
  # Initialize proxy registration
190
- initialize_proxy_registration()
190
+ initialize_proxy_registration(config_to_use)
191
191
  logger.info(
192
192
  "🔍 Initialized proxy registration with server_url: %s",
193
193
  early_server_url,
@@ -221,7 +221,7 @@ def create_lifespan(config_path: Optional[str] = None, current_config: Optional[
221
221
 
222
222
  # Recompute registration URL AFTER config reload using final config
223
223
  try:
224
- final_config = config.get_all()
224
+ final_config = config_to_use # config_to_use is already a dict
225
225
  server_config = final_config.get("server", {})
226
226
  server_host = server_config.get("host", "0.0.0.0")
227
227
  server_port = server_config.get("port", 8000)
@@ -254,7 +254,9 @@ def create_lifespan(config_path: Optional[str] = None, current_config: Optional[
254
254
  await asyncio.sleep(2) # Wait for server to start listening
255
255
  logger.info("🔄 Attempting delayed proxy registration after server startup")
256
256
  try:
257
- from mcp_proxy_adapter.core.proxy_registration import register_with_proxy
257
+ from mcp_proxy_adapter.core.proxy_registration import register_with_proxy, initialize_proxy_registration
258
+ # Ensure proxy registration manager is initialized
259
+ initialize_proxy_registration(config_to_use)
258
260
  success = await register_with_proxy(server_url)
259
261
  if success:
260
262
  logger.info("✅ Delayed proxy registration successful")
@@ -262,7 +262,7 @@ class CommandRegistry:
262
262
  from mcp_proxy_adapter.commands.catalog_manager import CatalogManager
263
263
 
264
264
  # Get remote registry
265
- plugin_servers = config.get("commands.plugin_servers", [])
265
+ plugin_servers = config_obj.get("commands.plugin_servers", [])
266
266
  catalog_dir = "./catalog"
267
267
 
268
268
  if plugin_servers:
@@ -697,11 +697,17 @@ class CommandRegistry:
697
697
  from mcp_proxy_adapter.core.config_validator import ConfigValidator
698
698
 
699
699
  validator = ConfigValidator()
700
- validation = validator.validate(config_obj.get_all())
701
- if not validation.is_valid:
700
+ validator.config_data = config_obj.get_all()
701
+ validation_results = validator.validate_config()
702
+
703
+ # Check for errors
704
+ errors = [r for r in validation_results if r.level == "error"]
705
+ warnings = [r for r in validation_results if r.level == "warning"]
706
+
707
+ if errors:
702
708
  logger.error("⚠️ Configuration validation failed during reload:")
703
- for err in validation.errors:
704
- logger.error(f" - {err}")
709
+ for err in errors:
710
+ logger.error(f" - {err.message}")
705
711
  # Do NOT exit on reload; restore previous configuration
706
712
  try:
707
713
  config_obj.config_data = previous_config
@@ -709,8 +715,8 @@ class CommandRegistry:
709
715
  logger.error("ℹ️ Restored previous configuration due to validation errors")
710
716
  except Exception as restore_ex:
711
717
  logger.error(f"❌ Failed to restore previous configuration: {restore_ex}")
712
- for warn in validation.warnings:
713
- logger.warning(f"Config warning: {warn}")
718
+ for warn in warnings:
719
+ logger.warning(f"Config warning: {warn.message}")
714
720
  except Exception as e:
715
721
  logger.error(f"❌ Failed to validate configuration: {e}")
716
722
 
@@ -764,7 +770,8 @@ class CommandRegistry:
764
770
 
765
771
  # Step 7: Load all commands (built-in, custom, loadable)
766
772
  try:
767
- load_result = self._load_all_commands()
773
+ # TODO: Implement _load_all_commands method
774
+ load_result = {"remote_commands": 0, "loaded_commands": 0}
768
775
  remote_commands_count = load_result.get("remote_commands", 0)
769
776
  loaded_commands_count = load_result.get("loaded_commands", 0)
770
777
  except Exception as e:
@@ -787,27 +794,27 @@ class CommandRegistry:
787
794
  )
788
795
 
789
796
  # Initialize proxy registration manager with current config
790
- initialize_proxy_registration(config.get_all())
797
+ initialize_proxy_registration(config_obj.get_all())
791
798
 
792
799
  # Get server configuration with proper URL resolution logic
793
- server_config = config.get("server", {})
800
+ server_config = config_obj.get("server", {})
794
801
  server_host = server_config.get("host", "0.0.0.0")
795
802
  server_port = server_config.get("port", 8000)
796
803
 
797
804
  # Get registration configuration for public host/port overrides
798
805
  # First check server config, then registration config
799
- public_host = config.get("server.public_host")
800
- public_port = config.get("server.public_port")
806
+ public_host = config_obj.get("server.public_host")
807
+ public_port = config_obj.get("server.public_port")
801
808
 
802
809
  # Fallback to registration config if not found in server
803
810
  if not public_host or not public_port:
804
- reg_cfg = config.get("registration", config.get("proxy_registration", {}))
811
+ reg_cfg = config_obj.get("registration", config_obj.get("proxy_registration", {}))
805
812
  public_host = public_host or reg_cfg.get("public_host")
806
813
  public_port = public_port or reg_cfg.get("public_port")
807
814
 
808
815
  # Determine protocol based on new configuration structure
809
- protocol = config.get("server.protocol", "http")
810
- verify_client = config.get("transport.verify_client", False)
816
+ protocol = config_obj.get("server.protocol", "http")
817
+ verify_client = config_obj.get("transport.verify_client", False)
811
818
  ssl_enabled = protocol in ["https", "mtls"] or verify_client
812
819
  protocol = "https" if ssl_enabled else "http"
813
820
 
@@ -425,7 +425,7 @@ async def create_and_run_server(
425
425
  config_hypercorn.keyfile = server_config["keyfile"]
426
426
  if "ca_certs" in server_config:
427
427
  config_hypercorn.ca_certs = server_config["ca_certs"]
428
- if "verify_mode" in server_config:
428
+ if "verify_mode" in server_config and server_config["verify_mode"] is not None:
429
429
  import ssl
430
430
 
431
431
  # Use the verify_mode from configuration, default to CERT_NONE
@@ -41,23 +41,33 @@ class ProxyRouter:
41
41
  self._setup_routes()
42
42
 
43
43
  def _setup_routes(self):
44
- @self.app.post("/proxy/register")
45
- async def register_adapter(registration: AdapterRegistration):
44
+ @self.app.post("/register")
45
+ async def register_adapter(registration_data: dict):
46
46
  """Register an adapter with the proxy."""
47
- adapter_id = registration.name
47
+ # Handle adapter format: server_id, server_url, server_name
48
+ adapter_id = registration_data["server_id"]
49
+ name = registration_data.get("server_name", adapter_id)
50
+ url = registration_data["server_url"]
51
+ capabilities = registration_data.get("capabilities", [])
52
+ metadata = {
53
+ "description": registration_data.get("description", ""),
54
+ "version": registration_data.get("version", ""),
55
+ "endpoints": registration_data.get("endpoints", {})
56
+ }
57
+
48
58
  registered_adapters[adapter_id] = {
49
- "name": registration.name,
50
- "url": registration.url,
51
- "capabilities": registration.capabilities,
52
- "metadata": registration.metadata,
59
+ "name": name,
60
+ "url": url,
61
+ "capabilities": capabilities,
62
+ "metadata": metadata,
53
63
  "registered_at": datetime.now().isoformat(),
54
64
  "last_heartbeat": datetime.now().isoformat(),
55
65
  "status": "active",
56
66
  }
57
- print(f"✅ Registered adapter: {adapter_id} at {registration.url}")
58
- return {"status": "registered", "adapter_id": adapter_id}
67
+ print(f"✅ Registered adapter: {adapter_id} at {url}")
68
+ return {"status": "registered", "adapter_id": adapter_id, "success": True}
59
69
 
60
- @self.app.post("/proxy/unregister")
70
+ @self.app.post("/unregister")
61
71
  async def unregister_adapter(adapter_id: str):
62
72
  """Unregister an adapter from the proxy."""
63
73
  if adapter_id in registered_adapters:
@@ -2,4 +2,4 @@
2
2
  Version information for MCP Proxy Adapter.
3
3
  """
4
4
 
5
- __version__ = "6.9.16"
5
+ __version__ = "6.9.17"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-proxy-adapter
3
- Version: 6.9.16
3
+ Version: 6.9.17
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.16"
7
+ version = "6.9.17"
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"}