mcp-proxy-adapter 6.4.10__tar.gz → 6.4.11__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. mcp_proxy_adapter-6.4.11/PKG-INFO +156 -0
  2. mcp_proxy_adapter-6.4.11/README.md +97 -0
  3. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/run_full_test_suite.py +122 -0
  4. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/setup_test_environment.py +12 -11
  5. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/version.py +1 -1
  6. mcp_proxy_adapter-6.4.11/mcp_proxy_adapter.egg-info/PKG-INFO +156 -0
  7. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter.egg-info/SOURCES.txt +8 -11
  8. mcp_proxy_adapter-6.4.11/mcp_proxy_adapter.egg-info/dependency_links.txt +1 -0
  9. mcp_proxy_adapter-6.4.11/mcp_proxy_adapter.egg-info/entry_points.txt +2 -0
  10. mcp_proxy_adapter-6.4.11/mcp_proxy_adapter.egg-info/not-zip-safe +1 -0
  11. mcp_proxy_adapter-6.4.11/mcp_proxy_adapter.egg-info/requires.txt +27 -0
  12. mcp_proxy_adapter-6.4.11/mcp_proxy_adapter.egg-info/top_level.txt +1 -0
  13. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/pyproject.toml +2 -6
  14. mcp_proxy_adapter-6.4.11/setup.py +111 -0
  15. mcp_proxy_adapter-6.4.10/MANIFEST.in +0 -40
  16. mcp_proxy_adapter-6.4.10/PKG-INFO +0 -680
  17. mcp_proxy_adapter-6.4.10/README.md +0 -621
  18. mcp_proxy_adapter-6.4.10/mcp_proxy_adapter/examples/basic_framework/roles.json +0 -21
  19. mcp_proxy_adapter-6.4.10/mcp_proxy_adapter/examples/full_application/roles.json +0 -21
  20. mcp_proxy_adapter-6.4.10/mcp_proxy_adapter/examples/generate_comprehensive_config.py +0 -177
  21. mcp_proxy_adapter-6.4.10/mcp_proxy_adapter/examples/test_mcp_adapter.py +0 -207
  22. mcp_proxy_adapter-6.4.10/mcp_proxy_adapter/schemas/base_schema.json +0 -114
  23. mcp_proxy_adapter-6.4.10/mcp_proxy_adapter/schemas/openapi_schema.json +0 -314
  24. mcp_proxy_adapter-6.4.10/mcp_proxy_adapter/utils/config_generator.py +0 -1167
  25. mcp_proxy_adapter-6.4.10/mcp_proxy_adapter_issue_package/demonstrate_issue.py +0 -208
  26. mcp_proxy_adapter-6.4.10/requirements.txt +0 -8
  27. mcp_proxy_adapter-6.4.10/setup.py +0 -624
  28. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/__init__.py +0 -0
  29. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/__main__.py +0 -0
  30. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/__init__.py +0 -0
  31. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/app.py +0 -0
  32. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/handlers.py +0 -0
  33. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/middleware/__init__.py +0 -0
  34. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/middleware/base.py +0 -0
  35. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/middleware/command_permission_middleware.py +0 -0
  36. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/middleware/error_handling.py +0 -0
  37. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/middleware/factory.py +0 -0
  38. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/middleware/logging.py +0 -0
  39. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/middleware/performance.py +0 -0
  40. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/middleware/protocol_middleware.py +0 -0
  41. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/middleware/transport_middleware.py +0 -0
  42. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/middleware/unified_security.py +0 -0
  43. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/middleware/user_info_middleware.py +0 -0
  44. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/schemas.py +0 -0
  45. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/tool_integration.py +0 -0
  46. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/api/tools.py +0 -0
  47. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/__init__.py +0 -0
  48. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/auth_validation_command.py +0 -0
  49. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/base.py +0 -0
  50. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/builtin_commands.py +0 -0
  51. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/catalog_manager.py +0 -0
  52. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/cert_monitor_command.py +0 -0
  53. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/certificate_management_command.py +0 -0
  54. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/command_registry.py +0 -0
  55. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/config_command.py +0 -0
  56. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/dependency_container.py +0 -0
  57. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/dependency_manager.py +0 -0
  58. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/echo_command.py +0 -0
  59. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/health_command.py +0 -0
  60. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/help_command.py +0 -0
  61. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/hooks.py +0 -0
  62. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/key_management_command.py +0 -0
  63. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/load_command.py +0 -0
  64. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/plugins_command.py +0 -0
  65. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/protocol_management_command.py +0 -0
  66. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/proxy_registration_command.py +0 -0
  67. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/reload_command.py +0 -0
  68. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/result.py +0 -0
  69. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/role_test_command.py +0 -0
  70. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/roles_management_command.py +0 -0
  71. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/security_command.py +0 -0
  72. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/settings_command.py +0 -0
  73. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/ssl_setup_command.py +0 -0
  74. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/token_management_command.py +0 -0
  75. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/transport_management_command.py +0 -0
  76. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/commands/unload_command.py +0 -0
  77. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/config.py +0 -0
  78. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/__init__.py +0 -0
  79. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/app_factory.py +0 -0
  80. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/app_runner.py +0 -0
  81. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/auth_validator.py +0 -0
  82. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/certificate_utils.py +0 -0
  83. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/client.py +0 -0
  84. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/client_manager.py +0 -0
  85. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/client_security.py +0 -0
  86. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/config_converter.py +0 -0
  87. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/config_validator.py +0 -0
  88. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/crl_utils.py +0 -0
  89. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/errors.py +0 -0
  90. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/logging.py +0 -0
  91. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/mtls_asgi.py +0 -0
  92. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/mtls_asgi_app.py +0 -0
  93. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/protocol_manager.py +0 -0
  94. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/proxy_client.py +0 -0
  95. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/proxy_registration.py +0 -0
  96. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/role_utils.py +0 -0
  97. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/security_adapter.py +0 -0
  98. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/security_factory.py +0 -0
  99. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/security_integration.py +0 -0
  100. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/server_adapter.py +0 -0
  101. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/server_engine.py +0 -0
  102. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/settings.py +0 -0
  103. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/ssl_utils.py +0 -0
  104. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/transport_manager.py +0 -0
  105. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/unified_config_adapter.py +0 -0
  106. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/core/utils.py +0 -0
  107. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/custom_openapi.py +0 -0
  108. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/__init__.py +0 -0
  109. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/basic_framework/__init__.py +0 -0
  110. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/basic_framework/commands/__init__.py +0 -0
  111. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/basic_framework/hooks/__init__.py +0 -0
  112. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/basic_framework/main.py +0 -0
  113. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/commands/__init__.py +0 -0
  114. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/create_certificates_simple.py +0 -0
  115. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/debug_request_state.py +0 -0
  116. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/debug_role_chain.py +0 -0
  117. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/demo_client.py +0 -0
  118. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/examples/basic_framework/__init__.py +0 -0
  119. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/examples/basic_framework/commands/__init__.py +0 -0
  120. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/examples/basic_framework/hooks/__init__.py +0 -0
  121. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/examples/basic_framework/main.py +0 -0
  122. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/examples/full_application/__init__.py +0 -0
  123. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/examples/full_application/commands/__init__.py +0 -0
  124. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/examples/full_application/commands/custom_echo_command.py +0 -0
  125. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/examples/full_application/commands/dynamic_calculator_command.py +0 -0
  126. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/examples/full_application/hooks/__init__.py +0 -0
  127. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/examples/full_application/hooks/application_hooks.py +0 -0
  128. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/examples/full_application/hooks/builtin_command_hooks.py +0 -0
  129. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/examples/full_application/main.py +0 -0
  130. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/examples/full_application/proxy_endpoints.py +0 -0
  131. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/full_application/__init__.py +0 -0
  132. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/full_application/commands/__init__.py +0 -0
  133. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py +0 -0
  134. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py +0 -0
  135. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/full_application/hooks/__init__.py +0 -0
  136. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py +0 -0
  137. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py +0 -0
  138. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/full_application/main.py +0 -0
  139. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/full_application/proxy_endpoints.py +0 -0
  140. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/generate_all_certificates.py +0 -0
  141. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/generate_certificates.py +0 -0
  142. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/generate_certificates_and_tokens.py +0 -0
  143. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/generate_test_configs.py +0 -0
  144. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/proxy_registration_example.py +0 -0
  145. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/run_example.py +0 -0
  146. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/run_proxy_server.py +0 -0
  147. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/run_security_tests.py +0 -0
  148. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/run_security_tests_fixed.py +0 -0
  149. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/scripts/config_generator.py +0 -0
  150. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/scripts/create_certificates_simple.py +0 -0
  151. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/scripts/generate_certificates_and_tokens.py +0 -0
  152. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/security_test_client.py +0 -0
  153. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/test_config.py +0 -0
  154. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/test_config_generator.py +0 -0
  155. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/test_examples.py +0 -0
  156. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/examples/universal_client.py +0 -0
  157. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/main.py +0 -0
  158. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/mcp_proxy_adapter/openapi.py +0 -0
  159. {mcp_proxy_adapter-6.4.10 → mcp_proxy_adapter-6.4.11}/setup.cfg +0 -0
