mcp-proxy-adapter 4.1.1__tar.gz → 6.1.0__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 (465) hide show
  1. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/LICENSE +2 -2
  2. mcp_proxy_adapter-6.1.0/MANIFEST.in +35 -0
  3. mcp_proxy_adapter-6.1.0/PKG-INFO +205 -0
  4. mcp_proxy_adapter-6.1.0/README.md +134 -0
  5. mcp_proxy_adapter-6.1.0/TODO_SECURITY_INTEGRATION.md +157 -0
  6. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/__main__.py +12 -0
  7. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/api/app.py +254 -33
  8. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/api/handlers.py +32 -6
  9. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/api/middleware/__init__.py +55 -0
  10. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/api/middleware/command_permission_middleware.py +148 -0
  11. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/api/middleware/error_handling.py +9 -0
  12. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/api/middleware/factory.py +243 -0
  13. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/api/middleware/logging.py +32 -6
  14. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/api/middleware/protocol_middleware.py +135 -0
  15. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/api/middleware/transport_middleware.py +122 -0
  16. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/api/middleware/unified_security.py +152 -0
  17. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/api/middleware/user_info_middleware.py +83 -0
  18. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/__init__.py +37 -0
  19. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/auth_validation_command.py +408 -0
  20. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/commands/base.py +66 -32
  21. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/builtin_commands.py +95 -0
  22. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/catalog_manager.py +838 -0
  23. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/cert_monitor_command.py +620 -0
  24. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/certificate_management_command.py +608 -0
  25. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/command_registry.py +923 -0
  26. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/dependency_manager.py +245 -0
  27. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/echo_command.py +81 -0
  28. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/commands/health_command.py +7 -0
  29. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/commands/help_command.py +21 -14
  30. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/hooks.py +293 -0
  31. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/key_management_command.py +506 -0
  32. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/load_command.py +176 -0
  33. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/plugins_command.py +235 -0
  34. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/protocol_management_command.py +232 -0
  35. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/proxy_registration_command.py +409 -0
  36. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/commands/reload_command.py +48 -50
  37. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/commands/result.py +1 -0
  38. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/role_test_command.py +141 -0
  39. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/roles_management_command.py +697 -0
  40. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/security_command.py +488 -0
  41. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/ssl_setup_command.py +483 -0
  42. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/token_management_command.py +529 -0
  43. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/transport_management_command.py +144 -0
  44. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/commands/unload_command.py +158 -0
  45. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/config.py +367 -0
  46. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/app_factory.py +326 -0
  47. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/auth_validator.py +606 -0
  48. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/certificate_utils.py +827 -0
  49. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/client_security.py +384 -0
  50. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/config_converter.py +405 -0
  51. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/config_validator.py +218 -0
  52. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/core/logging.py +19 -3
  53. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/mtls_asgi.py +156 -0
  54. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/mtls_asgi_app.py +187 -0
  55. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/protocol_manager.py +235 -0
  56. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/proxy_client.py +602 -0
  57. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/proxy_registration.py +522 -0
  58. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/role_utils.py +426 -0
  59. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/security_adapter.py +370 -0
  60. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/security_factory.py +239 -0
  61. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/security_integration.py +277 -0
  62. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/server_adapter.py +345 -0
  63. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/server_engine.py +364 -0
  64. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/core/settings.py +1 -0
  65. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/ssl_utils.py +233 -0
  66. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/transport_manager.py +292 -0
  67. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/core/unified_config_adapter.py +579 -0
  68. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/custom_openapi.py +22 -11
  69. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/README.md +257 -0
  70. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/README_EN.md +258 -0
  71. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/SECURITY_TESTING.md +455 -0
  72. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/basic_framework/configs/http_auth.json +37 -0
  73. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/basic_framework/configs/http_simple.json +23 -0
  74. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/basic_framework/configs/https_auth.json +39 -0
  75. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/basic_framework/configs/https_simple.json +25 -0
  76. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/basic_framework/configs/mtls_no_roles.json +39 -0
  77. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/basic_framework/configs/mtls_with_roles.json +45 -0
  78. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/basic_framework/main.py +63 -0
  79. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/basic_framework/roles.json +21 -0
  80. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/cert_config.json +9 -0
  81. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/admin.crt +32 -0
  82. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/admin.key +52 -0
  83. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/admin_cert.pem +21 -0
  84. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/admin_key.pem +28 -0
  85. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/ca_cert.pem +23 -0
  86. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/ca_cert.srl +1 -0
  87. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/ca_key.pem +28 -0
  88. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/cert_config.json +9 -0
  89. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/client.crt +32 -0
  90. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/client.key +52 -0
  91. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/client_admin.crt +32 -0
  92. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/client_admin.key +52 -0
  93. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/client_user.crt +32 -0
  94. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/client_user.key +52 -0
  95. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/guest_cert.pem +21 -0
  96. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/guest_key.pem +28 -0
  97. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/mcp_proxy_adapter_ca_ca.crt +23 -0
  98. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/proxy_cert.pem +21 -0
  99. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/proxy_key.pem +28 -0
  100. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/readonly.crt +32 -0
  101. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/readonly.key +52 -0
  102. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/readonly_cert.pem +21 -0
  103. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/readonly_key.pem +28 -0
  104. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/server.crt +32 -0
  105. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/server.key +52 -0
  106. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/server_cert.pem +32 -0
  107. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/server_key.pem +52 -0
  108. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/test_ca_ca.crt +20 -0
  109. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/user.crt +32 -0
  110. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/user.key +52 -0
  111. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/user_cert.pem +21 -0
  112. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/certs/user_key.pem +28 -0
  113. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/client_configs/api_key_client.json +13 -0
  114. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/client_configs/basic_auth_client.json +13 -0
  115. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/client_configs/certificate_client.json +22 -0
  116. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/client_configs/jwt_client.json +15 -0
  117. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/client_configs/no_auth_client.json +9 -0
  118. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/commands/__init__.py +1 -0
  119. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/create_certificates_simple.py +307 -0
  120. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/debug_request_state.py +144 -0
  121. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/debug_role_chain.py +205 -0
  122. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/demo_client.py +341 -0
  123. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py +99 -0
  124. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py +106 -0
  125. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/full_application/configs/http_auth.json +37 -0
  126. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/full_application/configs/http_simple.json +23 -0
  127. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/full_application/configs/https_auth.json +39 -0
  128. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/full_application/configs/https_simple.json +25 -0
  129. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/full_application/configs/mtls_no_roles.json +39 -0
  130. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/full_application/configs/mtls_with_roles.json +45 -0
  131. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py +97 -0
  132. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py +95 -0
  133. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/full_application/main.py +138 -0
  134. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/full_application/roles.json +21 -0
  135. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/generate_all_certificates.py +429 -0
  136. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/generate_certificates.py +121 -0
  137. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/keys/ca_key.pem +28 -0
  138. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/keys/mcp_proxy_adapter_ca_ca.key +28 -0
  139. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/keys/test_ca_ca.key +28 -0
  140. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log +220 -0
  141. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.1 +1 -0
  142. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.2 +1 -0
  143. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.3 +1 -0
  144. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.4 +1 -0
  145. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.5 +1 -0
  146. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log +220 -0
  147. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.1 +1 -0
  148. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.2 +1 -0
  149. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.3 +1 -0
  150. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.4 +1 -0
  151. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.5 +1 -0
  152. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log +2 -0
  153. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.1 +1 -0
  154. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.2 +1 -0
  155. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.3 +1 -0
  156. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.4 +1 -0
  157. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.5 +1 -0
  158. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/proxy_registration_example.py +401 -0
  159. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/roles.json +38 -0
  160. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/run_example.py +81 -0
  161. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/run_security_tests.py +326 -0
  162. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/run_security_tests_fixed.py +300 -0
  163. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/security_test_client.py +743 -0
  164. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/server_configs/config_basic_http.json +204 -0
  165. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/server_configs/config_http_token.json +238 -0
  166. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/server_configs/config_https.json +215 -0
  167. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/server_configs/config_https_token.json +231 -0
  168. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/server_configs/config_mtls.json +215 -0
  169. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/server_configs/config_proxy_registration.json +250 -0
  170. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/server_configs/config_simple.json +46 -0
  171. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/server_configs/roles.json +38 -0
  172. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/test_examples.py +344 -0
  173. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/examples/universal_client.py +628 -0
  174. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/main.py +186 -0
  175. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter/utils/config_generator.py +639 -0
  176. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/version.py +2 -1
  177. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter.egg-info/PKG-INFO +205 -0
  178. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter.egg-info/SOURCES.txt +234 -0
  179. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter.egg-info/entry_points.txt +2 -0
  180. mcp_proxy_adapter-6.1.0/mcp_proxy_adapter.egg-info/requires.txt +37 -0
  181. mcp_proxy_adapter-6.1.0/pyproject.toml +182 -0
  182. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/requirements.txt +2 -0
  183. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/setup.py +3 -2
  184. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/api/test_cmd_endpoint.py +45 -37
  185. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/api/test_tool_integration.py +1 -1
  186. mcp_proxy_adapter-6.1.0/tests/clients/__init__.py +13 -0
  187. mcp_proxy_adapter-6.1.0/tests/clients/security_test_client.py +640 -0
  188. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/commands/test_config_command.py +5 -1
  189. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/commands/test_echo_command.py +2 -2
  190. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/commands/test_help_command.py +3 -0
  191. mcp_proxy_adapter-6.1.0/tests/common/mock_classes.py +191 -0
  192. mcp_proxy_adapter-6.1.0/tests/conftest.py +342 -0
  193. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/functional/test_api.py +2 -2
  194. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/integration/test_cmd_integration.py +54 -11
  195. mcp_proxy_adapter-6.1.0/tests/integration/test_configuration_scenarios.py +450 -0
  196. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/integration/test_integration.py +41 -12
  197. mcp_proxy_adapter-6.1.0/tests/integration/test_security_integration.py +286 -0
  198. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/performance/test_performance.py +66 -30
  199. mcp_proxy_adapter-6.1.0/tests/performance/test_security_performance.py +398 -0
  200. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/stubs/__init__.py +1 -1
  201. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/test_api_endpoints.py +17 -1
  202. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/test_command_registry.py +34 -95
  203. mcp_proxy_adapter-6.1.0/tests/test_security_examples.py +304 -0
  204. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/unit/test_base_command.py +65 -50
  205. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/unit/test_config.py +54 -1
  206. mcp_proxy_adapter-6.1.0/tests/unit/test_unified_config_adapter.py +535 -0
  207. mcp_proxy_adapter-6.1.0/tests/unit/test_unified_security_middleware.py +495 -0
  208. mcp_proxy_adapter-4.1.1/MANIFEST.in +0 -28
  209. mcp_proxy_adapter-4.1.1/PKG-INFO +0 -200
  210. mcp_proxy_adapter-4.1.1/README.md +0 -148
  211. mcp_proxy_adapter-4.1.1/docs/EN/API_SCHEMA.md +0 -183
  212. mcp_proxy_adapter-4.1.1/docs/EN/AUTOMATED_PUBLISHING.md +0 -121
  213. mcp_proxy_adapter-4.1.1/docs/EN/BASIC_ARCHITECTURE.md +0 -210
  214. mcp_proxy_adapter-4.1.1/docs/EN/COMMAND_CHECKLIST.md +0 -81
  215. mcp_proxy_adapter-4.1.1/docs/EN/COMMAND_RESULTS.md +0 -252
  216. mcp_proxy_adapter-4.1.1/docs/EN/COMMAND_TEMPLATE.md +0 -283
  217. mcp_proxy_adapter-4.1.1/docs/EN/CONFIGURATION_PRINCIPLES.md +0 -305
  218. mcp_proxy_adapter-4.1.1/docs/EN/DOCUMENTATION_MAP.md +0 -92
  219. mcp_proxy_adapter-4.1.1/docs/EN/DOCUMENTATION_STANDARDS.md +0 -118
  220. mcp_proxy_adapter-4.1.1/docs/EN/ERROR_HANDLING.md +0 -225
  221. mcp_proxy_adapter-4.1.1/docs/EN/EXAMPLES_COMMAND_CLASSES.md +0 -87
  222. mcp_proxy_adapter-4.1.1/docs/EN/GLOSSARY.md +0 -53
  223. mcp_proxy_adapter-4.1.1/docs/EN/LOGGING_SYSTEM.md +0 -258
  224. mcp_proxy_adapter-4.1.1/docs/EN/NAMING_STANDARDS.md +0 -216
  225. mcp_proxy_adapter-4.1.1/docs/EN/OPENAPI_SCHEMA.md +0 -535
  226. mcp_proxy_adapter-4.1.1/docs/EN/PROJECT_EXTENSION_GUIDE.md +0 -696
  227. mcp_proxy_adapter-4.1.1/docs/EN/PROJECT_IDEOLOGY.md +0 -139
  228. mcp_proxy_adapter-4.1.1/docs/EN/PROJECT_RULES.md +0 -161
  229. mcp_proxy_adapter-4.1.1/docs/EN/PROJECT_STRUCTURE.md +0 -166
  230. mcp_proxy_adapter-4.1.1/docs/EN/PUBLISHING_TO_PYPI.md +0 -175
  231. mcp_proxy_adapter-4.1.1/docs/EN/README.md +0 -20
  232. mcp_proxy_adapter-4.1.1/docs/EN/api/cmd_endpoint.md +0 -177
  233. mcp_proxy_adapter-4.1.1/docs/EN/api/errors.md +0 -100
  234. mcp_proxy_adapter-4.1.1/docs/EN/api/intro.md +0 -30
  235. mcp_proxy_adapter-4.1.1/docs/EN/api/requests.md +0 -79
  236. mcp_proxy_adapter-4.1.1/docs/EN/api/responses.md +0 -104
  237. mcp_proxy_adapter-4.1.1/docs/EN/commands/get_date_command.md +0 -128
  238. mcp_proxy_adapter-4.1.1/docs/EN/commands/help_command.md +0 -239
  239. mcp_proxy_adapter-4.1.1/docs/EN/commands/index.md +0 -54
  240. mcp_proxy_adapter-4.1.1/docs/EN/commands/new_uuid4_command.md +0 -110
  241. mcp_proxy_adapter-4.1.1/docs/EN/commands/reload_settings_command.md +0 -183
  242. mcp_proxy_adapter-4.1.1/docs/EN/commands/settings_command.md +0 -298
  243. mcp_proxy_adapter-4.1.1/docs/EN/development/COMMAND_METADATA_ENHANCEMENT.md +0 -350
  244. mcp_proxy_adapter-4.1.1/docs/EN/development/DEPENDENCY_INJECTION.md +0 -176
  245. mcp_proxy_adapter-4.1.1/docs/EN/development/HOOK_SYSTEM.md +0 -346
  246. mcp_proxy_adapter-4.1.1/docs/EN/development/METADATA_COMMANDS.md +0 -149
  247. mcp_proxy_adapter-4.1.1/docs/EN/development/OPENAPI_CUSTOMIZATION.md +0 -412
  248. mcp_proxy_adapter-4.1.1/docs/EN/development/REMOVE_COMMAND_GUIDE.md +0 -122
  249. mcp_proxy_adapter-4.1.1/docs/EN/development/TOOL_INTEGRATION.md +0 -252
  250. mcp_proxy_adapter-4.1.1/docs/EN/development/architecture.md +0 -97
  251. mcp_proxy_adapter-4.1.1/docs/EN/development/command_auto_discovery.md +0 -277
  252. mcp_proxy_adapter-4.1.1/docs/EN/development/settings_management.md +0 -345
  253. mcp_proxy_adapter-4.1.1/docs/EN/examples/README.md +0 -37
  254. mcp_proxy_adapter-4.1.1/docs/EN/examples/anti_patterns.md +0 -156
  255. mcp_proxy_adapter-4.1.1/docs/EN/examples/basic_example.md +0 -168
  256. mcp_proxy_adapter-4.1.1/docs/EN/examples/complete_example.md +0 -190
  257. mcp_proxy_adapter-4.1.1/docs/EN/examples/minimal_example.md +0 -127
  258. mcp_proxy_adapter-4.1.1/docs/EN/testing/README.md +0 -172
  259. mcp_proxy_adapter-4.1.1/docs/EN/user/basic_usage.md +0 -122
  260. mcp_proxy_adapter-4.1.1/docs/EN/user/configuration.md +0 -128
  261. mcp_proxy_adapter-4.1.1/docs/EN/user/deployment.md +0 -166
  262. mcp_proxy_adapter-4.1.1/docs/EN/user/examples.md +0 -169
  263. mcp_proxy_adapter-4.1.1/docs/EN/user/installation.md +0 -56
  264. mcp_proxy_adapter-4.1.1/docs/RU/API_SCHEMA.md +0 -183
  265. mcp_proxy_adapter-4.1.1/docs/RU/AUTOMATED_PUBLISHING.md +0 -121
  266. mcp_proxy_adapter-4.1.1/docs/RU/BASIC_ARCHITECTURE.md +0 -210
  267. mcp_proxy_adapter-4.1.1/docs/RU/COMMAND_CHECKLIST.md +0 -152
  268. mcp_proxy_adapter-4.1.1/docs/RU/COMMAND_RESULTS.md +0 -286
  269. mcp_proxy_adapter-4.1.1/docs/RU/COMMAND_TEMPLATE.md +0 -283
  270. mcp_proxy_adapter-4.1.1/docs/RU/CONFIGURATION_PRINCIPLES.md +0 -305
  271. mcp_proxy_adapter-4.1.1/docs/RU/DOCUMENTATION_MAP.md +0 -92
  272. mcp_proxy_adapter-4.1.1/docs/RU/DOCUMENTATION_STANDARDS.md +0 -118
  273. mcp_proxy_adapter-4.1.1/docs/RU/ERROR_HANDLING.md +0 -225
  274. mcp_proxy_adapter-4.1.1/docs/RU/EXAMPLES_COMMAND_CLASSES.md +0 -87
  275. mcp_proxy_adapter-4.1.1/docs/RU/GLOSSARY.md +0 -53
  276. mcp_proxy_adapter-4.1.1/docs/RU/LOGGING_SYSTEM.md +0 -258
  277. mcp_proxy_adapter-4.1.1/docs/RU/NAMING_STANDARDS.md +0 -216
  278. mcp_proxy_adapter-4.1.1/docs/RU/OPENAPI_SCHEMA.md +0 -535
  279. mcp_proxy_adapter-4.1.1/docs/RU/PROJECT_EXTENSION_GUIDE.md +0 -612
  280. mcp_proxy_adapter-4.1.1/docs/RU/PROJECT_IDEOLOGY.md +0 -139
  281. mcp_proxy_adapter-4.1.1/docs/RU/PROJECT_RULES.md +0 -161
  282. mcp_proxy_adapter-4.1.1/docs/RU/PROJECT_STRUCTURE.md +0 -166
  283. mcp_proxy_adapter-4.1.1/docs/RU/PUBLISHING_TO_PYPI.md +0 -175
  284. mcp_proxy_adapter-4.1.1/docs/RU/README.md +0 -20
  285. mcp_proxy_adapter-4.1.1/docs/RU/api/cmd_endpoint.md +0 -177
  286. mcp_proxy_adapter-4.1.1/docs/RU/api/errors.md +0 -100
  287. mcp_proxy_adapter-4.1.1/docs/RU/api/intro.md +0 -30
  288. mcp_proxy_adapter-4.1.1/docs/RU/api/requests.md +0 -79
  289. mcp_proxy_adapter-4.1.1/docs/RU/api/responses.md +0 -104
  290. mcp_proxy_adapter-4.1.1/docs/RU/commands/get_date_command.md +0 -128
  291. mcp_proxy_adapter-4.1.1/docs/RU/commands/help_command.md +0 -239
  292. mcp_proxy_adapter-4.1.1/docs/RU/commands/index.md +0 -54
  293. mcp_proxy_adapter-4.1.1/docs/RU/commands/new_uuid4_command.md +0 -110
  294. mcp_proxy_adapter-4.1.1/docs/RU/commands/reload_settings_command.md +0 -183
  295. mcp_proxy_adapter-4.1.1/docs/RU/commands/settings_command.md +0 -298
  296. mcp_proxy_adapter-4.1.1/docs/RU/development/COMMAND_METADATA_ENHANCEMENT.md +0 -350
  297. mcp_proxy_adapter-4.1.1/docs/RU/development/DEPENDENCY_INJECTION.md +0 -176
  298. mcp_proxy_adapter-4.1.1/docs/RU/development/HOOK_SYSTEM.md +0 -346
  299. mcp_proxy_adapter-4.1.1/docs/RU/development/METADATA_COMMANDS.md +0 -149
  300. mcp_proxy_adapter-4.1.1/docs/RU/development/OPENAPI_CUSTOMIZATION.md +0 -411
  301. mcp_proxy_adapter-4.1.1/docs/RU/development/PLAN_REALIZACII_METADATA.md +0 -452
  302. mcp_proxy_adapter-4.1.1/docs/RU/development/REMOVE_COMMAND_GUIDE.md +0 -122
  303. mcp_proxy_adapter-4.1.1/docs/RU/development/TOOL_INTEGRATION.md +0 -252
  304. mcp_proxy_adapter-4.1.1/docs/RU/development/architecture.md +0 -97
  305. mcp_proxy_adapter-4.1.1/docs/RU/development/command_auto_discovery.md +0 -277
  306. mcp_proxy_adapter-4.1.1/docs/RU/development/settings_management.md +0 -345
  307. mcp_proxy_adapter-4.1.1/docs/RU/examples/README.md +0 -37
  308. mcp_proxy_adapter-4.1.1/docs/RU/examples/anti_patterns.md +0 -156
  309. mcp_proxy_adapter-4.1.1/docs/RU/examples/basic_example.md +0 -168
  310. mcp_proxy_adapter-4.1.1/docs/RU/examples/complete_example.md +0 -190
  311. mcp_proxy_adapter-4.1.1/docs/RU/examples/minimal_example.md +0 -127
  312. mcp_proxy_adapter-4.1.1/docs/RU/testing/README.md +0 -172
  313. mcp_proxy_adapter-4.1.1/docs/RU/user/basic_usage.md +0 -122
  314. mcp_proxy_adapter-4.1.1/docs/RU/user/configuration.md +0 -128
  315. mcp_proxy_adapter-4.1.1/docs/RU/user/deployment.md +0 -166
  316. mcp_proxy_adapter-4.1.1/docs/RU/user/examples.md +0 -169
  317. mcp_proxy_adapter-4.1.1/docs/RU/user/installation.md +0 -56
  318. mcp_proxy_adapter-4.1.1/examples/custom_project_example/README.md +0 -103
  319. mcp_proxy_adapter-4.1.1/examples/custom_project_example/README_EN.md +0 -103
  320. mcp_proxy_adapter-4.1.1/examples/simple_custom_commands/README.md +0 -149
  321. mcp_proxy_adapter-4.1.1/examples/simple_custom_commands/README_EN.md +0 -149
  322. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/api/middleware/__init__.py +0 -49
  323. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/api/middleware/auth.py +0 -146
  324. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/api/middleware/rate_limit.py +0 -152
  325. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/commands/__init__.py +0 -22
  326. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/commands/command_registry.py +0 -566
  327. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/commands/hooks.py +0 -260
  328. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/commands/reload_settings_command.py +0 -125
  329. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/config.py +0 -210
  330. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/README.md +0 -124
  331. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/__init__.py +0 -7
  332. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/basic_server/README.md +0 -60
  333. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/basic_server/__init__.py +0 -7
  334. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/basic_server/basic_custom_settings.json +0 -39
  335. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/basic_server/config.json +0 -35
  336. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/basic_server/custom_settings_example.py +0 -238
  337. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/basic_server/server.py +0 -103
  338. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/README.md +0 -127
  339. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/__init__.py +0 -27
  340. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/advanced_hooks.py +0 -250
  341. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/auto_commands/__init__.py +0 -6
  342. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/auto_commands/auto_echo_command.py +0 -103
  343. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/auto_commands/auto_info_command.py +0 -111
  344. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/config.json +0 -35
  345. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/custom_health_command.py +0 -169
  346. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/custom_help_command.py +0 -215
  347. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/custom_openapi_generator.py +0 -76
  348. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/custom_settings.json +0 -96
  349. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/custom_settings_manager.py +0 -241
  350. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/data_transform_command.py +0 -135
  351. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/echo_command.py +0 -122
  352. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/hooks.py +0 -230
  353. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/intercept_command.py +0 -123
  354. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/manual_echo_command.py +0 -103
  355. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/server.py +0 -228
  356. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/test_hooks.py +0 -176
  357. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/deployment/README.md +0 -49
  358. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/deployment/__init__.py +0 -7
  359. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/deployment/config.development.json +0 -8
  360. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/deployment/config.json +0 -29
  361. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/deployment/config.production.json +0 -12
  362. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/deployment/config.staging.json +0 -11
  363. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/deployment/docker-compose.yml +0 -31
  364. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/deployment/run.sh +0 -43
  365. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/deployment/run_docker.sh +0 -84
  366. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/schemas/base_schema.json +0 -114
  367. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/schemas/openapi_schema.json +0 -314
  368. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/tests/api/test_middleware.py +0 -340
  369. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/tests/conftest.py +0 -131
  370. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/tests/stubs/echo_command.py +0 -104
  371. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/tests/test_api_handlers.py +0 -289
  372. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/tests/test_base_command.py +0 -123
  373. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/tests/test_config.py +0 -127
  374. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter.egg-info/PKG-INFO +0 -200
  375. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter.egg-info/SOURCES.txt +0 -286
  376. mcp_proxy_adapter-4.1.1/mcp_proxy_adapter.egg-info/requires.txt +0 -7
  377. mcp_proxy_adapter-4.1.1/pyproject.toml +0 -153
  378. mcp_proxy_adapter-4.1.1/tests/__init__.py +0 -3
  379. mcp_proxy_adapter-4.1.1/tests/api/__init__.py +0 -3
  380. mcp_proxy_adapter-4.1.1/tests/api/test_app.py +0 -659
  381. mcp_proxy_adapter-4.1.1/tests/api/test_app_extended.py +0 -390
  382. mcp_proxy_adapter-4.1.1/tests/api/test_auth.py +0 -471
  383. mcp_proxy_adapter-4.1.1/tests/api/test_error_handling.py +0 -327
  384. mcp_proxy_adapter-4.1.1/tests/api/test_handler_dependency_injection.py +0 -131
  385. mcp_proxy_adapter-4.1.1/tests/api/test_handlers_extended.py +0 -392
  386. mcp_proxy_adapter-4.1.1/tests/api/test_middleware_base.py +0 -246
  387. mcp_proxy_adapter-4.1.1/tests/api/test_middleware_logging.py +0 -338
  388. mcp_proxy_adapter-4.1.1/tests/api/test_middleware_performance.py +0 -267
  389. mcp_proxy_adapter-4.1.1/tests/api/test_openapi.py +0 -356
  390. mcp_proxy_adapter-4.1.1/tests/api/test_rate_limit.py +0 -106
  391. mcp_proxy_adapter-4.1.1/tests/api/test_schemas_extended.py +0 -347
  392. mcp_proxy_adapter-4.1.1/tests/api/test_schemas_final.py +0 -193
  393. mcp_proxy_adapter-4.1.1/tests/api/test_tool_description.py +0 -240
  394. mcp_proxy_adapter-4.1.1/tests/api/test_tool_integration.py +0 -368
  395. mcp_proxy_adapter-4.1.1/tests/api/test_tools.py +0 -309
  396. mcp_proxy_adapter-4.1.1/tests/commands/__init__.py +0 -3
  397. mcp_proxy_adapter-4.1.1/tests/commands/test_base_command_extended.py +0 -490
  398. mcp_proxy_adapter-4.1.1/tests/commands/test_base_command_final.py +0 -806
  399. mcp_proxy_adapter-4.1.1/tests/commands/test_command_di.py +0 -155
  400. mcp_proxy_adapter-4.1.1/tests/commands/test_command_discovery_config.py +0 -137
  401. mcp_proxy_adapter-4.1.1/tests/commands/test_command_metadata.py +0 -128
  402. mcp_proxy_adapter-4.1.1/tests/commands/test_command_registry_extended.py +0 -527
  403. mcp_proxy_adapter-4.1.1/tests/commands/test_config_command_extended.py +0 -252
  404. mcp_proxy_adapter-4.1.1/tests/commands/test_dependency_container.py +0 -101
  405. mcp_proxy_adapter-4.1.1/tests/commands/test_echo_command_di.py +0 -127
  406. mcp_proxy_adapter-4.1.1/tests/commands/test_health_command_extended.py +0 -377
  407. mcp_proxy_adapter-4.1.1/tests/commands/test_help_command.py +0 -315
  408. mcp_proxy_adapter-4.1.1/tests/commands/test_hooks.py +0 -422
  409. mcp_proxy_adapter-4.1.1/tests/commands/test_priority_commands.py +0 -219
  410. mcp_proxy_adapter-4.1.1/tests/commands/test_reload_commands_extended.py +0 -453
  411. mcp_proxy_adapter-4.1.1/tests/commands/test_result.py +0 -404
  412. mcp_proxy_adapter-4.1.1/tests/commands/test_settings_command_extended.py +0 -300
  413. mcp_proxy_adapter-4.1.1/tests/conftest.py +0 -50
  414. mcp_proxy_adapter-4.1.1/tests/core/test_config.py +0 -366
  415. mcp_proxy_adapter-4.1.1/tests/core/test_errors.py +0 -439
  416. mcp_proxy_adapter-4.1.1/tests/core/test_logging.py +0 -389
  417. mcp_proxy_adapter-4.1.1/tests/core/test_settings_extended.py +0 -557
  418. mcp_proxy_adapter-4.1.1/tests/core/test_utils.py +0 -326
  419. mcp_proxy_adapter-4.1.1/tests/examples/test_advanced_hooks.py +0 -297
  420. mcp_proxy_adapter-4.1.1/tests/examples/test_auto_echo_command.py +0 -198
  421. mcp_proxy_adapter-4.1.1/tests/examples/test_auto_info_command.py +0 -233
  422. mcp_proxy_adapter-4.1.1/tests/examples/test_basic_server.py +0 -279
  423. mcp_proxy_adapter-4.1.1/tests/examples/test_custom_commands.py +0 -212
  424. mcp_proxy_adapter-4.1.1/tests/examples/test_custom_commands_hooks.py +0 -449
  425. mcp_proxy_adapter-4.1.1/tests/examples/test_custom_commands_server.py +0 -268
  426. mcp_proxy_adapter-4.1.1/tests/examples/test_custom_health_command.py +0 -458
  427. mcp_proxy_adapter-4.1.1/tests/examples/test_custom_help_command.py +0 -359
  428. mcp_proxy_adapter-4.1.1/tests/examples/test_custom_openapi_generator.py +0 -320
  429. mcp_proxy_adapter-4.1.1/tests/examples/test_custom_settings_manager.py +0 -364
  430. mcp_proxy_adapter-4.1.1/tests/examples/test_data_transform_command.py +0 -267
  431. mcp_proxy_adapter-4.1.1/tests/examples/test_echo_command.py +0 -290
  432. mcp_proxy_adapter-4.1.1/tests/examples/test_intercept_command.py +0 -297
  433. mcp_proxy_adapter-4.1.1/tests/examples/test_manual_echo_command.py +0 -213
  434. mcp_proxy_adapter-4.1.1/tests/integration/__init__.py +0 -3
  435. mcp_proxy_adapter-4.1.1/tests/integration/test_di_integration.py +0 -226
  436. mcp_proxy_adapter-4.1.1/tests/test_custom_openapi_extended.py +0 -297
  437. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/__init__.py +0 -0
  438. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/api/__init__.py +0 -0
  439. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/api/middleware/base.py +0 -0
  440. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/api/middleware/performance.py +0 -0
  441. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/api/schemas.py +0 -0
  442. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/api/tool_integration.py +0 -0
  443. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/api/tools.py +0 -0
  444. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/commands/config_command.py +0 -0
  445. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/commands/dependency_container.py +0 -0
  446. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/commands/settings_command.py +0 -0
  447. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/core/__init__.py +0 -0
  448. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/core/errors.py +0 -0
  449. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/core/utils.py +0 -0
  450. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter/openapi.py +0 -0
  451. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter.egg-info/dependency_links.txt +0 -0
  452. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/mcp_proxy_adapter.egg-info/top_level.txt +0 -0
  453. {mcp_proxy_adapter-4.1.1 → mcp_proxy_adapter-6.1.0}/setup.cfg +0 -0
  454. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/__init__.py +0 -0
  455. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/api/__init__.py +0 -0
  456. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/api/test_custom_openapi.py +0 -0
  457. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/api/test_handlers.py +0 -0
  458. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/api/test_schemas.py +0 -0
  459. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/commands/__init__.py +0 -0
  460. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/functional/__init__.py +0 -0
  461. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/integration/__init__.py +0 -0
  462. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/performance/__init__.py +0 -0
  463. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/test_batch_requests.py +0 -0
  464. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/test_utils.py +0 -0
  465. {mcp_proxy_adapter-4.1.1/mcp_proxy_adapter → mcp_proxy_adapter-6.1.0}/tests/unit/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2023-2024 Vasiliy VZ
