mcp-proxy-adapter 6.4.8__tar.gz → 6.4.10__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 (150) hide show
  1. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/PKG-INFO +1 -1
  2. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/app.py +15 -5
  3. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/middleware/protocol_middleware.py +19 -86
  4. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/version.py +1 -1
  5. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/pyproject.toml +1 -1
  6. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/MANIFEST.in +0 -0
  7. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/README.md +0 -0
  8. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/__init__.py +0 -0
  9. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/__main__.py +0 -0
  10. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/__init__.py +0 -0
  11. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/handlers.py +0 -0
  12. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/middleware/__init__.py +0 -0
  13. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/middleware/base.py +0 -0
  14. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/middleware/command_permission_middleware.py +0 -0
  15. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/middleware/error_handling.py +0 -0
  16. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/middleware/factory.py +0 -0
  17. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/middleware/logging.py +0 -0
  18. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/middleware/performance.py +0 -0
  19. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/middleware/transport_middleware.py +0 -0
  20. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/middleware/unified_security.py +0 -0
  21. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/middleware/user_info_middleware.py +0 -0
  22. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/schemas.py +0 -0
  23. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/tool_integration.py +0 -0
  24. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/api/tools.py +0 -0
  25. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/__init__.py +0 -0
  26. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/auth_validation_command.py +0 -0
  27. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/base.py +0 -0
  28. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/builtin_commands.py +0 -0
  29. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/catalog_manager.py +0 -0
  30. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/cert_monitor_command.py +0 -0
  31. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/certificate_management_command.py +0 -0
  32. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/command_registry.py +0 -0
  33. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/config_command.py +0 -0
  34. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/dependency_container.py +0 -0
  35. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/dependency_manager.py +0 -0
  36. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/echo_command.py +0 -0
  37. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/health_command.py +0 -0
  38. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/help_command.py +0 -0
  39. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/hooks.py +0 -0
  40. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/key_management_command.py +0 -0
  41. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/load_command.py +0 -0
  42. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/plugins_command.py +0 -0
  43. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/protocol_management_command.py +0 -0
  44. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/proxy_registration_command.py +0 -0
  45. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/reload_command.py +0 -0
  46. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/result.py +0 -0
  47. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/role_test_command.py +0 -0
  48. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/roles_management_command.py +0 -0
  49. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/security_command.py +0 -0
  50. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/settings_command.py +0 -0
  51. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/ssl_setup_command.py +0 -0
  52. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/token_management_command.py +0 -0
  53. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/transport_management_command.py +0 -0
  54. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/commands/unload_command.py +0 -0
  55. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/config.py +0 -0
  56. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/__init__.py +0 -0
  57. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/app_factory.py +0 -0
  58. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/app_runner.py +0 -0
  59. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/auth_validator.py +0 -0
  60. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/certificate_utils.py +0 -0
  61. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/client.py +0 -0
  62. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/client_manager.py +0 -0
  63. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/client_security.py +0 -0
  64. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/config_converter.py +0 -0
  65. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/config_validator.py +0 -0
  66. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/crl_utils.py +0 -0
  67. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/errors.py +0 -0
  68. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/logging.py +0 -0
  69. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/mtls_asgi.py +0 -0
  70. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/mtls_asgi_app.py +0 -0
  71. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/protocol_manager.py +0 -0
  72. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/proxy_client.py +0 -0
  73. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/proxy_registration.py +0 -0
  74. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/role_utils.py +0 -0
  75. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/security_adapter.py +0 -0
  76. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/security_factory.py +0 -0
  77. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/security_integration.py +0 -0
  78. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/server_adapter.py +0 -0
  79. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/server_engine.py +0 -0
  80. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/settings.py +0 -0
  81. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/ssl_utils.py +0 -0
  82. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/transport_manager.py +0 -0
  83. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/unified_config_adapter.py +0 -0
  84. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/core/utils.py +0 -0
  85. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/custom_openapi.py +0 -0
  86. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/__init__.py +0 -0
  87. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/basic_framework/__init__.py +0 -0
  88. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/basic_framework/commands/__init__.py +0 -0
  89. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/basic_framework/hooks/__init__.py +0 -0
  90. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/basic_framework/main.py +0 -0
  91. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/basic_framework/roles.json +0 -0
  92. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/commands/__init__.py +0 -0
  93. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/create_certificates_simple.py +0 -0
  94. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/debug_request_state.py +0 -0
  95. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/debug_role_chain.py +0 -0
  96. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/demo_client.py +0 -0
  97. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/examples/basic_framework/__init__.py +0 -0
  98. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/examples/basic_framework/commands/__init__.py +0 -0
  99. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/examples/basic_framework/hooks/__init__.py +0 -0
  100. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/examples/basic_framework/main.py +0 -0
  101. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/examples/full_application/__init__.py +0 -0
  102. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/examples/full_application/commands/__init__.py +0 -0
  103. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/examples/full_application/commands/custom_echo_command.py +0 -0
  104. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/examples/full_application/commands/dynamic_calculator_command.py +0 -0
  105. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/examples/full_application/hooks/__init__.py +0 -0
  106. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/examples/full_application/hooks/application_hooks.py +0 -0
  107. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/examples/full_application/hooks/builtin_command_hooks.py +0 -0
  108. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/examples/full_application/main.py +0 -0
  109. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/examples/full_application/proxy_endpoints.py +0 -0
  110. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/full_application/__init__.py +0 -0
  111. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/full_application/commands/__init__.py +0 -0
  112. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py +0 -0
  113. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py +0 -0
  114. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/full_application/hooks/__init__.py +0 -0
  115. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py +0 -0
  116. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py +0 -0
  117. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/full_application/main.py +0 -0
  118. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/full_application/proxy_endpoints.py +0 -0
  119. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/full_application/roles.json +0 -0
  120. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/generate_all_certificates.py +0 -0
  121. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/generate_certificates.py +0 -0
  122. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/generate_certificates_and_tokens.py +0 -0
  123. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/generate_comprehensive_config.py +0 -0
  124. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/generate_test_configs.py +0 -0
  125. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/proxy_registration_example.py +0 -0
  126. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/run_example.py +0 -0
  127. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/run_full_test_suite.py +0 -0
  128. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/run_proxy_server.py +0 -0
  129. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/run_security_tests.py +0 -0
  130. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/run_security_tests_fixed.py +0 -0
  131. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/scripts/config_generator.py +0 -0
  132. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/scripts/create_certificates_simple.py +0 -0
  133. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/scripts/generate_certificates_and_tokens.py +0 -0
  134. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/security_test_client.py +0 -0
  135. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/setup_test_environment.py +0 -0
  136. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/test_config.py +0 -0
  137. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/test_config_generator.py +0 -0
  138. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/test_examples.py +0 -0
  139. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/test_mcp_adapter.py +0 -0
  140. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/examples/universal_client.py +0 -0
  141. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/main.py +0 -0
  142. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/openapi.py +0 -0
  143. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/schemas/base_schema.json +0 -0
  144. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/schemas/openapi_schema.json +0 -0
  145. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter/utils/config_generator.py +0 -0
  146. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter.egg-info/SOURCES.txt +0 -0
  147. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/mcp_proxy_adapter_issue_package/demonstrate_issue.py +0 -0
  148. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/requirements.txt +0 -0
  149. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/setup.cfg +0 -0
  150. {mcp_proxy_adapter-6.4.8 → mcp_proxy_adapter-6.4.10}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-proxy-adapter