@@ -0,0 +1,156 @@
1
+ Metadata-Version: 2.4
2
+ Name: mcp-proxy-adapter
3
+ Version: 6.4.11
4
+ Summary: Powerful JSON-RPC microservices framework with built-in security, authentication, and proxy registration
5
+ Home-page: https://github.com/maverikod/mcp-proxy-adapter
6
+ Author: Vasiliy Zdanovskiy
7
+ Author-email: Vasiliy Zdanovskiy <vasilyvz@gmail.com>
8
+ Maintainer: Vasiliy Zdanovskiy
9
+ Maintainer-email: Vasiliy Zdanovskiy <vasilyvz@gmail.com>
10
+ License: MIT
11
+ Project-URL: Homepage, https://github.com/maverikod/mcp-proxy-adapter
12
+ Project-URL: Documentation, https://github.com/maverikod/mcp-proxy-adapter#readme
13
+ Project-URL: Source, https://github.com/maverikod/mcp-proxy-adapter
14
+ Project-URL: Tracker, https://github.com/maverikod/mcp-proxy-adapter/issues
15
+ Project-URL: PyPI, https://pypi.org/project/mcp-proxy-adapter/
16
+ Keywords: json-rpc,microservices,fastapi,security,authentication,authorization,proxy,mcp,mtls,ssl,rest,api
17
+ Classifier: Development Status :: 4 - Beta
18
+ Classifier: Intended Audience :: Developers
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Framework :: FastAPI
26
+ Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
27
+ Classifier: Topic :: Security
28
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
29
+ Requires-Python: >=3.9
30
+ Description-Content-Type: text/markdown
31
+ Requires-Dist: fastapi<1.0.0,>=0.95.0
32
+ Requires-Dist: pydantic>=2.0.0
33
+ Requires-Dist: hypercorn<1.0.0,>=0.15.0
34
+ Requires-Dist: docstring-parser<1.0.0,>=0.15
35
+ Requires-Dist: typing-extensions<5.0.0,>=4.5.0
36
+ Requires-Dist: jsonrpc>=1.2.0
37
+ Requires-Dist: psutil>=5.9.0
38
+ Requires-Dist: mcp_security_framework>=1.1.2
39
+ Requires-Dist: packaging>=20.0
40
+ Requires-Dist: aiohttp<4.0.0,>=3.8.0
41
+ Requires-Dist: requests<3.0.0,>=2.28.0
42
+ Provides-Extra: dev
43
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
44
+ Requires-Dist: pytest-asyncio>=0.20.0; extra == "dev"
45
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
46
+ Requires-Dist: black>=23.0.0; extra == "dev"
47
+ Requires-Dist: isort>=5.12.0; extra == "dev"
48
+ Provides-Extra: test
49
+ Requires-Dist: pytest>=7.0.0; extra == "test"
50
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
51
+ Requires-Dist: pytest-cov>=4.0.0; extra == "test"
52
+ Requires-Dist: httpx>=0.24.0; extra == "test"
53
+ Requires-Dist: pytest-mock>=3.10.0; extra == "test"
54
+ Provides-Extra: examples
55
+ Dynamic: author
56
+ Dynamic: home-page
57
+ Dynamic: maintainer
58
+ Dynamic: requires-python
59
+
60
+ # MCP Proxy Adapter
61
+
62
+ **Author:** Vasiliy Zdanovskiy
63
+ **Email:** vasilyvz@gmail.com
64
+
65
+ ## Overview
66
+
67
+ MCP Proxy Adapter is a comprehensive framework for building JSON-RPC API servers with built-in security, SSL/TLS support, and proxy registration capabilities. It provides a unified interface for command execution, protocol management, and security enforcement.
68
+
69
+ ## Features
70
+
71
+ - **JSON-RPC API**: Full JSON-RPC 2.0 support with built-in commands
72
+ - **Security Framework**: Integrated authentication, authorization, and SSL/TLS
73
+ - **Protocol Management**: HTTP, HTTPS, and mTLS protocol support
74
+ - **Proxy Registration**: Automatic registration with proxy servers
75
+ - **Command System**: Extensible command registry with built-in commands
76
+ - **Configuration Management**: Comprehensive configuration with environment variable overrides
77
+
78
+ ## Quick Start
79
+
80
+ 1. **Installation**:
81
+ ```bash
82
+ pip install mcp-proxy-adapter
83
+ ```
84
+
85
+ 2. **Basic Configuration**:
86
+ ```bash
87
+ # Use the comprehensive config with all options disabled by default
88
+ python -m mcp_proxy_adapter --config config.json
89
+ ```
90
+
91
+ 3. **Access the API**:
92
+ - Health check: `GET http://localhost:8000/health`
93
+ - JSON-RPC: `POST http://localhost:8000/api/jsonrpc`
94
+ - REST API: `POST http://localhost:8000/cmd`
95
+ - Documentation: `http://localhost:8000/docs`
96
+
97
+ ## Configuration
98
+
99
+ The adapter uses a comprehensive JSON configuration file (`config.json`) that includes all available options with sensible defaults. All features are disabled by default and can be enabled as needed:
100
+
101
+ - **Server settings**: Host, port, debug mode
102
+ - **Security**: Authentication methods, SSL/TLS, permissions
103
+ - **Protocols**: HTTP/HTTPS/mTLS configuration
104
+ - **Proxy registration**: Automatic server registration
105
+ - **Logging**: Comprehensive logging configuration
106
+ - **Commands**: Built-in and custom command management
107
+
108
+ See `docs/EN/configuration.md` for complete configuration documentation.
109
+
110
+ ## Built-in Commands
111
+
112
+ - `health` - Server health check
113
+ - `echo` - Echo test command
114
+ - `config` - Configuration management
115
+ - `help` - Command help and documentation
116
+ - `reload` - Configuration reload
117
+ - `settings` - Settings management
118
+ - `load`/`unload` - Command loading/unloading
119
+ - `plugins` - Plugin management
120
+ - `proxy_registration` - Proxy registration control
121
+ - `transport_management` - Transport protocol management
122
+ - `role_test` - Role-based access testing
123
+
124
+ ## Security Features
125
+
126
+ - **Authentication**: API keys, JWT tokens, certificate-based auth
127
+ - **Authorization**: Role-based permissions with wildcard support
128
+ - **SSL/TLS**: Full SSL/TLS and mTLS support
129
+ - **Rate Limiting**: Configurable request rate limiting
130
+ - **Security Headers**: Automatic security header injection
131
+
132
+ ## Examples
133
+
134
+ The `mcp_proxy_adapter/examples/` directory contains comprehensive examples for different use cases:
135
+
136
+ - **Basic Framework**: Simple HTTP server setup
137
+ - **Full Application**: Complete application with custom commands and hooks
138
+ - **Security Testing**: Comprehensive security test suite
139
+ - **Certificate Generation**: SSL/TLS certificate management
140
+
141
+ ## Development
142
+
143
+ The project follows a modular architecture:
144
+
145
+ - `mcp_proxy_adapter/api/` - FastAPI application and handlers
146
+ - `mcp_proxy_adapter/commands/` - Command system and built-in commands
147
+ - `mcp_proxy_adapter/core/` - Core functionality and utilities
148
+ - `mcp_proxy_adapter/config.py` - Configuration management
149
+
150
+ ## License
151
+
152
+ This project is licensed under the MIT License.
153
+
154
+ ## Support
155
+
156
+ For issues and questions, please contact vasilyvz@gmail.com.
@@ -0,0 +1,97 @@
1
+ # MCP Proxy Adapter
2
+
3
+ **Author:** Vasiliy Zdanovskiy
4
+ **Email:** vasilyvz@gmail.com
5
+
6
+ ## Overview
7
+
8
+ MCP Proxy Adapter is a comprehensive framework for building JSON-RPC API servers with built-in security, SSL/TLS support, and proxy registration capabilities. It provides a unified interface for command execution, protocol management, and security enforcement.
9
+
10
+ ## Features
11
+
12
+ - **JSON-RPC API**: Full JSON-RPC 2.0 support with built-in commands
13
+ - **Security Framework**: Integrated authentication, authorization, and SSL/TLS
14
+ - **Protocol Management**: HTTP, HTTPS, and mTLS protocol support
15
+ - **Proxy Registration**: Automatic registration with proxy servers
16
+ - **Command System**: Extensible command registry with built-in commands
17
+ - **Configuration Management**: Comprehensive configuration with environment variable overrides
18
+
19
+ ## Quick Start
20
+
21
+ 1. **Installation**:
22
+ ```bash
23
+ pip install mcp-proxy-adapter
24
+ ```
25
+
26
+ 2. **Basic Configuration**:
27
+ ```bash
28
+ # Use the comprehensive config with all options disabled by default
29
+ python -m mcp_proxy_adapter --config config.json
30
+ ```
31
+
32
+ 3. **Access the API**:
33
+ - Health check: `GET http://localhost:8000/health`
34
+ - JSON-RPC: `POST http://localhost:8000/api/jsonrpc`
35
+ - REST API: `POST http://localhost:8000/cmd`
36
+ - Documentation: `http://localhost:8000/docs`
37
+
38
+ ## Configuration
39
+
40
+ The adapter uses a comprehensive JSON configuration file (`config.json`) that includes all available options with sensible defaults. All features are disabled by default and can be enabled as needed:
41
+
42
+ - **Server settings**: Host, port, debug mode
43
+ - **Security**: Authentication methods, SSL/TLS, permissions
44
+ - **Protocols**: HTTP/HTTPS/mTLS configuration
45
+ - **Proxy registration**: Automatic server registration
46
+ - **Logging**: Comprehensive logging configuration
47
+ - **Commands**: Built-in and custom command management
48
+
49
+ See `docs/EN/configuration.md` for complete configuration documentation.
50
+
51
+ ## Built-in Commands
52
+
53
+ - `health` - Server health check
54
+ - `echo` - Echo test command
55
+ - `config` - Configuration management
56
+ - `help` - Command help and documentation
57
+ - `reload` - Configuration reload
58
+ - `settings` - Settings management
59
+ - `load`/`unload` - Command loading/unloading
60
+ - `plugins` - Plugin management
61
+ - `proxy_registration` - Proxy registration control
62
+ - `transport_management` - Transport protocol management
63
+ - `role_test` - Role-based access testing
64
+
65
+ ## Security Features
66
+
67
+ - **Authentication**: API keys, JWT tokens, certificate-based auth
68
+ - **Authorization**: Role-based permissions with wildcard support
69
+ - **SSL/TLS**: Full SSL/TLS and mTLS support
70
+ - **Rate Limiting**: Configurable request rate limiting
71
+ - **Security Headers**: Automatic security header injection
72
+
73
+ ## Examples
74
+
75
+ The `mcp_proxy_adapter/examples/` directory contains comprehensive examples for different use cases:
76
+
77
+ - **Basic Framework**: Simple HTTP server setup
78
+ - **Full Application**: Complete application with custom commands and hooks
79
+ - **Security Testing**: Comprehensive security test suite
80
+ - **Certificate Generation**: SSL/TLS certificate management
81
+
82
+ ## Development
83
+
84
+ The project follows a modular architecture:
85
+
86
+ - `mcp_proxy_adapter/api/` - FastAPI application and handlers
87
+ - `mcp_proxy_adapter/commands/` - Command system and built-in commands
88
+ - `mcp_proxy_adapter/core/` - Core functionality and utilities
89
+ - `mcp_proxy_adapter/config.py` - Configuration management
90
+
91
+ ## License
92
+
93
+ This project is licensed under the MIT License.
94
+
95
+ ## Support
96
+
97
+ For issues and questions, please contact vasilyvz@gmail.com.
@@ -235,6 +235,123 @@ class FullTestSuiteRunner:
235
235
  self.print_error(f"Failed to run security tests: {e}")
