mcp-proxy-adapter 6.0.0__tar.gz → 6.1.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (584) hide show
  1. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/LICENSE +2 -2
  2. mcp_proxy_adapter-6.1.1/MANIFEST.in +35 -0
  3. mcp_proxy_adapter-6.1.1/PKG-INFO +205 -0
  4. mcp_proxy_adapter-6.1.1/README.md +134 -0
  5. mcp_proxy_adapter-6.1.1/TODO_SECURITY_INTEGRATION.md +157 -0
  6. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/app.py +174 -80
  7. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/handlers.py +16 -5
  8. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/middleware/__init__.py +9 -4
  9. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/api/middleware/command_permission_middleware.py +148 -0
  10. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/middleware/factory.py +36 -12
  11. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/middleware/protocol_middleware.py +32 -13
  12. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/api/middleware/unified_security.py +160 -0
  13. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/api/middleware/user_info_middleware.py +83 -0
  14. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/__init__.py +7 -1
  15. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/base.py +7 -4
  16. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/builtin_commands.py +8 -2
  17. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/command_registry.py +8 -0
  18. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/commands/echo_command.py +81 -0
  19. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/help_command.py +21 -14
  20. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/commands/proxy_registration_command.py +409 -0
  21. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/commands/role_test_command.py +141 -0
  22. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/commands/security_command.py +488 -0
  23. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/ssl_setup_command.py +2 -2
  24. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/token_management_command.py +1 -1
  25. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/config.py +81 -21
  26. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/core/app_factory.py +326 -0
  27. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/core/client_security.py +384 -0
  28. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/logging.py +8 -3
  29. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/core/mtls_asgi.py +156 -0
  30. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/core/mtls_asgi_app.py +187 -0
  31. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/protocol_manager.py +139 -8
  32. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/core/proxy_client.py +602 -0
  33. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/core/proxy_registration.py +522 -0
  34. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/security_adapter.py +12 -15
  35. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/core/security_integration.py +285 -0
  36. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/core/server_adapter.py +345 -0
  37. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/core/server_engine.py +364 -0
  38. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/core/unified_config_adapter.py +579 -0
  39. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/docs/EN/TROUBLESHOOTING.md +285 -0
  40. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/docs/RU/TROUBLESHOOTING.md +285 -0
  41. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/README.md +257 -0
  42. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/README_EN.md +258 -0
  43. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/SECURITY_TESTING.md +455 -0
  44. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/basic_framework/configs/http_auth.json +37 -0
  45. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/basic_framework/configs/http_simple.json +23 -0
  46. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/basic_framework/configs/https_auth.json +43 -0
  47. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/basic_framework/configs/https_no_protocol_middleware.json +36 -0
  48. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/basic_framework/configs/https_simple.json +29 -0
  49. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/basic_framework/configs/mtls_no_protocol_middleware.json +34 -0
  50. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/basic_framework/configs/mtls_no_roles.json +39 -0
  51. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/basic_framework/configs/mtls_simple.json +35 -0
  52. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/basic_framework/configs/mtls_with_roles.json +45 -0
  53. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/basic_framework/main.py +63 -0
  54. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/basic_framework/roles.json +21 -0
  55. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/cert_config.json +9 -0
  56. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/admin.crt +32 -0
  57. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/admin.key +52 -0
  58. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/admin_cert.pem +21 -0
  59. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/admin_key.pem +28 -0
  60. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/ca_cert.pem +23 -0
  61. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/ca_cert.srl +1 -0
  62. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/ca_key.pem +28 -0
  63. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/cert_config.json +9 -0
  64. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/client.crt +32 -0
  65. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/client.key +52 -0
  66. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/client_admin.crt +32 -0
  67. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/client_admin.key +52 -0
  68. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/client_user.crt +32 -0
  69. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/client_user.key +52 -0
  70. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/guest_cert.pem +21 -0
  71. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/guest_key.pem +28 -0
  72. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/mcp_proxy_adapter_ca_ca.crt +23 -0
  73. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/proxy_cert.pem +21 -0
  74. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/proxy_key.pem +28 -0
  75. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/readonly.crt +32 -0
  76. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/readonly.key +52 -0
  77. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/readonly_cert.pem +21 -0
  78. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/readonly_key.pem +28 -0
  79. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/server.crt +32 -0
  80. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/server.key +52 -0
  81. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/server_cert.pem +32 -0
  82. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/server_key.pem +52 -0
  83. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/test_ca_ca.crt +20 -0
  84. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/user.crt +32 -0
  85. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/user.key +52 -0
  86. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/user_cert.pem +21 -0
  87. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/certs/user_key.pem +28 -0
  88. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/client_configs/api_key_client.json +13 -0
  89. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/client_configs/basic_auth_client.json +13 -0
  90. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/client_configs/certificate_client.json +22 -0
  91. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/client_configs/jwt_client.json +15 -0
  92. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/client_configs/no_auth_client.json +9 -0
  93. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/commands/__init__.py +1 -0
  94. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/create_certificates_simple.py +307 -0
  95. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/debug_request_state.py +144 -0
  96. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/debug_role_chain.py +205 -0
  97. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/demo_client.py +341 -0
  98. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py +99 -0
  99. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py +106 -0
  100. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/full_application/configs/http_auth.json +37 -0
  101. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/full_application/configs/http_simple.json +23 -0
  102. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/full_application/configs/https_auth.json +39 -0
  103. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/full_application/configs/https_simple.json +25 -0
  104. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/full_application/configs/mtls_no_roles.json +39 -0
  105. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/full_application/configs/mtls_with_roles.json +45 -0
  106. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py +97 -0
  107. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py +95 -0
  108. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/full_application/main.py +138 -0
  109. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/full_application/roles.json +21 -0
  110. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/generate_all_certificates.py +429 -0
  111. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/generate_certificates.py +121 -0
  112. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/keys/ca_key.pem +28 -0
  113. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/keys/mcp_proxy_adapter_ca_ca.key +28 -0
  114. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/keys/test_ca_ca.key +28 -0
  115. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log +220 -0
  116. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.1 +1 -0
  117. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.2 +1 -0
  118. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.3 +1 -0
  119. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.4 +1 -0
  120. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.5 +1 -0
  121. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log +220 -0
  122. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.1 +1 -0
  123. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.2 +1 -0
  124. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.3 +1 -0
  125. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.4 +1 -0
  126. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.5 +1 -0
  127. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log +2 -0
  128. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.1 +1 -0
  129. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.2 +1 -0
  130. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.3 +1 -0
  131. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.4 +1 -0
  132. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.5 +1 -0
  133. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/proxy_registration_example.py +401 -0
  134. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/roles.json +38 -0
  135. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/run_example.py +81 -0
  136. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/run_security_tests.py +326 -0
  137. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/run_security_tests_fixed.py +300 -0
  138. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/security_test_client.py +743 -0
  139. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/server_configs/config_basic_http.json +204 -0
  140. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/server_configs/config_http_token.json +238 -0
  141. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/server_configs/config_https.json +215 -0
  142. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/server_configs/config_https_token.json +231 -0
  143. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/server_configs/config_mtls.json +215 -0
  144. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/server_configs/config_proxy_registration.json +250 -0
  145. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/server_configs/config_simple.json +46 -0
  146. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/server_configs/roles.json +38 -0
  147. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/test_config_generator.py +110 -0
  148. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/test_examples.py +344 -0
  149. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/examples/universal_client.py +628 -0
  150. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/main.py +21 -10
  151. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/utils/config_generator.py +727 -0
  152. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter/version.py +6 -0
  153. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter.egg-info/PKG-INFO +205 -0
  154. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter.egg-info/SOURCES.txt +249 -0
  155. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter.egg-info/entry_points.txt +2 -0
  156. mcp_proxy_adapter-6.1.1/mcp_proxy_adapter.egg-info/requires.txt +37 -0
  157. mcp_proxy_adapter-6.1.1/pyproject.toml +182 -0
  158. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/requirements.txt +1 -1
  159. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/setup.py +3 -2
  160. mcp_proxy_adapter-6.1.1/test_config_basic_http.json +228 -0
  161. mcp_proxy_adapter-6.1.1/test_config_http_token.json +250 -0
  162. mcp_proxy_adapter-6.1.1/test_config_https.json +251 -0
  163. mcp_proxy_adapter-6.1.1/test_config_https_no_protocol_middleware.json +251 -0
  164. mcp_proxy_adapter-6.1.1/test_config_https_token.json +251 -0
  165. mcp_proxy_adapter-6.1.1/test_config_mtls.json +251 -0
  166. mcp_proxy_adapter-6.1.1/test_config_mtls_no_protocol_middleware.json +251 -0
  167. mcp_proxy_adapter-6.1.1/test_generated_config.json +272 -0
  168. mcp_proxy_adapter-6.1.1/test_https_with_comments.json +250 -0
  169. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/api/test_cmd_endpoint.py +45 -37
  170. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/api/test_tool_integration.py +1 -1
  171. mcp_proxy_adapter-6.1.1/tests/clients/__init__.py +13 -0
  172. mcp_proxy_adapter-6.1.1/tests/clients/security_test_client.py +640 -0
  173. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/commands/test_config_command.py +5 -1
  174. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/commands/test_echo_command.py +2 -2
  175. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/commands/test_help_command.py +3 -0
  176. mcp_proxy_adapter-6.1.1/tests/common/mock_classes.py +191 -0
  177. mcp_proxy_adapter-6.1.1/tests/conftest.py +342 -0
  178. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/functional/test_api.py +2 -2
  179. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/integration/test_cmd_integration.py +54 -11
  180. mcp_proxy_adapter-6.1.1/tests/integration/test_configuration_scenarios.py +450 -0
  181. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/integration/test_integration.py +41 -12
  182. mcp_proxy_adapter-6.1.1/tests/integration/test_security_integration.py +286 -0
  183. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/performance/test_performance.py +66 -30
  184. mcp_proxy_adapter-6.1.1/tests/performance/test_security_performance.py +398 -0
  185. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/stubs/__init__.py +1 -1
  186. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/test_api_endpoints.py +17 -1
  187. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/test_command_registry.py +34 -95
  188. mcp_proxy_adapter-6.1.1/tests/test_security_examples.py +304 -0
  189. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/unit/test_base_command.py +65 -50
  190. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/unit/test_config.py +2 -2
  191. mcp_proxy_adapter-6.1.1/tests/unit/test_unified_config_adapter.py +535 -0
  192. mcp_proxy_adapter-6.1.1/tests/unit/test_unified_security_middleware.py +495 -0
  193. mcp_proxy_adapter-6.0.0/MANIFEST.in +0 -28
  194. mcp_proxy_adapter-6.0.0/PKG-INFO +0 -201
  195. mcp_proxy_adapter-6.0.0/README.md +0 -148
  196. mcp_proxy_adapter-6.0.0/docs/API.md +0 -449
  197. mcp_proxy_adapter-6.0.0/docs/EN/API_SCHEMA.md +0 -183
  198. mcp_proxy_adapter-6.0.0/docs/EN/AUTOMATED_PUBLISHING.md +0 -121
  199. mcp_proxy_adapter-6.0.0/docs/EN/BASIC_ARCHITECTURE.md +0 -210
  200. mcp_proxy_adapter-6.0.0/docs/EN/COMMAND_CHECKLIST.md +0 -81
  201. mcp_proxy_adapter-6.0.0/docs/EN/COMMAND_RESULTS.md +0 -252
  202. mcp_proxy_adapter-6.0.0/docs/EN/COMMAND_TEMPLATE.md +0 -283
  203. mcp_proxy_adapter-6.0.0/docs/EN/CONFIGURATION_PRINCIPLES.md +0 -305
  204. mcp_proxy_adapter-6.0.0/docs/EN/DOCUMENTATION_MAP.md +0 -92
  205. mcp_proxy_adapter-6.0.0/docs/EN/DOCUMENTATION_STANDARDS.md +0 -118
  206. mcp_proxy_adapter-6.0.0/docs/EN/ERROR_HANDLING.md +0 -225
  207. mcp_proxy_adapter-6.0.0/docs/EN/EXAMPLES_COMMAND_CLASSES.md +0 -87
  208. mcp_proxy_adapter-6.0.0/docs/EN/GLOSSARY.md +0 -53
  209. mcp_proxy_adapter-6.0.0/docs/EN/LOGGING_SYSTEM.md +0 -285
  210. mcp_proxy_adapter-6.0.0/docs/EN/NAMING_STANDARDS.md +0 -216
  211. mcp_proxy_adapter-6.0.0/docs/EN/OPENAPI_SCHEMA.md +0 -535
  212. mcp_proxy_adapter-6.0.0/docs/EN/PROJECT_EXTENSION_GUIDE.md +0 -696
  213. mcp_proxy_adapter-6.0.0/docs/EN/PROJECT_IDEOLOGY.md +0 -139
  214. mcp_proxy_adapter-6.0.0/docs/EN/PROJECT_RULES.md +0 -161
  215. mcp_proxy_adapter-6.0.0/docs/EN/PROJECT_STRUCTURE.md +0 -166
  216. mcp_proxy_adapter-6.0.0/docs/EN/PUBLISHING_TO_PYPI.md +0 -175
  217. mcp_proxy_adapter-6.0.0/docs/EN/README.md +0 -20
  218. mcp_proxy_adapter-6.0.0/docs/EN/api/cmd_endpoint.md +0 -177
  219. mcp_proxy_adapter-6.0.0/docs/EN/api/errors.md +0 -100
  220. mcp_proxy_adapter-6.0.0/docs/EN/api/intro.md +0 -30
  221. mcp_proxy_adapter-6.0.0/docs/EN/api/requests.md +0 -79
  222. mcp_proxy_adapter-6.0.0/docs/EN/api/responses.md +0 -104
  223. mcp_proxy_adapter-6.0.0/docs/EN/commands/dependency_management.md +0 -297
  224. mcp_proxy_adapter-6.0.0/docs/EN/commands/get_date_command.md +0 -128
  225. mcp_proxy_adapter-6.0.0/docs/EN/commands/help_command.md +0 -239
  226. mcp_proxy_adapter-6.0.0/docs/EN/commands/index.md +0 -54
  227. mcp_proxy_adapter-6.0.0/docs/EN/commands/load_command.md +0 -222
  228. mcp_proxy_adapter-6.0.0/docs/EN/commands/new_uuid4_command.md +0 -110
  229. mcp_proxy_adapter-6.0.0/docs/EN/commands/plugins_command.md +0 -125
  230. mcp_proxy_adapter-6.0.0/docs/EN/commands/protocol_management_command.md +0 -301
  231. mcp_proxy_adapter-6.0.0/docs/EN/commands/reload_settings_command.md +0 -183
  232. mcp_proxy_adapter-6.0.0/docs/EN/commands/settings_command.md +0 -298
  233. mcp_proxy_adapter-6.0.0/docs/EN/commands/unload_command.md +0 -209
  234. mcp_proxy_adapter-6.0.0/docs/EN/development/COMMAND_METADATA_ENHANCEMENT.md +0 -350
  235. mcp_proxy_adapter-6.0.0/docs/EN/development/DEPENDENCY_INJECTION.md +0 -176
  236. mcp_proxy_adapter-6.0.0/docs/EN/development/HOOK_SYSTEM.md +0 -346
  237. mcp_proxy_adapter-6.0.0/docs/EN/development/METADATA_COMMANDS.md +0 -149
  238. mcp_proxy_adapter-6.0.0/docs/EN/development/OPENAPI_CUSTOMIZATION.md +0 -412
  239. mcp_proxy_adapter-6.0.0/docs/EN/development/PROXY_REGISTRATION.md +0 -350
  240. mcp_proxy_adapter-6.0.0/docs/EN/development/REMOVE_COMMAND_GUIDE.md +0 -122
  241. mcp_proxy_adapter-6.0.0/docs/EN/development/TOOL_INTEGRATION.md +0 -252
  242. mcp_proxy_adapter-6.0.0/docs/EN/development/TRANSPORT_SYSTEM_REFACTORING.md +0 -484
  243. mcp_proxy_adapter-6.0.0/docs/EN/development/TRANSPORT_TODO.md +0 -74
  244. mcp_proxy_adapter-6.0.0/docs/EN/development/architecture.md +0 -97
  245. mcp_proxy_adapter-6.0.0/docs/EN/development/command_auto_discovery.md +0 -277
  246. mcp_proxy_adapter-6.0.0/docs/EN/development/settings_management.md +0 -345
  247. mcp_proxy_adapter-6.0.0/docs/EN/examples/README.md +0 -37
  248. mcp_proxy_adapter-6.0.0/docs/EN/examples/anti_patterns.md +0 -156
  249. mcp_proxy_adapter-6.0.0/docs/EN/examples/basic_example.md +0 -168
  250. mcp_proxy_adapter-6.0.0/docs/EN/examples/complete_example.md +0 -190
  251. mcp_proxy_adapter-6.0.0/docs/EN/examples/minimal_example.md +0 -127
  252. mcp_proxy_adapter-6.0.0/docs/EN/testing/README.md +0 -172
  253. mcp_proxy_adapter-6.0.0/docs/EN/user/basic_usage.md +0 -122
  254. mcp_proxy_adapter-6.0.0/docs/EN/user/configuration.md +0 -128
  255. mcp_proxy_adapter-6.0.0/docs/EN/user/deployment.md +0 -166
  256. mcp_proxy_adapter-6.0.0/docs/EN/user/examples.md +0 -169
  257. mcp_proxy_adapter-6.0.0/docs/EN/user/installation.md +0 -56
  258. mcp_proxy_adapter-6.0.0/docs/EXAMPLES.md +0 -631
  259. mcp_proxy_adapter-6.0.0/docs/RU/API_SCHEMA.md +0 -183
  260. mcp_proxy_adapter-6.0.0/docs/RU/AUTOMATED_PUBLISHING.md +0 -121
  261. mcp_proxy_adapter-6.0.0/docs/RU/BASIC_ARCHITECTURE.md +0 -210
  262. mcp_proxy_adapter-6.0.0/docs/RU/COMMAND_CHECKLIST.md +0 -152
  263. mcp_proxy_adapter-6.0.0/docs/RU/COMMAND_RESULTS.md +0 -286
  264. mcp_proxy_adapter-6.0.0/docs/RU/COMMAND_TEMPLATE.md +0 -283
  265. mcp_proxy_adapter-6.0.0/docs/RU/CONFIGURATION_PRINCIPLES.md +0 -305
  266. mcp_proxy_adapter-6.0.0/docs/RU/DOCUMENTATION_MAP.md +0 -92
  267. mcp_proxy_adapter-6.0.0/docs/RU/DOCUMENTATION_STANDARDS.md +0 -118
  268. mcp_proxy_adapter-6.0.0/docs/RU/ERROR_HANDLING.md +0 -225
  269. mcp_proxy_adapter-6.0.0/docs/RU/EXAMPLES_COMMAND_CLASSES.md +0 -87
  270. mcp_proxy_adapter-6.0.0/docs/RU/GLOSSARY.md +0 -53
  271. mcp_proxy_adapter-6.0.0/docs/RU/LOGGING_SYSTEM.md +0 -285
  272. mcp_proxy_adapter-6.0.0/docs/RU/NAMING_STANDARDS.md +0 -216
  273. mcp_proxy_adapter-6.0.0/docs/RU/OPENAPI_SCHEMA.md +0 -535
  274. mcp_proxy_adapter-6.0.0/docs/RU/PROJECT_EXTENSION_GUIDE.md +0 -612
  275. mcp_proxy_adapter-6.0.0/docs/RU/PROJECT_IDEOLOGY.md +0 -139
  276. mcp_proxy_adapter-6.0.0/docs/RU/PROJECT_RULES.md +0 -161
  277. mcp_proxy_adapter-6.0.0/docs/RU/PROJECT_STRUCTURE.md +0 -166
  278. mcp_proxy_adapter-6.0.0/docs/RU/PUBLISHING_TO_PYPI.md +0 -175
  279. mcp_proxy_adapter-6.0.0/docs/RU/README.md +0 -20
  280. mcp_proxy_adapter-6.0.0/docs/RU/api/cmd_endpoint.md +0 -177
  281. mcp_proxy_adapter-6.0.0/docs/RU/api/errors.md +0 -100
  282. mcp_proxy_adapter-6.0.0/docs/RU/api/intro.md +0 -30
  283. mcp_proxy_adapter-6.0.0/docs/RU/api/requests.md +0 -79
  284. mcp_proxy_adapter-6.0.0/docs/RU/api/responses.md +0 -104
  285. mcp_proxy_adapter-6.0.0/docs/RU/commands/dependency_management.md +0 -297
  286. mcp_proxy_adapter-6.0.0/docs/RU/commands/get_date_command.md +0 -128
  287. mcp_proxy_adapter-6.0.0/docs/RU/commands/help_command.md +0 -239
  288. mcp_proxy_adapter-6.0.0/docs/RU/commands/index.md +0 -54
  289. mcp_proxy_adapter-6.0.0/docs/RU/commands/load_command.md +0 -222
  290. mcp_proxy_adapter-6.0.0/docs/RU/commands/new_uuid4_command.md +0 -110
  291. mcp_proxy_adapter-6.0.0/docs/RU/commands/plugins_command.md +0 -125
  292. mcp_proxy_adapter-6.0.0/docs/RU/commands/protocol_management_command.md +0 -301
  293. mcp_proxy_adapter-6.0.0/docs/RU/commands/reload_settings_command.md +0 -183
  294. mcp_proxy_adapter-6.0.0/docs/RU/commands/settings_command.md +0 -298
  295. mcp_proxy_adapter-6.0.0/docs/RU/commands/unload_command.md +0 -209
  296. mcp_proxy_adapter-6.0.0/docs/RU/development/COMMAND_METADATA_ENHANCEMENT.md +0 -350
  297. mcp_proxy_adapter-6.0.0/docs/RU/development/DEPENDENCY_INJECTION.md +0 -176
  298. mcp_proxy_adapter-6.0.0/docs/RU/development/HOOK_SYSTEM.md +0 -346
  299. mcp_proxy_adapter-6.0.0/docs/RU/development/METADATA_COMMANDS.md +0 -149
  300. mcp_proxy_adapter-6.0.0/docs/RU/development/OPENAPI_CUSTOMIZATION.md +0 -411
  301. mcp_proxy_adapter-6.0.0/docs/RU/development/PLAN_REALIZACII_METADATA.md +0 -452
  302. mcp_proxy_adapter-6.0.0/docs/RU/development/PROXY_REGISTRATION.md +0 -350
  303. mcp_proxy_adapter-6.0.0/docs/RU/development/REMOVE_COMMAND_GUIDE.md +0 -122
  304. mcp_proxy_adapter-6.0.0/docs/RU/development/TOOL_INTEGRATION.md +0 -252
  305. mcp_proxy_adapter-6.0.0/docs/RU/development/TRANSPORT_SYSTEM_REFACTORING.md +0 -484
  306. mcp_proxy_adapter-6.0.0/docs/RU/development/TRANSPORT_TODO.md +0 -74
  307. mcp_proxy_adapter-6.0.0/docs/RU/development/architecture.md +0 -97
  308. mcp_proxy_adapter-6.0.0/docs/RU/development/command_auto_discovery.md +0 -277
  309. mcp_proxy_adapter-6.0.0/docs/RU/development/settings_management.md +0 -345
  310. mcp_proxy_adapter-6.0.0/docs/RU/examples/README.md +0 -37
  311. mcp_proxy_adapter-6.0.0/docs/RU/examples/anti_patterns.md +0 -156
  312. mcp_proxy_adapter-6.0.0/docs/RU/examples/basic_example.md +0 -168
  313. mcp_proxy_adapter-6.0.0/docs/RU/examples/complete_example.md +0 -190
  314. mcp_proxy_adapter-6.0.0/docs/RU/examples/minimal_example.md +0 -127
  315. mcp_proxy_adapter-6.0.0/docs/RU/testing/README.md +0 -172
  316. mcp_proxy_adapter-6.0.0/docs/RU/user/basic_usage.md +0 -122
  317. mcp_proxy_adapter-6.0.0/docs/RU/user/configuration.md +0 -128
  318. mcp_proxy_adapter-6.0.0/docs/RU/user/deployment.md +0 -166
  319. mcp_proxy_adapter-6.0.0/docs/RU/user/examples.md +0 -169
  320. mcp_proxy_adapter-6.0.0/docs/RU/user/installation.md +0 -56
  321. mcp_proxy_adapter-6.0.0/examples/basic_server/config_token_auth.json +0 -66
  322. mcp_proxy_adapter-6.0.0/examples/basic_server/tokens.json +0 -49
  323. mcp_proxy_adapter-6.0.0/examples/protocol_configs/README.md +0 -253
  324. mcp_proxy_adapter-6.0.0/examples/protocol_configs/http_only_config.json +0 -36
  325. mcp_proxy_adapter-6.0.0/examples/protocol_configs/https_only_config.json +0 -41
  326. mcp_proxy_adapter-6.0.0/examples/protocol_configs/mtls_only_config.json +0 -42
  327. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/api/middleware/auth.py +0 -146
  328. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/api/middleware/auth_adapter.py +0 -235
  329. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/api/middleware/mtls_adapter.py +0 -305
  330. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/api/middleware/mtls_middleware.py +0 -296
  331. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/api/middleware/rate_limit.py +0 -152
  332. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/api/middleware/rate_limit_adapter.py +0 -241
  333. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/api/middleware/roles_adapter.py +0 -365
  334. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/api/middleware/roles_middleware.py +0 -381
  335. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/api/middleware/security.py +0 -376
  336. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/api/middleware/token_auth_middleware.py +0 -261
  337. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/commands/proxy_registration_command.py +0 -268
  338. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/core/proxy_registration.py +0 -270
  339. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/README.md +0 -124
  340. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/__init__.py +0 -7
  341. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/basic_server/README.md +0 -60
  342. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/basic_server/__init__.py +0 -7
  343. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/basic_server/basic_custom_settings.json +0 -39
  344. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/basic_server/config.json +0 -70
  345. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/basic_server/config_all_protocols.json +0 -54
  346. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/basic_server/config_http.json +0 -70
  347. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/basic_server/config_http_only.json +0 -52
  348. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/basic_server/config_https.json +0 -58
  349. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/basic_server/config_mtls.json +0 -58
  350. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/basic_server/config_ssl.json +0 -46
  351. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/basic_server/custom_settings_example.py +0 -238
  352. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/basic_server/server.py +0 -114
  353. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/README.md +0 -127
  354. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/__init__.py +0 -27
  355. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/advanced_hooks.py +0 -566
  356. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/auto_commands/__init__.py +0 -6
  357. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/auto_commands/auto_echo_command.py +0 -103
  358. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/auto_commands/auto_info_command.py +0 -111
  359. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/auto_commands/test_command.py +0 -105
  360. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/catalog/commands/test_command.py +0 -129
  361. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/config.json +0 -118
  362. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/config_all_protocols.json +0 -46
  363. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/config_https_only.json +0 -46
  364. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/config_https_transport.json +0 -33
  365. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/config_mtls_only.json +0 -46
  366. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/config_mtls_transport.json +0 -33
  367. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/config_single_transport.json +0 -33
  368. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/custom_health_command.py +0 -169
  369. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/custom_help_command.py +0 -215
  370. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/custom_openapi_generator.py +0 -76
  371. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/custom_settings.json +0 -96
  372. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/custom_settings_manager.py +0 -241
  373. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/data_transform_command.py +0 -135
  374. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/echo_command.py +0 -122
  375. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/full_help_response.json +0 -1
  376. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/generated_openapi.json +0 -629
  377. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/get_openapi.py +0 -103
  378. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/hooks.py +0 -230
  379. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/intercept_command.py +0 -123
  380. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/loadable_commands/test_ignored.py +0 -129
  381. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/manual_echo_command.py +0 -103
  382. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/proxy_connection_manager.py +0 -278
  383. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/server.py +0 -252
  384. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/simple_openapi_server.py +0 -75
  385. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/start_server_with_proxy_manager.py +0 -299
  386. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/start_server_with_registration.py +0 -278
  387. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/test_hooks.py +0 -176
  388. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/test_openapi.py +0 -27
  389. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/test_registry.py +0 -23
  390. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_commands/test_simple.py +0 -19
  391. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_project_example/README.md +0 -103
  392. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/custom_project_example/README_EN.md +0 -103
  393. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/deployment/README.md +0 -49
  394. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/deployment/__init__.py +0 -7
  395. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/deployment/config.development.json +0 -8
  396. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/deployment/config.json +0 -29
  397. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/deployment/config.production.json +0 -12
  398. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/deployment/config.staging.json +0 -11
  399. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/deployment/docker-compose.yml +0 -31
  400. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/deployment/run.sh +0 -43
  401. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/deployment/run_docker.sh +0 -84
  402. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/simple_custom_commands/README.md +0 -149
  403. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/examples/simple_custom_commands/README_EN.md +0 -149
  404. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/schemas/base_schema.json +0 -114
  405. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/schemas/openapi_schema.json +0 -314
  406. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/schemas/roles_schema.json +0 -162
  407. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/tests/api/test_middleware.py +0 -340
  408. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/tests/conftest.py +0 -131
  409. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/tests/stubs/echo_command.py +0 -104
  410. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/tests/test_api_handlers.py +0 -289
  411. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/tests/test_base_command.py +0 -123
  412. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/tests/test_config.py +0 -127
  413. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter/version.py +0 -3
  414. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter.egg-info/PKG-INFO +0 -201
  415. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter.egg-info/SOURCES.txt +0 -424
  416. mcp_proxy_adapter-6.0.0/mcp_proxy_adapter.egg-info/requires.txt +0 -8
  417. mcp_proxy_adapter-6.0.0/pyproject.toml +0 -154
  418. mcp_proxy_adapter-6.0.0/tests/__init__.py +0 -7
  419. mcp_proxy_adapter-6.0.0/tests/api/__init__.py +0 -3
  420. mcp_proxy_adapter-6.0.0/tests/api/middleware/test_middleware_init.py +0 -385
  421. mcp_proxy_adapter-6.0.0/tests/api/middleware/test_mtls_middleware.py +0 -723
  422. mcp_proxy_adapter-6.0.0/tests/api/middleware/test_protocol_middleware.py +0 -158
  423. mcp_proxy_adapter-6.0.0/tests/api/middleware/test_roles_middleware.py +0 -493
  424. mcp_proxy_adapter-6.0.0/tests/api/middleware/test_token_auth_middleware.py +0 -450
  425. mcp_proxy_adapter-6.0.0/tests/api/middleware/test_transport_middleware.py +0 -266
  426. mcp_proxy_adapter-6.0.0/tests/api/test_app.py +0 -659
  427. mcp_proxy_adapter-6.0.0/tests/api/test_app_extended.py +0 -390
  428. mcp_proxy_adapter-6.0.0/tests/api/test_app_ssl_coverage.py +0 -405
  429. mcp_proxy_adapter-6.0.0/tests/api/test_auth.py +0 -471
  430. mcp_proxy_adapter-6.0.0/tests/api/test_error_handling.py +0 -327
  431. mcp_proxy_adapter-6.0.0/tests/api/test_handlers_extended.py +0 -392
  432. mcp_proxy_adapter-6.0.0/tests/api/test_middleware_base.py +0 -246
  433. mcp_proxy_adapter-6.0.0/tests/api/test_middleware_logging.py +0 -165
  434. mcp_proxy_adapter-6.0.0/tests/api/test_middleware_performance.py +0 -267
  435. mcp_proxy_adapter-6.0.0/tests/api/test_openapi.py +0 -356
  436. mcp_proxy_adapter-6.0.0/tests/api/test_rate_limit.py +0 -106
  437. mcp_proxy_adapter-6.0.0/tests/api/test_schemas_coverage.py +0 -417
  438. mcp_proxy_adapter-6.0.0/tests/api/test_schemas_extended.py +0 -347
  439. mcp_proxy_adapter-6.0.0/tests/api/test_schemas_final.py +0 -193
  440. mcp_proxy_adapter-6.0.0/tests/api/test_tool_integration.py +0 -368
  441. mcp_proxy_adapter-6.0.0/tests/api/test_tools.py +0 -309
  442. mcp_proxy_adapter-6.0.0/tests/commands/__init__.py +0 -3
  443. mcp_proxy_adapter-6.0.0/tests/commands/test_auth_validation_command.py +0 -403
  444. mcp_proxy_adapter-6.0.0/tests/commands/test_base_command_final.py +0 -805
  445. mcp_proxy_adapter-6.0.0/tests/commands/test_builtin_commands_coverage.py +0 -75
  446. mcp_proxy_adapter-6.0.0/tests/commands/test_catalog_manager.py +0 -1095
  447. mcp_proxy_adapter-6.0.0/tests/commands/test_catalog_manager_coverage.py +0 -319
  448. mcp_proxy_adapter-6.0.0/tests/commands/test_catalog_manager_coverage_fixed.py +0 -246
  449. mcp_proxy_adapter-6.0.0/tests/commands/test_catalog_manager_fixed.py +0 -149
  450. mcp_proxy_adapter-6.0.0/tests/commands/test_catalog_manager_simple.py +0 -149
  451. mcp_proxy_adapter-6.0.0/tests/commands/test_cert_monitor_command.py +0 -763
  452. mcp_proxy_adapter-6.0.0/tests/commands/test_certificate_management_command.py +0 -594
  453. mcp_proxy_adapter-6.0.0/tests/commands/test_command_di.py +0 -158
  454. mcp_proxy_adapter-6.0.0/tests/commands/test_command_metadata.py +0 -129
  455. mcp_proxy_adapter-6.0.0/tests/commands/test_command_priorities.py +0 -233
  456. mcp_proxy_adapter-6.0.0/tests/commands/test_command_registry_coverage.py +0 -280
  457. mcp_proxy_adapter-6.0.0/tests/commands/test_command_registry_extended.py +0 -816
  458. mcp_proxy_adapter-6.0.0/tests/commands/test_config_command_extended.py +0 -252
  459. mcp_proxy_adapter-6.0.0/tests/commands/test_dependency_container.py +0 -101
  460. mcp_proxy_adapter-6.0.0/tests/commands/test_dependency_manager.py +0 -346
  461. mcp_proxy_adapter-6.0.0/tests/commands/test_echo_command_di.py +0 -127
  462. mcp_proxy_adapter-6.0.0/tests/commands/test_health_command_extended.py +0 -377
  463. mcp_proxy_adapter-6.0.0/tests/commands/test_help_command.py +0 -315
  464. mcp_proxy_adapter-6.0.0/tests/commands/test_help_command_coverage.py +0 -78
  465. mcp_proxy_adapter-6.0.0/tests/commands/test_hooks.py +0 -207
  466. mcp_proxy_adapter-6.0.0/tests/commands/test_hooks_coverage.py +0 -245
  467. mcp_proxy_adapter-6.0.0/tests/commands/test_key_management_command.py +0 -602
  468. mcp_proxy_adapter-6.0.0/tests/commands/test_load_command.py +0 -204
  469. mcp_proxy_adapter-6.0.0/tests/commands/test_new_catalog_format.py +0 -267
  470. mcp_proxy_adapter-6.0.0/tests/commands/test_plugins_command.py +0 -284
  471. mcp_proxy_adapter-6.0.0/tests/commands/test_protocol_management_command.py +0 -294
  472. mcp_proxy_adapter-6.0.0/tests/commands/test_reload_command.py +0 -182
  473. mcp_proxy_adapter-6.0.0/tests/commands/test_result.py +0 -404
  474. mcp_proxy_adapter-6.0.0/tests/commands/test_roles_management_command.py +0 -630
  475. mcp_proxy_adapter-6.0.0/tests/commands/test_settings_command_extended.py +0 -300
  476. mcp_proxy_adapter-6.0.0/tests/commands/test_ssl_setup_command.py +0 -422
  477. mcp_proxy_adapter-6.0.0/tests/commands/test_token_management_command.py +0 -442
  478. mcp_proxy_adapter-6.0.0/tests/commands/test_transport_management_command.py +0 -192
  479. mcp_proxy_adapter-6.0.0/tests/commands/test_unload_command.py +0 -120
  480. mcp_proxy_adapter-6.0.0/tests/conftest.py +0 -388
  481. mcp_proxy_adapter-6.0.0/tests/core/test_auth_validator.py +0 -541
  482. mcp_proxy_adapter-6.0.0/tests/core/test_auth_validator_coverage.py +0 -469
  483. mcp_proxy_adapter-6.0.0/tests/core/test_certificate_utils.py +0 -344
  484. mcp_proxy_adapter-6.0.0/tests/core/test_config.py +0 -368
  485. mcp_proxy_adapter-6.0.0/tests/core/test_errors.py +0 -439
  486. mcp_proxy_adapter-6.0.0/tests/core/test_logging.py +0 -389
  487. mcp_proxy_adapter-6.0.0/tests/core/test_protocol_manager.py +0 -240
  488. mcp_proxy_adapter-6.0.0/tests/core/test_proxy_registration.py +0 -217
  489. mcp_proxy_adapter-6.0.0/tests/core/test_role_utils.py +0 -460
  490. mcp_proxy_adapter-6.0.0/tests/core/test_settings_extended.py +0 -557
  491. mcp_proxy_adapter-6.0.0/tests/core/test_ssl_utils.py +0 -349
  492. mcp_proxy_adapter-6.0.0/tests/core/test_transport_manager.py +0 -338
  493. mcp_proxy_adapter-6.0.0/tests/core/test_utils.py +0 -326
  494. mcp_proxy_adapter-6.0.0/tests/examples/test_advanced_hooks.py +0 -791
  495. mcp_proxy_adapter-6.0.0/tests/examples/test_auto_echo_command.py +0 -198
  496. mcp_proxy_adapter-6.0.0/tests/examples/test_auto_info_command.py +0 -233
  497. mcp_proxy_adapter-6.0.0/tests/examples/test_basic_server.py +0 -279
  498. mcp_proxy_adapter-6.0.0/tests/examples/test_custom_commands.py +0 -212
  499. mcp_proxy_adapter-6.0.0/tests/examples/test_custom_commands_hooks.py +0 -449
  500. mcp_proxy_adapter-6.0.0/tests/examples/test_custom_health_command.py +0 -458
  501. mcp_proxy_adapter-6.0.0/tests/examples/test_custom_help_command.py +0 -359
  502. mcp_proxy_adapter-6.0.0/tests/examples/test_custom_openapi_generator.py +0 -320
  503. mcp_proxy_adapter-6.0.0/tests/examples/test_custom_settings_manager.py +0 -364
  504. mcp_proxy_adapter-6.0.0/tests/examples/test_data_transform_command.py +0 -267
  505. mcp_proxy_adapter-6.0.0/tests/examples/test_echo_command.py +0 -290
  506. mcp_proxy_adapter-6.0.0/tests/examples/test_intercept_command.py +0 -297
  507. mcp_proxy_adapter-6.0.0/tests/examples/test_manual_echo_command.py +0 -213
  508. mcp_proxy_adapter-6.0.0/tests/examples/test_server.py +0 -719
  509. mcp_proxy_adapter-6.0.0/tests/integration/__init__.py +0 -3
  510. mcp_proxy_adapter-6.0.0/tests/integration/test_integration.py +0 -506
  511. mcp_proxy_adapter-6.0.0/tests/integration/test_transport_integration.py +0 -362
  512. mcp_proxy_adapter-6.0.0/tests/scripts/test_cert_obtain.py +0 -439
  513. mcp_proxy_adapter-6.0.0/tests/scripts/test_generate_test_certs.py +0 -360
  514. mcp_proxy_adapter-6.0.0/tests/test_custom_openapi_extended.py +0 -297
  515. mcp_proxy_adapter-6.0.0/tests/test_middleware_adapters.py +0 -462
  516. mcp_proxy_adapter-6.0.0/tests/test_security_components.py +0 -316
  517. mcp_proxy_adapter-6.0.0/tests/test_security_middleware.py +0 -396
  518. mcp_proxy_adapter-6.0.0/tests/unit/__init__.py +0 -5
  519. mcp_proxy_adapter-6.0.0/tests/unit/test_basic.py +0 -26
  520. mcp_proxy_adapter-6.0.0/tests/unit/test_certificate_manager.py +0 -378
  521. mcp_proxy_adapter-6.0.0/tests/unit/test_config.py +0 -334
  522. mcp_proxy_adapter-6.0.0/tests/unit/test_middleware.py +0 -581
  523. mcp_proxy_adapter-6.0.0/tests/unit/test_models.py +0 -352
  524. mcp_proxy_adapter-6.0.0/tests/unit/test_permission_validator.py +0 -376
  525. mcp_proxy_adapter-6.0.0/tests/unit/test_serialization.py +0 -419
  526. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/__init__.py +0 -0
  527. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/__main__.py +0 -0
  528. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/__init__.py +0 -0
  529. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/middleware/base.py +0 -0
  530. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/middleware/error_handling.py +0 -0
  531. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/middleware/logging.py +0 -0
  532. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/middleware/performance.py +0 -0
  533. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/middleware/transport_middleware.py +0 -0
  534. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/schemas.py +0 -0
  535. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/tool_integration.py +0 -0
  536. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/api/tools.py +0 -0
  537. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/auth_validation_command.py +0 -0
  538. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/catalog_manager.py +0 -0
  539. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/cert_monitor_command.py +0 -0
  540. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/certificate_management_command.py +0 -0
  541. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/config_command.py +0 -0
  542. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/dependency_container.py +0 -0
  543. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/dependency_manager.py +0 -0
  544. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/health_command.py +0 -0
  545. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/hooks.py +0 -0
  546. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/key_management_command.py +0 -0
  547. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/load_command.py +0 -0
  548. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/plugins_command.py +0 -0
  549. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/protocol_management_command.py +0 -0
  550. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/reload_command.py +0 -0
  551. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/result.py +0 -0
  552. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/roles_management_command.py +0 -0
  553. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/settings_command.py +0 -0
  554. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/transport_management_command.py +0 -0
  555. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/commands/unload_command.py +0 -0
  556. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/__init__.py +0 -0
  557. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/auth_validator.py +0 -0
  558. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/certificate_utils.py +0 -0
  559. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/config_converter.py +0 -0
  560. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/config_validator.py +0 -0
  561. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/errors.py +0 -0
  562. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/role_utils.py +0 -0
  563. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/security_factory.py +0 -0
  564. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/settings.py +0 -0
  565. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/ssl_utils.py +0 -0
  566. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/transport_manager.py +0 -0
  567. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/core/utils.py +0 -0
  568. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/custom_openapi.py +0 -0
  569. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter/openapi.py +0 -0
  570. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter.egg-info/dependency_links.txt +0 -0
  571. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/mcp_proxy_adapter.egg-info/top_level.txt +0 -0
  572. {mcp_proxy_adapter-6.0.0 → mcp_proxy_adapter-6.1.1}/setup.cfg +0 -0
  573. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/__init__.py +0 -0
  574. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/api/__init__.py +0 -0
  575. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/api/test_custom_openapi.py +0 -0
  576. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/api/test_handlers.py +0 -0
  577. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/api/test_schemas.py +0 -0
  578. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/commands/__init__.py +0 -0
  579. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/functional/__init__.py +0 -0
  580. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/integration/__init__.py +0 -0
  581. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/performance/__init__.py +0 -0
  582. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/test_batch_requests.py +0 -0
  583. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/tests/test_utils.py +0 -0
  584. {mcp_proxy_adapter-6.0.0/mcp_proxy_adapter → mcp_proxy_adapter-6.1.1}/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.1
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
+ - **Готова регистрация**: Безопасная регистрация прокси с аутентификацией