3
- Version: 6.4.8
3
+ Version: 6.4.10
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
@@ -169,7 +169,7 @@ def create_lifespan(config_path: Optional[str] = None):
169
169
  except Exception:
170
170
  pass
171
171
 
172
- logger.info("🔍 Registration server_url resolved to: %s", server_url)
172
+ logger.debug("Registration server_url resolved to: %s", server_url)
173
173
  try:
174
174
  print("🔍 Registration server_url resolved to (print):", server_url)
175
175
  except Exception:
@@ -494,6 +494,17 @@ def create_app(
494
494
  redoc_url="/redoc",
495
495
  lifespan=create_lifespan(config_path),
496
496
  )
497
+
498
+ # CRITICAL FIX: Register commands immediately during app creation
499
+ # This ensures commands are available before the server starts accepting requests
500
+ try:
501
+ from mcp_proxy_adapter.commands.builtin_commands import register_builtin_commands
502
+ logger.info("Registering built-in commands during app creation...")
503
+ registered_count = register_builtin_commands()
504
+ logger.info(f"Registered {registered_count} built-in commands during app creation")
505
+ except Exception as e:
506
+ logger.error(f"Failed to register built-in commands during app creation: {e}")
507
+ # Don't fail app creation, but log the error
497
508
 
498
509
  # Configure CORS