236
236
  return False
237
237
 
238
+ def run_mtls_registration_test(self) -> bool:
239
+ """Run mTLS with proxy registration test."""
240
+ self.print_step("6", "mTLS Proxy Registration Testing")
241
+
242
+ try:
243
+ # Check if test_proxy_registration.py exists
244
+ test_script = self.working_dir / "test_proxy_registration.py"
245
+ if not test_script.exists():
246
+ self.print_error(f"Test script not found: {test_script}")
247
+ return False
248
+
249
+ # Create test_proxy_registration.json config if it doesn't exist
250
+ test_config = self.configs_dir / "test_proxy_registration.json"
251
+ if not test_config.exists():
252
+ self.print_info("Creating test_proxy_registration.json configuration...")
253
+ test_config_content = {
254
+ "uuid": "550e8400-e29b-41d4-a716-446655440001",
255
+ "server": {
256
+ "host": "127.0.0.1",
257
+ "port": 20005
258
+ },
259
+ "ssl": {
260
+ "enabled": True,
261
+ "cert_file": "certs/localhost_server.crt",
262
+ "key_file": "keys/localhost_server.key",
263
+ "ca_cert": "certs/mcp_proxy_adapter_ca_ca.crt",
264
+ "client_cert_file": "certs/admin_cert.pem",
265
+ "client_key_file": "certs/admin_key.pem",
266
+ "verify_client": True
267
+ },
268
+ "registration": {
269
+ "enabled": True,
270
+ "auth_method": "token",
271
+ "server_url": "http://127.0.0.1:3006/proxy",
272
+ "token": {
273
+ "enabled": True,
274
+ "token": "proxy_registration_token_123"
275
+ },
276
+ "proxy_info": {
277
+ "name": "mcp_test_server",
278
+ "capabilities": [
279
+ "jsonrpc",
280
+ "rest",
281
+ "security",
282
+ "proxy_registration"
283
+ ],
284
+ "endpoints": {
285
+ "jsonrpc": "/api/jsonrpc",
286
+ "rest": "/cmd",
287
+ "health": "/health"
288
+ }
289
+ },
290
+ "heartbeat": {
291
+ "enabled": True,
292
+ "interval": 30
293
+ }
294
+ },
295
+ "security": {
296
+ "enabled": True,
297
+ "auth": {
298
+ "enabled": True,
299
+ "methods": [
300
+ "certificate"
301
+ ]
302
+ },
303
+ "permissions": {
304
+ "enabled": True,
305
+ "roles_file": "configs/roles.json"
306
+ }
307
+ },
308
+ "protocols": {
309
+ "enabled": True,
310
+ "default_protocol": "mtls",
311
+ "allowed_protocols": [
312
+ "https",
313
+ "mtls"
314
+ ]
315
+ }
316
+ }
317
+
318
+ import json
319
+ with open(test_config, 'w', encoding='utf-8') as f:
320
+ json.dump(test_config_content, f, indent=2)
321
+ self.print_success(f"Created test configuration: {test_config}")
322
+
323
+ self.print_info("Running mTLS proxy registration test...")
324
+ self.print_info("This test verifies:")
325
+ self.print_info(" - mTLS server startup with client certificate verification")
326
+ self.print_info(" - Proxy registration functionality")
327
+ self.print_info(" - SSL configuration validation")
328
+
329
+ # Run the test
330
+ cmd = [sys.executable, "test_proxy_registration.py"]
331
+ result = subprocess.run(
332
+ cmd, capture_output=True, text=True, cwd=self.working_dir
333
+ )
334
+
335
+ if result.returncode == 0:
336
+ self.print_success("mTLS proxy registration test completed successfully!")
337
+ if result.stdout:
338
+ print("Test output:")
339
+ print(result.stdout)
340
+ return True
341
+ else:
342
+ self.print_error("mTLS proxy registration test failed!")
343
+ if result.stdout:
344
+ print("Test output:")
345
+ print(result.stdout)
346
+ if result.stderr:
347
+ print("Error output:")
348
+ print(result.stderr)
349
+ return False
350
+
351
+ except Exception as e:
352
+ self.print_error(f"Failed to run mTLS registration test: {e}")
353
+ return False
354
+
238
355
  def cleanup(self):