3
+ Copyright (c) 2024 Vasiliy Zdanovskiy
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
20
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
21
+ SOFTWARE.
@@ -0,0 +1,35 @@
1
+ # Include README and license
2
+ include README.md
3
+ include LICENSE
4
+ include requirements.txt
5
+ include pyproject.toml
6
+ include setup.py
7
+
8
+ # Include package data
9
+ recursive-include mcp_proxy_adapter/schemas *.json
10
+ recursive-include mcp_proxy_adapter/examples *
11
+ recursive-include mcp_proxy_adapter/docs *.md
12
+
13
+ # Include test files
14
+ recursive-include tests *.py
15
+ recursive-include tests *.json
16
+ recursive-include tests *.md
17
+
18
+ # Include configuration examples
19
+ include *.json
20
+ include *.md
21
+
22
+ # Exclude development files
23
+ global-exclude *.pyc
24
+ global-exclude *.pyo
25
+ global-exclude *.pyd
26
+ global-exclude __pycache__
27
+ global-exclude .git*
28
+ global-exclude .venv
29
+ global-exclude venv
30
+ global-exclude .pytest_cache
31
+ global-exclude .coverage
32
+ global-exclude htmlcov
33
+ global-exclude dist
34
+ global-exclude build
35
+ global-exclude *.egg-info
@@ -0,0 +1,205 @@
1
+ Metadata-Version: 2.4
2
+ Name: mcp-proxy-adapter
3
+ Version: 6.1.0
4
+ Summary: Model Context Protocol Proxy Adapter with Security Framework
5
+ Home-page: https://github.com/maverikod/mcp-proxy-adapter
6
+ Author: Vasiliy Zdanovskiy
7
+ Author-email: Vasiliy Zdanovskiy <vasilyvz@gmail.com>
8
+ Maintainer-email: Vasiliy Zdanovskiy <vasilyvz@gmail.com>
9
+ License: MIT
10
+ Project-URL: Homepage, https://github.com/vasilyvz/mcp-proxy-adapter
11
+ Project-URL: Documentation, https://mcp-proxy-adapter.readthedocs.io/
12
+ Project-URL: Repository, https://github.com/vasilyvz/mcp-proxy-adapter.git
13
+ Project-URL: Bug Tracker, https://github.com/vasilyvz/mcp-proxy-adapter/issues
14
+ Project-URL: Security Policy, https://github.com/vasilyvz/mcp-proxy-adapter/security/policy
15
+ Keywords: mcp,proxy,adapter,json-rpc,microservice,security,fastapi
16
+ Classifier: Development Status :: 5 - Production/Stable
17
+ Classifier: Intended Audience :: Developers
18
+ Classifier: License :: OSI Approved :: MIT License
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3.8
22
+ Classifier: Programming Language :: Python :: 3.9
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
27
+ Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
28
+ Classifier: Topic :: Security
29
+ Classifier: Framework :: FastAPI
30
+ Requires-Python: >=3.9
31
+ Description-Content-Type: text/markdown
32
+ License-File: LICENSE
33
+ Requires-Dist: fastapi>=0.100.0
34
+ Requires-Dist: uvicorn[standard]>=0.20.0
35
+ Requires-Dist: pydantic>=2.0.0
36
+ Requires-Dist: mcp-security-framework>=0.1.0
37
+ Requires-Dist: python-multipart>=0.0.6
38
+ Requires-Dist: python-jose[cryptography]>=3.3.0
39
+ Requires-Dist: passlib[bcrypt]>=1.7.4
40
+ Requires-Dist: cryptography>=3.4.8
41
+ Requires-Dist: pyOpenSSL>=23.0.0
42
+ Requires-Dist: certifi>=2023.7.22
43
+ Requires-Dist: requests>=2.31.0
44
+ Requires-Dist: aiofiles>=23.1.0
45
+ Requires-Dist: python-dotenv>=1.0.0
46
+ Provides-Extra: dev
47
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
48
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
49
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
50
+ Requires-Dist: black>=23.0.0; extra == "dev"
51
+ Requires-Dist: isort>=5.12.0; extra == "dev"
52
+ Requires-Dist: flake8>=6.0.0; extra == "dev"
53
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
54
+ Requires-Dist: pre-commit>=3.0.0; extra == "dev"
55
+ Requires-Dist: httpx>=0.24.0; extra == "dev"
56
+ Requires-Dist: pytest-mock>=3.10.0; extra == "dev"
57
+ Provides-Extra: test
58
+ Requires-Dist: pytest>=7.0.0; extra == "test"
59
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
60
+ Requires-Dist: pytest-cov>=4.0.0; extra == "test"
61
+ Requires-Dist: httpx>=0.24.0; extra == "test"
62
+ Requires-Dist: pytest-mock>=3.10.0; extra == "test"
63
+ Provides-Extra: docs
64
+ Requires-Dist: mkdocs>=1.4.0; extra == "docs"
65
+ Requires-Dist: mkdocs-material>=9.0.0; extra == "docs"
66
+ Requires-Dist: mkdocstrings[python]>=0.20.0; extra == "docs"
67
+ Dynamic: author
68
+ Dynamic: home-page
69
+ Dynamic: license-file
70
+ Dynamic: requires-python
71
+
72
+ # MCP Proxy Adapter
73
+
74
+ A powerful framework for creating JSON-RPC-enabled microservices with built-in security, authentication, and proxy registration capabilities.
75
+
76
+ ## Features
77
+
78
+ - **JSON-RPC Framework**: Complete JSON-RPC 2.0 implementation
79
+ - **Security Integration**: Built-in support for mcp_security_framework
80
+ - **Authentication**: Multiple auth methods (API Key, JWT, Certificate, Basic Auth)
81
+ - **Proxy Registration**: Automatic registration and discovery of services
82
+ - **Command System**: Extensible command framework with role-based access control
83
+ - **SSL/TLS Support**: Full SSL/TLS support including mTLS
84
+ - **Async Support**: Built on FastAPI with full async support
85
+ - **Extensible**: Plugin system for custom commands and middleware
86
+
87
+ ## Quick Start
88
+
89
+ ### Installation
90
+
91
+ ```bash
92
+ pip install mcp-proxy-adapter
93
+ ```
94
+
95
+ ### Basic Usage
96
+
97
+ ```python
98
+ from mcp_proxy_adapter import create_app, Command, SuccessResult
99
+
100
+ # Create a custom command
101
+ class HelloCommand(Command):
102
+ name = "hello"
103
+ descr = "Say hello"
104
+
105
+ async def execute(self, **kwargs) -> SuccessResult:
106
+ name = kwargs.get("name", "World")
107
+ return SuccessResult(f"Hello, {name}!")
108
+
109
+ # Create and run the application
110
+ app = create_app()
111
+ ```
112
+
113
+ ### Configuration
114
+
115
+ ```json
116
+ {
117
+ "server": {
118
+ "host": "0.0.0.0",
119
+ "port": 8000
120
+ },
121
+ "security": {
122
+ "enabled": true,
123
+ "framework": "mcp_security_framework"
124
+ },
125
+ "commands": {
126
+ "auto_discovery": true,
127
+ "builtin_commands": ["echo", "health", "config"]
128
+ }
129
+ }
130
+ ```
131
+
132
+ ## Examples
133
+
134
+ ### Proxy Registration Example
135
+
136
+ ```python
137
+ # Example of proxy registration with authentication
138
+ import asyncio
139
+ from mcp_proxy_adapter.examples.proxy_registration_example import ProxyRegistrationExample
140
+
141
+ async def main():
142
+ async with ProxyRegistrationExample("http://localhost:8002", "your-token") as client:
143
+ result = await client.test_registration({
144
+ "server_id": "my-server",
145
+ "server_url": "http://localhost:8001",
146
+ "server_name": "My Server"
147
+ })
148
+ print(f"Registration result: {result}")
149
+
150
+ asyncio.run(main())
151
+ ```
152
+
153
+ ### Security Testing
154
+
155
+ The framework includes comprehensive security testing examples:
156
+
157
+ - HTTP with Token Authentication
158
+ - HTTPS with Certificate Authentication
159
+ - mTLS (Mutual TLS) Authentication
160
+ - Role-based Access Control
161
+ - Permission Validation
162
+
163
+ ## Documentation
164
+
165
+ For detailed documentation, examples, and API reference, see the [documentation](https://github.com/maverikod/mcp-proxy-adapter).
166
+
167
+ ## Development
168
+
169
+ ### Setup Development Environment
170
+
171
+ ```bash
172
+ git clone https://github.com/maverikod/mcp-proxy-adapter.git
173
+ cd mcp-proxy-adapter
174
+ python -m venv .venv
175
+ source .venv/bin/activate # On Windows: .venv\Scripts\activate
176
+ pip install -e ".[dev]"
177
+ ```
178
+
179
+ ### Running Tests
180
+
181
+ ```bash
182
+ pytest tests/
183
+ ```
184
+
185
+ ### Running Examples
186
+
187
+ ```bash
188
+ # Start server
189
+ python -m mcp_proxy_adapter.main --config examples/server_configs/config_simple.json
190
+
191
+ # Run proxy registration example
192
+ python examples/proxy_registration_example.py
193
+ ```
194
+
195
+ ## License
196
+
197
+ MIT License - see LICENSE file for details.
198
+
199
+ ## Author
200
+
201
+ **Vasiliy Zdanovskiy** - vasilyvz@gmail.com
202
+
203
+ ## Version
204
+
205
+ 6.1.0 - Major release with security framework integration and proxy registration capabilities.
@@ -0,0 +1,134 @@
1
+ # MCP Proxy Adapter
2
+
3
+ A powerful framework for creating JSON-RPC-enabled microservices with built-in security, authentication, and proxy registration capabilities.
4
+
5
+ ## Features
6
+
7
+ - **JSON-RPC Framework**: Complete JSON-RPC 2.0 implementation
8
+ - **Security Integration**: Built-in support for mcp_security_framework
9
+ - **Authentication**: Multiple auth methods (API Key, JWT, Certificate, Basic Auth)
10
+ - **Proxy Registration**: Automatic registration and discovery of services
11
+ - **Command System**: Extensible command framework with role-based access control
12
+ - **SSL/TLS Support**: Full SSL/TLS support including mTLS
13
+ - **Async Support**: Built on FastAPI with full async support
14
+ - **Extensible**: Plugin system for custom commands and middleware
15
+
16
+ ## Quick Start
17
+
18
+ ### Installation
19
+
20
+ ```bash
21
+ pip install mcp-proxy-adapter
22
+ ```
23
+
24
+ ### Basic Usage
25
+
26
+ ```python
27
+ from mcp_proxy_adapter import create_app, Command, SuccessResult
28
+
29
+ # Create a custom command
30
+ class HelloCommand(Command):
31
+ name = "hello"
32
+ descr = "Say hello"
33
+
34
+ async def execute(self, **kwargs) -> SuccessResult:
35
+ name = kwargs.get("name", "World")
36
+ return SuccessResult(f"Hello, {name}!")
37
+
38
+ # Create and run the application
39
+ app = create_app()
40
+ ```
41
+
42
+ ### Configuration
43
+
44
+ ```json
45
+ {
46
+ "server": {
47
+ "host": "0.0.0.0",
48
+ "port": 8000
49
+ },
50
+ "security": {
51
+ "enabled": true,
52
+ "framework": "mcp_security_framework"
53
+ },
54
+ "commands": {
55
+ "auto_discovery": true,
56
+ "builtin_commands": ["echo", "health", "config"]
57
+ }
58
+ }
59
+ ```
60
+
61
+ ## Examples
62
+
63
+ ### Proxy Registration Example
64
+
65
+ ```python
66
+ # Example of proxy registration with authentication
67
+ import asyncio
68
+ from mcp_proxy_adapter.examples.proxy_registration_example import ProxyRegistrationExample
69
+
70
+ async def main():
71
+ async with ProxyRegistrationExample("http://localhost:8002", "your-token") as client:
72
+ result = await client.test_registration({
73
+ "server_id": "my-server",
74
+ "server_url": "http://localhost:8001",
75
+ "server_name": "My Server"
76
+ })
77
+ print(f"Registration result: {result}")
78
+
79
+ asyncio.run(main())
80
+ ```
81
+
82
+ ### Security Testing
83
+
84
+ The framework includes comprehensive security testing examples:
85
+
86
+ - HTTP with Token Authentication
87
+ - HTTPS with Certificate Authentication
88
+ - mTLS (Mutual TLS) Authentication
89
+ - Role-based Access Control
90
+ - Permission Validation
91
+
92
+ ## Documentation
93
+
94
+ For detailed documentation, examples, and API reference, see the [documentation](https://github.com/maverikod/mcp-proxy-adapter).
95
+
96
+ ## Development
97
+
98
+ ### Setup Development Environment
99
+
100
+ ```bash
101
+ git clone https://github.com/maverikod/mcp-proxy-adapter.git
102
+ cd mcp-proxy-adapter
103
+ python -m venv .venv
104
+ source .venv/bin/activate # On Windows: .venv\Scripts\activate
105
+ pip install -e ".[dev]"
106
+ ```
107
+
108
+ ### Running Tests
109
+
110
+ ```bash
111
+ pytest tests/
112
+ ```
113
+
114
+ ### Running Examples
115
+
116
+ ```bash
117
+ # Start server
118
+ python -m mcp_proxy_adapter.main --config examples/server_configs/config_simple.json
119
+
120
+ # Run proxy registration example
121
+ python examples/proxy_registration_example.py
122
+ ```
123
+
124
+ ## License
125
+
126
+ MIT License - see LICENSE file for details.
127
+
128
+ ## Author
129
+
130
+ **Vasiliy Zdanovskiy** - vasilyvz@gmail.com
131
+
132
+ ## Version
133
+
134
+ 6.1.0 - Major release with security framework integration and proxy registration capabilities.
@@ -0,0 +1,157 @@
1
+ # TODO: Security Framework Integration
2
+
3
+ **Author**: Vasiliy Zdanovskiy
4
+ **Email**: vasilyvz@gmail.com
5
+ **Date**: 2025-08-30
6
+
7
+ ## ✅ Выполненные задачи
8
+
9
+ ### 1. Анализ конфигурации фреймворка
10
+ - [x] Проанализирована структура `mcp_security_framework/schemas/config.py`
11
+ - [x] Изучены все схемы: `SecurityConfig`, `AuthConfig`, `SSLConfig`, `PermissionConfig`, `RateLimitConfig`, `CertificateConfig`, `LoggingConfig`
12
+ - [x] Понята структура конфигурации фреймворка
13
+
14
+ ### 2. Создание утилиты генерации конфигов
15
+ - [x] Создан `mcp_proxy_adapter/utils/config_generator.py`
16
+ - [x] Реализована генерация 4 типов конфигов: minimal, development, secure, full
17
+ - [x] Добавлены комментарии и документация
18
+ - [x] Протестирована генерация конфигов
19
+
20
+ ### 3. Прямая интеграция с фреймворком
21
+ - [x] Создан `mcp_proxy_adapter/core/security_integration.py`
22
+ - [x] Реализованы прямые вызовы методов фреймворка:
23
+ - `SecurityManager` - валидация запросов
24
+ - `AuthManager` - аутентификация (API key, JWT, certificate)
25
+ - `CertificateManager` - управление сертификатами
26
+ - `PermissionManager` - управление ролями и правами
27
+ - `RateLimiter` - ограничение скорости
28
+ - [x] Заменен `UnifiedSecurityMiddleware` на прямое использование `FastAPISecurityMiddleware`
29
+
30
+ ### 4. Новая команда безопасности
31
+ - [x] Создан `mcp_proxy_adapter/commands/security_command.py`
32
+ - [x] Реализованы все операции безопасности через фреймворк
33
+ - [x] Поддержка аутентификации, управления сертификатами, ролями, rate limiting
34
+
35
+ ### 5. Клиентская интеграция с фреймворком
36
+ - [x] Создан `mcp_proxy_adapter/core/client_security.py`
37
+ - [x] Реализованы клиентские методы безопасности:
38
+ - Создание SSL контекстов для клиентских подключений
39
+ - Генерация API ключей и JWT токенов
40
+ - Валидация серверных сертификатов
41
+ - Извлечение ролей из сертификатов
42
+ - Создание заголовков аутентификации
43
+ - [x] Интеграция с утилитами фреймворка
44
+
45
+ ### 6. Конфигурация регистрации прокси
46
+ - [x] Добавлена секция `registration` в конфигурацию
47
+ - [x] Поддержка различных методов аутентификации:
48
+ - Сертификаты (cert_file, key_file, ca_cert_file)
49
+ - Токены (token, token_type, refresh_interval)
50
+ - API ключи (key, key_header)
51
+ - [x] Настройки heartbeat и auto_discovery
52
+ - [x] Информация о прокси (capabilities, endpoints)
53
+
54
+ ### 7. Обновление модуля регистрации прокси
55
+ - [x] Обновлен `mcp_proxy_adapter/core/proxy_registration.py`
56
+ - [x] Интеграция с `ClientSecurityManager`
57
+ - [x] Безопасные подключения с SSL/TLS
58
+ - [x] Аутентификация через фреймворк безопасности
59
+ - [x] Heartbeat с безопасными запросами
60
+ - [x] Валидация ответов сервера
61
+
62
+ ## 🔄 Текущие задачи
63
+
64
+ ### 8. Интеграция в основное приложение
65
+ - [ ] Обновить `mcp_proxy_adapter/api/app.py` для инициализации регистрации
66
+ - [ ] Добавить инициализацию `ClientSecurityManager` в startup
67
+ - [ ] Интегрировать безопасную регистрацию в lifecycle приложения
68
+
69
+ ### 9. Обновление команд
70
+ - [ ] Обновить `mcp_proxy_adapter/commands/proxy_registration_command.py`
71
+ - [ ] Добавить команды для управления безопасной регистрацией
72
+ - [ ] Интегрировать с новой командой безопасности
73
+
74
+ ### 10. Тестирование и документация
75
+ - [ ] Создать тесты для клиентской безопасности
76
+ - [ ] Протестировать безопасную регистрацию
77
+ - [ ] Обновить документацию
78
+ - [ ] Создать примеры использования
79
+
80
+ ## 📋 План действий
81
+
82
+ ### Этап 1: Интеграция в приложение (1 день)
83
+ 1. Обновить `api/app.py` для инициализации компонентов безопасности
84
+ 2. Добавить безопасную регистрацию в startup/shutdown
85
+ 3. Интегрировать с middleware
86
+
87
+ ### Этап 2: Обновление команд (0.5 дня)
88
+ 1. Обновить команду регистрации прокси
89
+ 2. Добавить новые команды безопасности
90
+ 3. Протестировать команды
91
+
92
+ ### Этап 3: Тестирование (0.5 дня)
93
+ 1. Создать тесты для клиентской безопасности
94
+ 2. Протестировать безопасную регистрацию
95
+ 3. Проверить все сценарии
96
+
97
+ ## 🎯 Критические моменты
98
+
99
+ ### Архитектура безопасности
100
+ ```
101
+ mcp_proxy_adapter
102
+ ├── core/
103
+ │ ├── security_integration.py ✅ Готово
104
+ │ ├── client_security.py ✅ Готово
105
+ │ ├── proxy_registration.py ✅ Готово
106
+ │ └── proxy_manager.py 🔄 Нужно обновить
107
+ ├── commands/
108
+ │ ├── security_command.py ✅ Готово
109
+ │ └── proxy_registration_command.py 🔄 Нужно обновить
110
+ ├── api/
111
+ │ ├── app.py 🔄 Нужно обновить
112
+ │ └── middleware/
113
+ │ └── unified_security.py ✅ Готово
114
+ └── utils/
115
+ └── config_generator.py ✅ Готово
116
+ ```
117
+
118
+ ### Конфигурация регистрации
119
+ ```json
120
+ {
121
+ "registration": {
122
+ "enabled": true,
123
+ "server_url": "https://proxy-registry.example.com",
124
+ "auth_method": "certificate",
125
+ "certificate": {
126
+ "enabled": true,
127
+ "cert_file": "./certs/proxy_client.crt",
128
+ "key_file": "./keys/proxy_client.key",
129
+ "ca_cert_file": "./certs/ca.crt"
130
+ },
131
+ "heartbeat": {
132
+ "enabled": true,
133
+ "interval": 300
134
+ }
135
+ }
136
+ }
137
+ ```
138
+
139
+ ## 📝 Заметки
140
+
141
+ ### Выполненные интеграции
142
+ - ✅ Прямое использование `SecurityManager`, `AuthManager`, `CertificateManager`
143
+ - ✅ Клиентская безопасность с SSL/TLS и аутентификацией
144
+ - ✅ Безопасная регистрация прокси с heartbeat
145
+ - ✅ Конфигурация с поддержкой сертификатов, токенов, API ключей
146
+
147
+ ### Следующие шаги
148
+ 1. Интегрировать в основное приложение
149
+ 2. Обновить команды
150
+ 3. Протестировать полную интеграцию
151
+ 4. Обновить документацию
152
+
153
+ ### Результаты
154
+ - **Удалено дублирование**: Все методы безопасности теперь используют фреймворк
155
+ - **Добавлена безопасность**: Клиентские подключения защищены SSL/TLS
156
+ - **Улучшена конфигурация**: Единая конфигурация для проекта и фреймворка
157
+ - **Готова регистрация**: Безопасная регистрация прокси с аутентификацией
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env python3
2
+ """
3
+ Main entry point for MCP Proxy Adapter.
4
+
5
+ This module allows running the MCP Proxy Adapter as a module:
6
+ python -m mcp_proxy_adapter
7
+ """
8
+
9
+ from mcp_proxy_adapter.main import main
10
+
11
+ if __name__ == "__main__":
12
+ main()