499
510
  app.add_middleware(
@@ -507,14 +518,13 @@ def create_app(
507
518
  # Add request logging middleware for debugging
508
519
  @app.middleware("http")
509
520
  async def debug_request_middleware(request: Request, call_next):
510
- logger.info(f"🔍 FastAPI Request START: {request.method} {request.url.path}")
511
- logger.info(f"🔍 FastAPI Request Headers: {dict(request.headers)}")
521
+ logger.debug(f"FastAPI Request START: {request.method} {request.url.path}")
512
522
  try:
513
523
  response = await call_next(request)
514
- logger.info(f"🔍 FastAPI Request COMPLETED: {response.status_code}")
524
+ logger.debug(f"FastAPI Request COMPLETED: {response.status_code}")
515
525
  return response
516
526
  except Exception as e:
517
- logger.error(f"🔍 FastAPI Request ERROR: {e}", exc_info=True)
527
+ logger.error(f"FastAPI Request ERROR: {e}", exc_info=True)
518
528
  raise
519
529
 
520
530
  # Setup middleware using the new middleware package
@@ -97,26 +97,19 @@ class ProtocolMiddleware(BaseHTTPMiddleware):
97
97
  Returns:
98
98
  Response object
99
99
  """
100
- logger.info(f"🔍 PROTOCOL STEP 1: ProtocolMiddleware.dispatch START - {request.method} {request.url.path}")
101
- logger.info(f"🔍 PROTOCOL STEP 1.1: Request scheme: {request.url.scheme}")
102
- logger.info(f"🔍 PROTOCOL STEP 1.2: Request headers: {dict(request.headers)}")
103
- logger.info(f"🔍 PROTOCOL STEP 1.3: Request scope: {request.scope}")
104
- logger.info(f"🔍 PROTOCOL STEP 1.4: Protocol manager enabled: {self.protocol_manager.enabled}")
105
- logger.info(f"🔍 PROTOCOL STEP 1.5: Protocol manager allowed_protocols: {self.protocol_manager.allowed_protocols}")
100
+ logger.debug(f"ProtocolMiddleware processing {request.method} {request.url.path}")
106
101
 
107
102
  try:
108
103
  # Get protocol from request
109
- logger.info(f"🔍 PROTOCOL STEP 2: Getting request protocol...")
110
104
  protocol = self._get_request_protocol(request)
111
- logger.info(f"🔍 PROTOCOL STEP 3: Detected protocol: {protocol} for {request.method} {request.url.path}")
105
+ logger.debug(f"Detected protocol: {protocol} for {request.method} {request.url.path}")
112
106
 
113
107
  # Check if protocol is allowed
114
- logger.info(f"🔍 PROTOCOL STEP 4: Checking if protocol '{protocol}' is allowed...")
115
108
  is_allowed = self.protocol_manager.is_protocol_allowed(protocol)
116
- logger.info(f"🔍 PROTOCOL STEP 5: Protocol '{protocol}' allowed: {is_allowed}")
109
+ logger.debug(f"Protocol '{protocol}' allowed: {is_allowed}")
117
110
 
118
111
  if not is_allowed:
119
- logger.warning(f"❌ PROTOCOL STEP ERROR: Protocol '{protocol}' not allowed for request to {request.url.path}")
112
+ logger.warning(f"Protocol '{protocol}' not allowed for request to {request.url.path}")
120
113
  return JSONResponse(
121
114
  status_code=403,
122
115
  content={
@@ -127,17 +120,11 @@ class ProtocolMiddleware(BaseHTTPMiddleware):
127
120
  )
128
121
 
129
122
  # Continue processing
130
- logger.info(f"✅ PROTOCOL STEP 6: Protocol '{protocol}' allowed, proceeding...")
131
- logger.info(f"🔍 PROTOCOL STEP 7: Adding protocol '{protocol}' to request state...")
132
123
  request.state.protocol = protocol
133
- logger.info(f"🔍 PROTOCOL STEP 8: Protocol '{protocol}' added to request state")
124
+ logger.debug(f"Protocol '{protocol}' added to request state")
134
125
 
135
- logger.info(f"🔍 PROTOCOL STEP 9: Calling next middleware/endpoint...")
136
126
  response = await call_next(request)
137
- logger.info(f"🔍 PROTOCOL STEP 10: Next middleware/endpoint completed with status: {response.status_code}")
138
- logger.info(f"🔍 PROTOCOL STEP 10.1: Response headers: {dict(response.headers)}")
139
-
140
- logger.info(f"✅ PROTOCOL STEP 11: ProtocolMiddleware completed successfully")
127
+ logger.debug(f"ProtocolMiddleware completed with status: {response.status_code}")
141
128
  return response
142
129
 
143
130
  except Exception as e:
@@ -157,63 +144,33 @@ class ProtocolMiddleware(BaseHTTPMiddleware):
157
144
  Returns:
158
145
  Protocol name (http, https, mtls)
159
146
  """
160
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol START")
161
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - request.url.scheme: {request.url.scheme}")
162
-
163
147
  try:
164
148
  # Check if request is secure (HTTPS)
165
149
  if request.url.scheme:
166
150
  scheme = request.url.scheme.lower()
167
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - scheme: {scheme}")
168
151
 
169
152
  # If HTTPS, check if client certificate is provided (MTLS)
170
153
  if scheme == "https":
171
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - HTTPS detected, checking for mTLS")
172
-
173
154
  # Check for client certificate in ASGI scope
174
155
  try:
175
156
  # Method 1: Check transport info in ASGI scope
176
157
  if hasattr(request, "scope") and request.scope:
177
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - ASGI scope available")
178
- # Check for client certificate in transport layer
179
158
  transport = request.scope.get("transport")
180
159
  if transport and hasattr(transport, "get_extra_info"):
181
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - transport available, checking SSL object")
182
160
  try:
183
161
  ssl_object = transport.get_extra_info("ssl_object")
184
162
  if ssl_object:
185
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - SSL object available, checking peer cert")
186
163
  try:
187
164
  cert = ssl_object.getpeercert()
188
165
  if cert:
189
- logger.debug(f"✅ ProtocolMiddleware._get_request_protocol - mTLS client certificate detected: {cert.get('subject', 'unknown')}")
166
+ logger.debug(f"mTLS client certificate detected: {cert.get('subject', 'unknown')}")
190
167
  return "mtls"
191
- else:
192
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - No peer certificate found")
193
- except Exception as e:
194
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - Error checking client certificate: {e}")
195
- else:
196
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - No SSL object found")
197
- except Exception as e:
198
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - Error getting SSL object from transport: {e}")
199
- else:
200
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - No transport or get_extra_info method")
201
-
202
- # Method 2: Check client info in ASGI scope
203
- try:
204
- client_info = request.scope.get("client")
205
- if client_info and len(client_info) > 2:
206
- # client_info format: (host, port, additional_info...)
207
- # Additional info might contain certificate information
208
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - Client info detected, might be mTLS: {client_info}")
209
- else:
210
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - Client info: {client_info}")
211
- except Exception as e:
212
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - Error checking client info: {e}")
213
- else:
214
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - No ASGI scope available")
215
- except Exception as e:
216
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - Error checking ASGI scope for mTLS: {e}")
168
+ except Exception:
169
+ pass
170
+ except Exception:
171
+ pass
172
+ except Exception:
173
+ pass
217
174
 
218
175
  # Check for client certificate in headers (proxy forwarded)
219
176
  try:
@@ -224,31 +181,25 @@ class ProtocolMiddleware(BaseHTTPMiddleware):
224
181
  request.headers.get("x-forwarded-client-cert")
225
182
  ]
226
183
  if any(mtls_headers):
227
- logger.debug(f"✅ ProtocolMiddleware._get_request_protocol - mTLS client certificate detected in headers")
184
+ logger.debug("mTLS client certificate detected in headers")
228
185
  return "mtls"
229
- else:
230
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - No mTLS headers found")
231
- except Exception as e:
232
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - Error checking headers for mTLS: {e}")
186
+ except Exception:
187
+ pass
233
188
 
234
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - Returning 'https' (no mTLS detected)")
235
189
  return "https"
236
190
 
237
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - Returning scheme: {scheme}")
238
191
  return scheme
239
192
 
240
193
  # Fallback to checking headers
241
194
  x_forwarded_proto = request.headers.get("x-forwarded-proto")
242
195
  if x_forwarded_proto:
243
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - Using x-forwarded-proto: {x_forwarded_proto}")
244
196
  return x_forwarded_proto.lower()
245
197
 
246
198
  # Default to HTTP
247
- logger.debug(f"🔍 ProtocolMiddleware._get_request_protocol - Defaulting to 'http'")
248
199
  return "http"
249
200
 
250
201
  except Exception as e:
251
- logger.error(f" ProtocolMiddleware._get_request_protocol - Error: {e}", exc_info=True)
202
+ logger.error(f"Error extracting protocol from request: {e}", exc_info=True)
252
203
  # Fallback to HTTP if there's any error
253
204
  return "http"
254
205
 
@@ -261,43 +212,25 @@ def setup_protocol_middleware(app, app_config: Optional[Dict[str, Any]] = None):
261
212
  app: FastAPI application
262
213
  app_config: Application configuration dictionary (optional)
263
214
  """
264
- logger.info(f"🔍 SETUP STEP 1: setup_protocol_middleware - app_config type: {type(app_config)}")
265
-
266
215
  # Check if protocol management is enabled
267
216
  if app_config is None:
268
- logger.info(f"🔍 SETUP STEP 2: app_config is None, loading from global config...")
269
217
  from mcp_proxy_adapter.config import config
270
-
271
218
  app_config = config.get_all()
272
- logger.info(f"🔍 SETUP STEP 3: loaded from global config, type: {type(app_config)}")
273
-
274
- logger.info(f"🔍 SETUP STEP 4: final app_config type: {type(app_config)}")
275
219
 
276
220
  if hasattr(app_config, "get"):
277
- logger.info(f"🔍 SETUP STEP 5: app_config has 'get' method")
278
- logger.info(f"🔍 SETUP STEP 5.1: app_config keys: {list(app_config.keys()) if hasattr(app_config, 'keys') else 'no keys'}")
279
221
  protocols_config = app_config.get("protocols", {})
280
- logger.info(f"🔍 SETUP STEP 6: protocols_config: {protocols_config}")
281
- logger.info(f"🔍 SETUP STEP 6.1: protocols_config type: {type(protocols_config)}")
282
222
  enabled = (
283
223
  protocols_config.get("enabled", True)
284
224
  if hasattr(protocols_config, "get")
285
225
  else True
286
226
  )
287
- logger.info(f"🔍 SETUP STEP 7: protocols_config.get('enabled', True) = {enabled}")
288
227
  else:
289
- logger.info(f"🔍 SETUP STEP 5: app_config is not dict-like: {repr(app_config)}")
290
228
  enabled = True
291
229
 
292
- logger.info(f"🔍 SETUP STEP 8: protocol management enabled: {enabled}")
293
-
294
230
  if enabled:
295
231
  # Create protocol middleware with current configuration
296
- logger.info(f"🔍 SETUP STEP 9: Creating ProtocolMiddleware with config type: {type(app_config)}")
297
232
  middleware = ProtocolMiddleware(app, app_config)
298
- logger.info(f"🔍 SETUP STEP 10: ProtocolMiddleware created successfully")
299
- logger.info(f"🔍 SETUP STEP 11: Adding ProtocolMiddleware to app...")
300
233
  app.add_middleware(ProtocolMiddleware, app_config=app_config)
301
- logger.info(f"✅ SETUP STEP 12: Protocol middleware added to application")
234
+ logger.info("Protocol middleware added to application")
302
235
  else:
303
- logger.info(f"✅ SETUP STEP 9: Protocol management is disabled, skipping protocol middleware")
236
+ logger.info("Protocol management is disabled, skipping protocol middleware")
@@ -2,4 +2,4 @@
2
2
  Version information for MCP Proxy Adapter.
3
3
  """
4
4
 
5
- __version__ = "6.4.8"
5
+ __version__ = "6.4.10"
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "mcp-proxy-adapter"
7
- version = "6.4.8"
7
+ version = "6.4.10"
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"}