239
356
  """Clean up temporary files and processes."""
240
357
  self.print_info("Cleaning up...")
@@ -305,6 +422,10 @@ class FullTestSuiteRunner:
305
422
  if not self.run_security_tests():
306
423
  return False
307
424
 
425
+ # Step 6: mTLS proxy registration testing
426
+ if not self.run_mtls_registration_test():
427
+ return False
428
+
308
429
  # All steps completed successfully
309
430
  print(f"\n{'='*60}")
310
431
  print("🎉 FULL TEST SUITE COMPLETED SUCCESSFULLY!")
@@ -315,6 +436,7 @@ class FullTestSuiteRunner:
315
436
  print("✅ Certificates generated")
316
437
  print("✅ Configurations generated")
317
438
  print("✅ Security tests passed")
439
+ print("✅ mTLS proxy registration test passed")
318
440
  print(f"\n📁 Test artifacts created in: {self.working_dir}")
319
441
  print(f"📁 Configurations: {self.configs_dir}")
320
442
  print(f"📁 Certificates: {self.certs_dir}")
@@ -420,7 +420,8 @@ import asyncio
420
420
  import ssl
421
421
  from fastapi import FastAPI, Request
422
422
  from fastapi.responses import JSONResponse
423
- import uvicorn
423
+ from hypercorn.asyncio import serve
424
+ from hypercorn.config import Config
424
425
 
425
426
 
426
427
  app = FastAPI(title="Test mTLS Proxy Server", version="1.0.0")
@@ -472,7 +473,7 @@ async def health_check():
472
473
  )
473
474
 
474
475
 
475
- def main():
476
+ async def main():
476
477
  """Run the mTLS proxy server."""
477
478
  print("🚀 Starting Test mTLS Proxy Server...")
478
479
  print("📡 Server URL: https://127.0.0.1:3004")
@@ -482,19 +483,19 @@ def main():
482
483
  print(" GET /health - Health check")
483
484
  print("⚡ Press Ctrl+C to stop\\n")
484
485
 
486
+ # Configure hypercorn
487
+ config = Config()
488
+ config.bind = ["127.0.0.1:3004"]
489
+ config.keyfile = "mtls_certificates/server/mcp-proxy.key"
490
+ config.certfile = "mtls_certificates/server/mcp-proxy.pem"
491
+ config.loglevel = "info"
492
+
485
493
  # Run server with mTLS
486
- uvicorn.run(
487
- app,
488
- host="127.0.0.1",
489
- port=3004,
490
- ssl_keyfile="mtls_certificates/server/mcp-proxy.key",
491
- ssl_certfile="mtls_certificates/server/mcp-proxy.pem",
492
- log_level="info"
493
- )
494
+ await serve(app, config)
494
495
 
495
496
 
496
497
  if __name__ == "__main__":
497
- main()
498
+ asyncio.run(main())
498
499
  '''
499
500
  )
500
501
 
@@ -2,4 +2,4 @@
2
2
  Version information for MCP Proxy Adapter.
3
3
  """
4
4
 
5
- __version__ = "6.4.10"
5
+ __version__ = "6.4.11"
@@ -0,0 +1,156 @@
1
+ Metadata-Version: 2.4
2
+ Name: mcp-proxy-adapter
3
+ Version: 6.4.11
4
+ Summary: Powerful JSON-RPC microservices framework with built-in security, authentication, and proxy registration
5
+ Home-page: https://github.com/maverikod/mcp-proxy-adapter
6
+ Author: Vasiliy Zdanovskiy
7
+ Author-email: Vasiliy Zdanovskiy <vasilyvz@gmail.com>
8
+ Maintainer: Vasiliy Zdanovskiy
9
+ Maintainer-email: Vasiliy Zdanovskiy <vasilyvz@gmail.com>
10
+ License: MIT
11
+ Project-URL: Homepage, https://github.com/maverikod/mcp-proxy-adapter
12
+ Project-URL: Documentation, https://github.com/maverikod/mcp-proxy-adapter#readme
13
+ Project-URL: Source, https://github.com/maverikod/mcp-proxy-adapter
14
+ Project-URL: Tracker, https://github.com/maverikod/mcp-proxy-adapter/issues
15
+ Project-URL: PyPI, https://pypi.org/project/mcp-proxy-adapter/
16
+ Keywords: json-rpc,microservices,fastapi,security,authentication,authorization,proxy,mcp,mtls,ssl,rest,api
17
+ Classifier: Development Status :: 4 - Beta
18
+ Classifier: Intended Audience :: Developers
19
+ Classifier: Operating System :: OS Independent
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3.9
22
+ Classifier: Programming Language :: Python :: 3.10
23
+ Classifier: Programming Language :: Python :: 3.11
24
+ Classifier: Programming Language :: Python :: 3.12
25
+ Classifier: Framework :: FastAPI
26
+ Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
27
+ Classifier: Topic :: Security
28
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
29
+ Requires-Python: >=3.9
30
+ Description-Content-Type: text/markdown
31
+ Requires-Dist: fastapi<1.0.0,>=0.95.0
32
+ Requires-Dist: pydantic>=2.0.0
33
+ Requires-Dist: hypercorn<1.0.0,>=0.15.0
34
+ Requires-Dist: docstring-parser<1.0.0,>=0.15
35
+ Requires-Dist: typing-extensions<5.0.0,>=4.5.0
36
+ Requires-Dist: jsonrpc>=1.2.0
37
+ Requires-Dist: psutil>=5.9.0
38
+ Requires-Dist: mcp_security_framework>=1.1.2
39
+ Requires-Dist: packaging>=20.0
40
+ Requires-Dist: aiohttp<4.0.0,>=3.8.0
41
+ Requires-Dist: requests<3.0.0,>=2.28.0
42
+ Provides-Extra: dev
43
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
44
+ Requires-Dist: pytest-asyncio>=0.20.0; extra == "dev"
45
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
46
+ Requires-Dist: black>=23.0.0; extra == "dev"
47
+ Requires-Dist: isort>=5.12.0; extra == "dev"
48
+ Provides-Extra: test
49
+ Requires-Dist: pytest>=7.0.0; extra == "test"
50
+ Requires-Dist: pytest-asyncio>=0.21.0; extra == "test"
51
+ Requires-Dist: pytest-cov>=4.0.0; extra == "test"
52
+ Requires-Dist: httpx>=0.24.0; extra == "test"
53
+ Requires-Dist: pytest-mock>=3.10.0; extra == "test"
54
+ Provides-Extra: examples
55
+ Dynamic: author
56
+ Dynamic: home-page
57
+ Dynamic: maintainer
58
+ Dynamic: requires-python
59
+
60
+ # MCP Proxy Adapter
61
+
62
+ **Author:** Vasiliy Zdanovskiy
63
+ **Email:** vasilyvz@gmail.com
64
+
65
+ ## Overview
66
+
67
+ MCP Proxy Adapter is a comprehensive framework for building JSON-RPC API servers with built-in security, SSL/TLS support, and proxy registration capabilities. It provides a unified interface for command execution, protocol management, and security enforcement.
68
+
69
+ ## Features
70
+
71
+ - **JSON-RPC API**: Full JSON-RPC 2.0 support with built-in commands
72
+ - **Security Framework**: Integrated authentication, authorization, and SSL/TLS
73
+ - **Protocol Management**: HTTP, HTTPS, and mTLS protocol support
74
+ - **Proxy Registration**: Automatic registration with proxy servers
75
+ - **Command System**: Extensible command registry with built-in commands
76
+ - **Configuration Management**: Comprehensive configuration with environment variable overrides
77
+
78
+ ## Quick Start
79
+
80
+ 1. **Installation**:
81
+ ```bash
82
+ pip install mcp-proxy-adapter
83
+ ```
84
+
85
+ 2. **Basic Configuration**:
86
+ ```bash
87
+ # Use the comprehensive config with all options disabled by default
88
+ python -m mcp_proxy_adapter --config config.json
89
+ ```
90
+
91
+ 3. **Access the API**:
92
+ - Health check: `GET http://localhost:8000/health`
93
+ - JSON-RPC: `POST http://localhost:8000/api/jsonrpc`
94
+ - REST API: `POST http://localhost:8000/cmd`
95
+ - Documentation: `http://localhost:8000/docs`
96
+
97
+ ## Configuration
98
+
99
+ The adapter uses a comprehensive JSON configuration file (`config.json`) that includes all available options with sensible defaults. All features are disabled by default and can be enabled as needed:
100
+
101
+ - **Server settings**: Host, port, debug mode
102
+ - **Security**: Authentication methods, SSL/TLS, permissions
103
+ - **Protocols**: HTTP/HTTPS/mTLS configuration
104
+ - **Proxy registration**: Automatic server registration
105
+ - **Logging**: Comprehensive logging configuration
106
+ - **Commands**: Built-in and custom command management
107
+
108
+ See `docs/EN/configuration.md` for complete configuration documentation.
109
+
110
+ ## Built-in Commands
111
+
112
+ - `health` - Server health check
113
+ - `echo` - Echo test command
114
+ - `config` - Configuration management
115
+ - `help` - Command help and documentation
116
+ - `reload` - Configuration reload
117
+ - `settings` - Settings management
118
+ - `load`/`unload` - Command loading/unloading
119
+ - `plugins` - Plugin management
120
+ - `proxy_registration` - Proxy registration control
121
+ - `transport_management` - Transport protocol management
122
+ - `role_test` - Role-based access testing
123
+
124
+ ## Security Features
125
+
126
+ - **Authentication**: API keys, JWT tokens, certificate-based auth
127
+ - **Authorization**: Role-based permissions with wildcard support
128
+ - **SSL/TLS**: Full SSL/TLS and mTLS support
129
+ - **Rate Limiting**: Configurable request rate limiting
130
+ - **Security Headers**: Automatic security header injection
131
+
132
+ ## Examples
133
+
134
+ The `mcp_proxy_adapter/examples/` directory contains comprehensive examples for different use cases:
135
+
136
+ - **Basic Framework**: Simple HTTP server setup
137
+ - **Full Application**: Complete application with custom commands and hooks
138
+ - **Security Testing**: Comprehensive security test suite
139
+ - **Certificate Generation**: SSL/TLS certificate management
140
+
141
+ ## Development
142
+
143
+ The project follows a modular architecture:
144
+
145
+ - `mcp_proxy_adapter/api/` - FastAPI application and handlers
146
+ - `mcp_proxy_adapter/commands/` - Command system and built-in commands
147
+ - `mcp_proxy_adapter/core/` - Core functionality and utilities
148
+ - `mcp_proxy_adapter/config.py` - Configuration management
149
+
150
+ ## License
151
+
152
+ This project is licensed under the MIT License.
153
+
154
+ ## Support
155
+
156
+ For issues and questions, please contact vasilyvz@gmail.com.
@@ -1,7 +1,5 @@
1
- MANIFEST.in
2
1
  README.md
3
2
  pyproject.toml
4
- requirements.txt
5
3
  setup.py
6
4
  mcp_proxy_adapter/__init__.py
7
5
  mcp_proxy_adapter/__main__.py
@@ -10,6 +8,13 @@ mcp_proxy_adapter/custom_openapi.py
10
8
  mcp_proxy_adapter/main.py
11
9
  mcp_proxy_adapter/openapi.py
12
10
  mcp_proxy_adapter/version.py
11
+ mcp_proxy_adapter.egg-info/PKG-INFO
12
+ mcp_proxy_adapter.egg-info/SOURCES.txt
13
+ mcp_proxy_adapter.egg-info/dependency_links.txt
14
+ mcp_proxy_adapter.egg-info/entry_points.txt
15
+ mcp_proxy_adapter.egg-info/not-zip-safe
16
+ mcp_proxy_adapter.egg-info/requires.txt
17
+ mcp_proxy_adapter.egg-info/top_level.txt
13
18
  mcp_proxy_adapter/api/__init__.py
14
19
  mcp_proxy_adapter/api/app.py
15
20
  mcp_proxy_adapter/api/handlers.py
@@ -94,7 +99,6 @@ mcp_proxy_adapter/examples/demo_client.py
94
99
  mcp_proxy_adapter/examples/generate_all_certificates.py
95
100
  mcp_proxy_adapter/examples/generate_certificates.py
96
101
  mcp_proxy_adapter/examples/generate_certificates_and_tokens.py
97
- mcp_proxy_adapter/examples/generate_comprehensive_config.py
98
102
  mcp_proxy_adapter/examples/generate_test_configs.py
99
103
  mcp_proxy_adapter/examples/proxy_registration_example.py
100
104
  mcp_proxy_adapter/examples/run_example.py
@@ -107,11 +111,9 @@ mcp_proxy_adapter/examples/setup_test_environment.py
107
111
  mcp_proxy_adapter/examples/test_config.py
108
112
  mcp_proxy_adapter/examples/test_config_generator.py
109
113
  mcp_proxy_adapter/examples/test_examples.py
110
- mcp_proxy_adapter/examples/test_mcp_adapter.py
111
114
  mcp_proxy_adapter/examples/universal_client.py
112
115
  mcp_proxy_adapter/examples/basic_framework/__init__.py
113
116
  mcp_proxy_adapter/examples/basic_framework/main.py
114
- mcp_proxy_adapter/examples/basic_framework/roles.json
115
117
  mcp_proxy_adapter/examples/basic_framework/commands/__init__.py
116
118
  mcp_proxy_adapter/examples/basic_framework/hooks/__init__.py
117
119
  mcp_proxy_adapter/examples/commands/__init__.py
@@ -131,7 +133,6 @@ mcp_proxy_adapter/examples/examples/full_application/hooks/builtin_command_hooks
131
133
  mcp_proxy_adapter/examples/full_application/__init__.py
132
134
  mcp_proxy_adapter/examples/full_application/main.py
133
135
  mcp_proxy_adapter/examples/full_application/proxy_endpoints.py
134
- mcp_proxy_adapter/examples/full_application/roles.json
135
136
  mcp_proxy_adapter/examples/full_application/commands/__init__.py
136
137
  mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py
137
138
  mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py
@@ -140,8 +141,4 @@ mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py
140
141
  mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py
141
142
  mcp_proxy_adapter/examples/scripts/config_generator.py
142
143
  mcp_proxy_adapter/examples/scripts/create_certificates_simple.py
143
- mcp_proxy_adapter/examples/scripts/generate_certificates_and_tokens.py
144
- mcp_proxy_adapter/schemas/base_schema.json
145
- mcp_proxy_adapter/schemas/openapi_schema.json
146
- mcp_proxy_adapter/utils/config_generator.py
147
- mcp_proxy_adapter_issue_package/demonstrate_issue.py
144
+ mcp_proxy_adapter/examples/scripts/generate_certificates_and_tokens.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ mcp-proxy-adapter = mcp_proxy_adapter.__main__:main