mcp-proxy-adapter 6.1.0__py3-none-any.whl → 6.2.0__py3-none-any.whl

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 (148) hide show
  1. mcp_proxy_adapter/__main__.py +27 -7
  2. mcp_proxy_adapter/api/app.py +18 -7
  3. mcp_proxy_adapter/api/middleware/__init__.py +2 -2
  4. mcp_proxy_adapter/api/middleware/protocol_middleware.py +32 -13
  5. mcp_proxy_adapter/api/middleware/unified_security.py +12 -4
  6. mcp_proxy_adapter/commands/ssl_setup_command.py +234 -351
  7. mcp_proxy_adapter/core/app_factory.py +87 -3
  8. mcp_proxy_adapter/core/app_runner.py +272 -0
  9. mcp_proxy_adapter/core/certificate_utils.py +291 -73
  10. mcp_proxy_adapter/core/client.py +574 -0
  11. mcp_proxy_adapter/core/client_manager.py +284 -0
  12. mcp_proxy_adapter/core/protocol_manager.py +132 -10
  13. mcp_proxy_adapter/core/security_integration.py +19 -11
  14. mcp_proxy_adapter/core/server_adapter.py +17 -80
  15. mcp_proxy_adapter/core/server_engine.py +5 -99
  16. mcp_proxy_adapter/core/ssl_utils.py +13 -12
  17. mcp_proxy_adapter/core/transport_manager.py +5 -5
  18. mcp_proxy_adapter/examples/__init__.py +16 -0
  19. mcp_proxy_adapter/examples/basic_framework/__init__.py +7 -0
  20. mcp_proxy_adapter/examples/basic_framework/commands/__init__.py +4 -0
  21. mcp_proxy_adapter/examples/basic_framework/hooks/__init__.py +4 -0
  22. mcp_proxy_adapter/examples/basic_framework/main.py +21 -40
  23. mcp_proxy_adapter/examples/commands/__init__.py +5 -1
  24. mcp_proxy_adapter/examples/create_certificates_simple.py +260 -75
  25. mcp_proxy_adapter/examples/debug_request_state.py +4 -36
  26. mcp_proxy_adapter/examples/debug_role_chain.py +2 -49
  27. mcp_proxy_adapter/examples/demo_client.py +0 -66
  28. mcp_proxy_adapter/examples/full_application/__init__.py +11 -0
  29. mcp_proxy_adapter/examples/full_application/commands/__init__.py +7 -0
  30. mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py +0 -19
  31. mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py +0 -16
  32. mcp_proxy_adapter/examples/full_application/hooks/__init__.py +7 -0
  33. mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py +0 -22
  34. mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py +0 -24
  35. mcp_proxy_adapter/examples/full_application/main.py +65 -44
  36. mcp_proxy_adapter/examples/full_application/proxy_endpoints.py +154 -0
  37. mcp_proxy_adapter/examples/generate_all_certificates.py +0 -67
  38. mcp_proxy_adapter/examples/generate_certificates.py +0 -15
  39. mcp_proxy_adapter/examples/generate_certificates_and_tokens.py +369 -0
  40. mcp_proxy_adapter/examples/generate_test_configs.py +204 -0
  41. mcp_proxy_adapter/examples/proxy_registration_example.py +3 -70
  42. mcp_proxy_adapter/examples/run_example.py +1 -23
  43. mcp_proxy_adapter/examples/run_security_tests.py +2 -60
  44. mcp_proxy_adapter/examples/run_security_tests_fixed.py +0 -53
  45. mcp_proxy_adapter/examples/security_test_client.py +18 -123
  46. mcp_proxy_adapter/examples/setup_test_environment.py +179 -0
  47. mcp_proxy_adapter/examples/test_config.py +148 -0
  48. mcp_proxy_adapter/examples/test_config_generator.py +86 -0
  49. mcp_proxy_adapter/examples/test_examples.py +4 -67
  50. mcp_proxy_adapter/examples/universal_client.py +154 -162
  51. mcp_proxy_adapter/main.py +51 -161
  52. mcp_proxy_adapter/utils/config_generator.py +90 -2
  53. mcp_proxy_adapter/version.py +4 -2
  54. mcp_proxy_adapter-6.2.0.dist-info/METADATA +687 -0
  55. mcp_proxy_adapter-6.2.0.dist-info/RECORD +122 -0
  56. mcp_proxy_adapter/examples/README.md +0 -257
  57. mcp_proxy_adapter/examples/README_EN.md +0 -258
  58. mcp_proxy_adapter/examples/SECURITY_TESTING.md +0 -455
  59. mcp_proxy_adapter/examples/__pycache__/security_configurations.cpython-312.pyc +0 -0
  60. mcp_proxy_adapter/examples/__pycache__/security_test_client.cpython-312.pyc +0 -0
  61. mcp_proxy_adapter/examples/basic_framework/configs/http_auth.json +0 -37
  62. mcp_proxy_adapter/examples/basic_framework/configs/http_simple.json +0 -23
  63. mcp_proxy_adapter/examples/basic_framework/configs/https_auth.json +0 -39
  64. mcp_proxy_adapter/examples/basic_framework/configs/https_simple.json +0 -25
  65. mcp_proxy_adapter/examples/basic_framework/configs/mtls_no_roles.json +0 -39
  66. mcp_proxy_adapter/examples/basic_framework/configs/mtls_with_roles.json +0 -45
  67. mcp_proxy_adapter/examples/basic_framework/roles.json +0 -21
  68. mcp_proxy_adapter/examples/cert_config.json +0 -9
  69. mcp_proxy_adapter/examples/certs/admin.crt +0 -32
  70. mcp_proxy_adapter/examples/certs/admin.key +0 -52
  71. mcp_proxy_adapter/examples/certs/admin_cert.pem +0 -21
  72. mcp_proxy_adapter/examples/certs/admin_key.pem +0 -28
  73. mcp_proxy_adapter/examples/certs/ca_cert.pem +0 -23
  74. mcp_proxy_adapter/examples/certs/ca_cert.srl +0 -1
  75. mcp_proxy_adapter/examples/certs/ca_key.pem +0 -28
  76. mcp_proxy_adapter/examples/certs/cert_config.json +0 -9
  77. mcp_proxy_adapter/examples/certs/client.crt +0 -32
  78. mcp_proxy_adapter/examples/certs/client.key +0 -52
  79. mcp_proxy_adapter/examples/certs/client_admin.crt +0 -32
  80. mcp_proxy_adapter/examples/certs/client_admin.key +0 -52
  81. mcp_proxy_adapter/examples/certs/client_user.crt +0 -32
  82. mcp_proxy_adapter/examples/certs/client_user.key +0 -52
  83. mcp_proxy_adapter/examples/certs/guest_cert.pem +0 -21
  84. mcp_proxy_adapter/examples/certs/guest_key.pem +0 -28
  85. mcp_proxy_adapter/examples/certs/mcp_proxy_adapter_ca_ca.crt +0 -23
  86. mcp_proxy_adapter/examples/certs/proxy_cert.pem +0 -21
  87. mcp_proxy_adapter/examples/certs/proxy_key.pem +0 -28
  88. mcp_proxy_adapter/examples/certs/readonly.crt +0 -32
  89. mcp_proxy_adapter/examples/certs/readonly.key +0 -52
  90. mcp_proxy_adapter/examples/certs/readonly_cert.pem +0 -21
  91. mcp_proxy_adapter/examples/certs/readonly_key.pem +0 -28
  92. mcp_proxy_adapter/examples/certs/server.crt +0 -32
  93. mcp_proxy_adapter/examples/certs/server.key +0 -52
  94. mcp_proxy_adapter/examples/certs/server_cert.pem +0 -32
  95. mcp_proxy_adapter/examples/certs/server_key.pem +0 -52
  96. mcp_proxy_adapter/examples/certs/test_ca_ca.crt +0 -20
  97. mcp_proxy_adapter/examples/certs/user.crt +0 -32
  98. mcp_proxy_adapter/examples/certs/user.key +0 -52
  99. mcp_proxy_adapter/examples/certs/user_cert.pem +0 -21
  100. mcp_proxy_adapter/examples/certs/user_key.pem +0 -28
  101. mcp_proxy_adapter/examples/client_configs/api_key_client.json +0 -13
  102. mcp_proxy_adapter/examples/client_configs/basic_auth_client.json +0 -13
  103. mcp_proxy_adapter/examples/client_configs/certificate_client.json +0 -22
  104. mcp_proxy_adapter/examples/client_configs/jwt_client.json +0 -15
  105. mcp_proxy_adapter/examples/client_configs/no_auth_client.json +0 -9
  106. mcp_proxy_adapter/examples/full_application/configs/http_auth.json +0 -37
  107. mcp_proxy_adapter/examples/full_application/configs/http_simple.json +0 -23
  108. mcp_proxy_adapter/examples/full_application/configs/https_auth.json +0 -39
  109. mcp_proxy_adapter/examples/full_application/configs/https_simple.json +0 -25
  110. mcp_proxy_adapter/examples/full_application/configs/mtls_no_roles.json +0 -39
  111. mcp_proxy_adapter/examples/full_application/configs/mtls_with_roles.json +0 -45
  112. mcp_proxy_adapter/examples/full_application/roles.json +0 -21
  113. mcp_proxy_adapter/examples/keys/ca_key.pem +0 -28
  114. mcp_proxy_adapter/examples/keys/mcp_proxy_adapter_ca_ca.key +0 -28
  115. mcp_proxy_adapter/examples/keys/test_ca_ca.key +0 -28
  116. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log +0 -220
  117. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.1 +0 -1
  118. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.2 +0 -1
  119. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.3 +0 -1
  120. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.4 +0 -1
  121. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter.log.5 +0 -1
  122. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log +0 -220
  123. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.1 +0 -1
  124. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.2 +0 -1
  125. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.3 +0 -1
  126. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.4 +0 -1
  127. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_access.log.5 +0 -1
  128. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log +0 -2
  129. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.1 +0 -1
  130. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.2 +0 -1
  131. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.3 +0 -1
  132. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.4 +0 -1
  133. mcp_proxy_adapter/examples/logs/mcp_proxy_adapter_error.log.5 +0 -1
  134. mcp_proxy_adapter/examples/roles.json +0 -38
  135. mcp_proxy_adapter/examples/server_configs/config_basic_http.json +0 -204
  136. mcp_proxy_adapter/examples/server_configs/config_http_token.json +0 -238
  137. mcp_proxy_adapter/examples/server_configs/config_https.json +0 -215
  138. mcp_proxy_adapter/examples/server_configs/config_https_token.json +0 -231
  139. mcp_proxy_adapter/examples/server_configs/config_mtls.json +0 -215
  140. mcp_proxy_adapter/examples/server_configs/config_proxy_registration.json +0 -250
  141. mcp_proxy_adapter/examples/server_configs/config_simple.json +0 -46
  142. mcp_proxy_adapter/examples/server_configs/roles.json +0 -38
  143. mcp_proxy_adapter-6.1.0.dist-info/METADATA +0 -205
  144. mcp_proxy_adapter-6.1.0.dist-info/RECORD +0 -193
  145. {mcp_proxy_adapter-6.1.0.dist-info → mcp_proxy_adapter-6.2.0.dist-info}/WHEEL +0 -0
  146. {mcp_proxy_adapter-6.1.0.dist-info → mcp_proxy_adapter-6.2.0.dist-info}/entry_points.txt +0 -0
  147. {mcp_proxy_adapter-6.1.0.dist-info → mcp_proxy_adapter-6.2.0.dist-info}/licenses/LICENSE +0 -0
  148. {mcp_proxy_adapter-6.1.0.dist-info → mcp_proxy_adapter-6.2.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,122 @@
1
+ mcp_proxy_adapter/__init__.py,sha256=B7m1YWyv_Wb87-Q-JqVpHQgwajnfIgDyZ_iIxzdTbBY,1021
2
+ mcp_proxy_adapter/__main__.py,sha256=zqP3eDdflTGyieH1Ji0wUC6sFsIGF8bz1wvQxqmQh54,768
3
+ mcp_proxy_adapter/config.py,sha256=z4rUbJdxYj6vYw05OM_kMXs1Qn2HRQXGHI9PB4hgPd4,12867
4
+ mcp_proxy_adapter/custom_openapi.py,sha256=jYUrCy8C1mShh3sjKj-JkzSMLAvxDLTvtzSJFj5HUNg,15023
5
+ mcp_proxy_adapter/main.py,sha256=_DJwMZdN0393UR-U7xfQh59EpbDDgv1oWPFf-v2MoII,2147
6
+ mcp_proxy_adapter/openapi.py,sha256=36vOEbJjGnVZR6hUhl6mHCD29HYOEFKo2bL0JdGSm-4,13952
7
+ mcp_proxy_adapter/version.py,sha256=5XpB9jkhQ99ZBEmurIcfaHU0LT9H9I25B95HAPSeUO4,75
8
+ mcp_proxy_adapter/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ mcp_proxy_adapter/api/app.py,sha256=pYrsDWhZAYoYbxujD0MGeOWdTnBUGueIGmZqeAbaB9A,27884
10
+ mcp_proxy_adapter/api/handlers.py,sha256=DcZT7MVBV33q-0EJ0iFqxE0VgBkFt6d_SqoRkntwyvc,8477
11
+ mcp_proxy_adapter/api/schemas.py,sha256=xOmiSwHaapY6myEFnLu7o-LWVPM7vwmLYZXFo2c6NfE,12381
12
+ mcp_proxy_adapter/api/tool_integration.py,sha256=MrtX7vUXCGBBuZuOs3C6EF67R_U_0xMfOmlmsAz-wuE,10245
13
+ mcp_proxy_adapter/api/tools.py,sha256=rRCRN2I8Odd2biBJZKByQS15rAWf0XwLRZEHDELc7Tg,8116
14
+ mcp_proxy_adapter/api/middleware/__init__.py,sha256=f3bUYU6iaPsVe1acsRHip0RgLhX3X2qjKWzgO-Ej998,2131
15
+ mcp_proxy_adapter/api/middleware/base.py,sha256=aMV9YPLHkUnJECuQWYbnlEGaj6xUJFHZR_hJb0OKvu8,2282
16
+ mcp_proxy_adapter/api/middleware/command_permission_middleware.py,sha256=sSdHTZ-ZxtcV3fJmcweB3sqlQivrYO_FO0H835jnPFA,5076
17
+ mcp_proxy_adapter/api/middleware/error_handling.py,sha256=avIZTjXj1sNOT3ekKtLAYJKM7V4duX0BF9PW-j18dEY,7134
18
+ mcp_proxy_adapter/api/middleware/factory.py,sha256=yDo7f4E-YL7qQZgGApyk8HZfLYOnrpsNx-Eh3fJBikE,8404
19
+ mcp_proxy_adapter/api/middleware/logging.py,sha256=VvUUX7bN4davCzFO6GYbN1O4sgJjOspV-EBLE3xpwpc,4730
20
+ mcp_proxy_adapter/api/middleware/performance.py,sha256=dHBxTF43LEGXMKHMH3A8ybKmwAWURd_zswqq_oC4xbw,2454
21
+ mcp_proxy_adapter/api/middleware/protocol_middleware.py,sha256=RwXBew04AatChvcmyuOOPCOkyJ2_RwCpnZWbKKn4XPM,5547
22
+ mcp_proxy_adapter/api/middleware/transport_middleware.py,sha256=Esy2gGKpEV5RoUTilr1YKKTDc5jh5RxsomD0VXyR2pE,4396
23
+ mcp_proxy_adapter/api/middleware/unified_security.py,sha256=32BWiQaFyWgEgdIlj-La_4GUgD180zB4jh1O7-DkHDE,5377
24
+ mcp_proxy_adapter/api/middleware/user_info_middleware.py,sha256=dQJWroIihEa5aZmrzrNAYE189K1Uy9OJyeOa9XpWaJk,2682
25
+ mcp_proxy_adapter/commands/__init__.py,sha256=r791wg4FKhWSi5rqA3vekDcGf5kr18pwF1woX-dnZKo,1525
26
+ mcp_proxy_adapter/commands/auth_validation_command.py,sha256=z612WJDVgZwaCrxdQhATwRc5i3qxH37MPuIV6SuZPn8,15083
27
+ mcp_proxy_adapter/commands/base.py,sha256=tunyrmt-LYJMQZslAZQor3KZvOrn1IYNpL5uOAnSdxc,15791
28
+ mcp_proxy_adapter/commands/builtin_commands.py,sha256=oloxk0itnY4Uy1a3ARXqHPm48RqkHxBbHqzXZ4bUGN8,3258
29
+ mcp_proxy_adapter/commands/catalog_manager.py,sha256=FVyF2Ky8DUmvFxjiem3YeC9ASFOzCZ9Lp2MsNobA1wI,34712
30
+ mcp_proxy_adapter/commands/cert_monitor_command.py,sha256=JWitmmHDeooWXt2fWLbcfAHDeHpsTL2AuBaoka7OWNE,24485
31
+ mcp_proxy_adapter/commands/certificate_management_command.py,sha256=4byTb1yCqTQCbNH_L4p_z3HithuugzI3a-H9gjiLDhg,24440
32
+ mcp_proxy_adapter/commands/command_registry.py,sha256=mPNhLnJ4L1lSyVzYXpUjeCBJkWIqEtlzpr9JcprHIf4,35260
33
+ mcp_proxy_adapter/commands/config_command.py,sha256=-Z6BGaEQTf859l56zZpHYBeZFeIVdpMYybDrd7LOPIg,3553
34
+ mcp_proxy_adapter/commands/dependency_container.py,sha256=Uz9OPRAUZN7tsVrMVgXgPQcsRD2N-e2Ixg9XarPOlnY,3410
35
+ mcp_proxy_adapter/commands/dependency_manager.py,sha256=lmY79MBkh-JRIPsYxSkdrUE9XHi4XBCbucaEMT0w6do,7683
36
+ mcp_proxy_adapter/commands/echo_command.py,sha256=R1oDNEAJSOIuODa4Nk3z4WJXhSxniNzaZtYHADlV310,2390
37
+ mcp_proxy_adapter/commands/health_command.py,sha256=uo6iND710oSUHEZm6ueT0TsKXRJKFbxUiVeSK57SBlE,4575
38
+ mcp_proxy_adapter/commands/help_command.py,sha256=PuanwvYmVs64DhB71gaI5rBRi_ozJ6x8afr18bRpTk4,13482
39
+ mcp_proxy_adapter/commands/hooks.py,sha256=Gu5TDSgA9EBHexWMWze8wgT63i6-dMEEwG8edWbrX3U,10060
40
+ mcp_proxy_adapter/commands/key_management_command.py,sha256=qin-iYXksIXOkZEfmJpclJSOyKaz9qRinj9uVa8hkdk,19339
41
+ mcp_proxy_adapter/commands/load_command.py,sha256=2zwPOCSBck6mr5KehyyH8lPRAqYYGeUeIIJdbxMSoZk,5984
42
+ mcp_proxy_adapter/commands/plugins_command.py,sha256=Te6YQH0ukJWIHAAEJE5DmdAilpjO1QMDa_PexhfQLH0,8531
43
+ mcp_proxy_adapter/commands/protocol_management_command.py,sha256=XSrNPGagopM4SinrSmNFW12KLng7-Oc9q6NpiInJ-QI,8485
44
+ mcp_proxy_adapter/commands/proxy_registration_command.py,sha256=yqPKgpv8oPP9mn1Blo-2VRVoWUpMcMJ29stqy2Di7hk,15394
45
+ mcp_proxy_adapter/commands/reload_command.py,sha256=6yJduQlIgXhtDSH4Q8qmfR8wZW1RVC1WT1eBIpxzCNo,7507
46
+ mcp_proxy_adapter/commands/result.py,sha256=9iFyoRRZ17q3d822XTMNyqnBvWypyoyV0NiHtM2bCd4,5604
47
+ mcp_proxy_adapter/commands/role_test_command.py,sha256=Hr45vB3W8tg_GQ4FfKOEOxW10eEb-pApo2nOPjru61M,4281
48
+ mcp_proxy_adapter/commands/roles_management_command.py,sha256=JSMkW9-Hq9ncltUvBjolQdvSeTa1FY2hoU0oD2mBon4,22471
49
+ mcp_proxy_adapter/commands/security_command.py,sha256=zKTVtb8vL_DafRHtrLqC2Mhk_DjOQ-3YwhIUh8NXJfQ,18206
50
+ mcp_proxy_adapter/commands/settings_command.py,sha256=hTBrFRABJDFYwnDf2ryfqoejUe06fM4XMOoiH0Exdyo,6407
51
+ mcp_proxy_adapter/commands/ssl_setup_command.py,sha256=wCWF7VhAB21m1FF7uR7r1mG1uLu6bFkfTfpHINM7LGI,13101
52
+ mcp_proxy_adapter/commands/token_management_command.py,sha256=7sl_fRUjWMRuP7NXoLjpLTB9wEg_aZU9dp5Ji9hbThA,18147
53
+ mcp_proxy_adapter/commands/transport_management_command.py,sha256=yv2lqUqJliYGIbYW7t0HQTrt5Cu2Y02rUjVzdznLtPk,4692
54
+ mcp_proxy_adapter/commands/unload_command.py,sha256=mhRZ23sJtTwUfWkjZzH8KDRpwxUX0kdu8LbAXAURRJc,5079
55
+ mcp_proxy_adapter/core/__init__.py,sha256=Ch50cV5Nd8m-HO9rMnVModajjwDK-OdUy7hxISDFkAM,800
56
+ mcp_proxy_adapter/core/app_factory.py,sha256=Xwyz40GNOWWa7ThArweawNBY4WI4bEI3_cj251mLHCM,17797
57
+ mcp_proxy_adapter/core/app_runner.py,sha256=JPpx9rKmaHAVdFnHRl2rXycptQkTSQ13Er7Qf1KZIA4,10614
58
+ mcp_proxy_adapter/core/auth_validator.py,sha256=lJxBVkoQWSk5CNtnPYMEJSsz4FhcXK-gB5QJ_OP9jEE,20937
59
+ mcp_proxy_adapter/core/certificate_utils.py,sha256=7VOhjRcygCToYgPTUt_MgcNILdpRBRBNZSFpeS_QrfA,39541
60
+ mcp_proxy_adapter/core/client.py,sha256=YxtaHvMoqKcjWJ-2mf2FH22wUGWUZjXMEKPqxypNOPE,21340
61
+ mcp_proxy_adapter/core/client_manager.py,sha256=sKEhapMpogqb54WIWEpz2bMjrX3wvYooX-a844IfCTU,9164
62
+ mcp_proxy_adapter/core/client_security.py,sha256=8isHpvv-7H85QzI8K3Pfyr_KdvpE2xYyIT4wqWrttNU,13575
63
+ mcp_proxy_adapter/core/config_converter.py,sha256=FAA2zx-yRgqMgzg73o9Aq5CEEfodNCeaA8Yluto4wAs,16985
64
+ mcp_proxy_adapter/core/config_validator.py,sha256=qDVmkRatuDeWylIPLjMq02Vpzff6DDTE_CstpzqGi7o,7773
65
+ mcp_proxy_adapter/core/errors.py,sha256=s34OxiIR4NCJu_pYSigKXqrIvRjUUK2OWw0X4dpDjIA,5151
66
+ mcp_proxy_adapter/core/logging.py,sha256=jQlFz52Xwapef6UD4p0acmaGFumD9XuexwW4frDN_ZM,9626
67
+ mcp_proxy_adapter/core/mtls_asgi.py,sha256=X2lAj3wk3L85amRCp_-10sqvZa5wJf_diXhwrrQReSo,5311
68
+ mcp_proxy_adapter/core/mtls_asgi_app.py,sha256=VeolP08TTaqYU5fGeaZexj6EBWBDugoVrEGXzJW4PuM,6406
69
+ mcp_proxy_adapter/core/protocol_manager.py,sha256=a3-JiCWLDUejg0MAdfmi5xQ5TZrCMqLfV1tKVUiRe38,13174
70
+ mcp_proxy_adapter/core/proxy_client.py,sha256=shP373Yelz7Fja22U6XnH0kT9XtPtWEFwOFlYFO97gw,22511
71
+ mcp_proxy_adapter/core/proxy_registration.py,sha256=87ko1vw61nHJGo0-xrObXiyQhrYK2K6nKr8rXID-j8c,19424
72
+ mcp_proxy_adapter/core/role_utils.py,sha256=wMoTVz3gF5fM7jozNMwsEwPkp1tui26M-t_KH1Oz8gs,12880
73
+ mcp_proxy_adapter/core/security_adapter.py,sha256=wZ3OH1WzhUdpN8N8CrGJSFFVNi474DqdazIqQ1T8PN4,13343
74
+ mcp_proxy_adapter/core/security_factory.py,sha256=4r7qvBq30XfosGD_b1ZHyNVLN8rOQ3NAKuaCOCEK8jA,8262
75
+ mcp_proxy_adapter/core/security_integration.py,sha256=yAAgL9Y7-VUMPhOLbDpBT2rRHDmmUWv1xolBrxbX29o,13601
76
+ mcp_proxy_adapter/core/server_adapter.py,sha256=8dhUlLxuYjaoNgMHieFCFgDRjxskP--Y5uoAhbN6RLw,9823
77
+ mcp_proxy_adapter/core/server_engine.py,sha256=SFENSDrVMlBD--HgKSRVklhrtLKSRSZhs_3UHxFCGbg,9540
78
+ mcp_proxy_adapter/core/settings.py,sha256=ZfUnmqD1tjAuaQo2VAF8evC1oHUit7gTu4WkTF0IMYI,10628
79
+ mcp_proxy_adapter/core/ssl_utils.py,sha256=_2mhpuoiRpSbUBifnQvtuziQfBRrXQUKtB58ALWTaqU,8220
80
+ mcp_proxy_adapter/core/transport_manager.py,sha256=ppcgjO-7Ulrk1ovlzlXVM89Iw4VOGA3awKgLf7FFAJ0,9518
81
+ mcp_proxy_adapter/core/unified_config_adapter.py,sha256=cpN_VrliIFGDH3JsfRkTlFdQvLcmuMYYedq0QEzlb0Y,22857
82
+ mcp_proxy_adapter/core/utils.py,sha256=ly8Ttg2v1OBukThJLxudRvmttU1hxJFLJUfat4b2dOI,3268
83
+ mcp_proxy_adapter/examples/__init__.py,sha256=QoJygjdbKmwcW2x113M_TwYp_6hMtKt8XuGvK4Gxl74,449
84
+ mcp_proxy_adapter/examples/create_certificates_simple.py,sha256=2KS-s3amvAqasvdh-cxY7ARuFAHVjtbtr_EJF2SKVQ0,23221
85
+ mcp_proxy_adapter/examples/debug_request_state.py,sha256=x_H3NIlkmIS6lZimvEM6kCXxGdpgFw99Sdui8qa_qeU,4347
86
+ mcp_proxy_adapter/examples/debug_role_chain.py,sha256=33l2Tk5mrcnwPFwqm2NTHcrWaJrXUU2wxW2I6Y4uIg4,8344
87
+ mcp_proxy_adapter/examples/demo_client.py,sha256=inic-FP5qG8oQXUaCrtEhmhac_PDZ1pcxp-M1cxSzwA,10240
88
+ mcp_proxy_adapter/examples/generate_all_certificates.py,sha256=rgcwqIkQ1eDfEIRFRXGIOz-jOSS1w0GPBRhYvMl6Vjc,16948
89
+ mcp_proxy_adapter/examples/generate_certificates.py,sha256=KxsltDvO_qpN0MsRv6mCSog-gcEtI18ECyNzpNbKBVw,3672
90
+ mcp_proxy_adapter/examples/generate_certificates_and_tokens.py,sha256=J0qHm_BMY8RYqfuwf7V7xKsHcsRJx8E7x-8JxmW5sPw,15988
91
+ mcp_proxy_adapter/examples/generate_test_configs.py,sha256=RoasOwO1B6gFaP4b6PjFTKsLSX_saBDhrgNbarpTufI,7648
92
+ mcp_proxy_adapter/examples/proxy_registration_example.py,sha256=g59_QG2D1CCqhIXEvgy2XmgXI3toLmLyH7hL3uHZwC8,12647
93
+ mcp_proxy_adapter/examples/run_example.py,sha256=o8rcy9Xo0UuZG4MpKdex3pFWYdtAi6uW8dEBQE6Yzbw,2539
94
+ mcp_proxy_adapter/examples/run_security_tests.py,sha256=xUzsOwKEblZrPFFc-DDfQnWfID9nqGsCvb5VnHtVsT0,10703
95
+ mcp_proxy_adapter/examples/run_security_tests_fixed.py,sha256=fNQsbALf9548xJ0OGPKYx5Crzg1GbcL8CSh1x_oKu_A,10540
96
+ mcp_proxy_adapter/examples/security_test_client.py,sha256=eBy6pZ5Dhdo-qi_7Fk-IWGHq7zAJA-om8RBuOep4XSs,28022
97
+ mcp_proxy_adapter/examples/setup_test_environment.py,sha256=erLnM5X4ys4wRl3u0wrnPJsy2luUPMfqxoyk6OZGNCU,7953
98
+ mcp_proxy_adapter/examples/test_config.py,sha256=1X9X8lNlWOcM1ZbIzteeMvLdgxnJEK_ev1BYTZiA9ws,6451
99
+ mcp_proxy_adapter/examples/test_config_generator.py,sha256=SBKL0bv-kUwUUbwrFVbxuA_6pDvK2573Jxm9wPiyI8s,3927
100
+ mcp_proxy_adapter/examples/test_examples.py,sha256=KH095FFEQDMKYZglclr5qy3cW__t3H8VX1l8dvCkQos,12132
101
+ mcp_proxy_adapter/examples/universal_client.py,sha256=IIKGRa0__KoWVla3VnVl-RjkkG_nPpM8vglPm70pV9c,26948
102
+ mcp_proxy_adapter/examples/basic_framework/__init__.py,sha256=XtgxpS3kKQFLDh4onP9XayNTDPzkaAbP0ExkTw9BLkk,184
103
+ mcp_proxy_adapter/examples/basic_framework/main.py,sha256=cDmqeUN1lDBBwuwLjmnP3qIyofCZ3Jr5Ct7Im-qCsUU,1728
104
+ mcp_proxy_adapter/examples/basic_framework/commands/__init__.py,sha256=_VQNLUEdsxUG-4yt9BZI_vtOxHAdGG0OUSsP6Wj-Vz4,76
105
+ mcp_proxy_adapter/examples/basic_framework/hooks/__init__.py,sha256=IE_EIXMnkdXuakZn7wLD9kBFyfDF5lYi56ejgiBeb-A,70
106
+ mcp_proxy_adapter/examples/commands/__init__.py,sha256=46FZSOABSeKPffw91JqIWL_UQD_RLL3nAR-ufgb2hr8,169
107
+ mcp_proxy_adapter/examples/full_application/__init__.py,sha256=EYSFAgAt4yfcafTFrfdSw_VwlSh7ec4Yk2sn5Z-cLb8,299
108
+ mcp_proxy_adapter/examples/full_application/main.py,sha256=Odw6pdjJkuJd5IhfwLDaRM11YH8Y1oQ_JmqPz_UIMGc,7355
109
+ mcp_proxy_adapter/examples/full_application/proxy_endpoints.py,sha256=-cpb0nIjzp6OltFHoZqrtFvb4wJf1dgT4WvQ2dcY6Bo,6045
110
+ mcp_proxy_adapter/examples/full_application/commands/__init__.py,sha256=yQHxVSFkAyFLUOdk42QOebUODPlQV9IbydPgF3UKsGM,217
111
+ mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py,sha256=u9_XOkoHkiFC-tn9B-yGUXfQi9OL0EDxlVVKSERI1wA,3099
112
+ mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py,sha256=fRWtegpUUVt4wWOz3yE3spMG4h1DM_xbSxg_WqlnbF0,3491
113
+ mcp_proxy_adapter/examples/full_application/hooks/__init__.py,sha256=ORG4cL8cSXEMmZ0CEPz75OVuwg54pdDm2GIBpP4dtcs,200
114
+ mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py,sha256=TYXuHI-KW_mH5r8mSKgNMJCr3moeEKrqC4Eex0U298k,3457
115
+ mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py,sha256=IaskSrckZS6bE3aGxSBL8aTj-iJTSI2ysfsFjhjncyM,2975
116
+ mcp_proxy_adapter/utils/config_generator.py,sha256=9vFN2UqUXkO-DgztZSnA0cH3cmMQar6WdtTOzz6xBio,32074
117
+ mcp_proxy_adapter-6.2.0.dist-info/licenses/LICENSE,sha256=6KdtUcTwmTRbJrAmYjVn7e6S-V42ubeDJ-AiVEzZ510,1075
118
+ mcp_proxy_adapter-6.2.0.dist-info/METADATA,sha256=3n-3nXervlNaJb7fUgKIqXSLZ9REI_4ZSgXAWqH6Yhs,22688
119
+ mcp_proxy_adapter-6.2.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
120
+ mcp_proxy_adapter-6.2.0.dist-info/entry_points.txt,sha256=J3eV6ID0lt_VSp4lIdIgBFTqLCThgObNNxRCbyfiMHw,70
121
+ mcp_proxy_adapter-6.2.0.dist-info/top_level.txt,sha256=JZT7vPLBYrtroX-ij68JBhJYbjDdghcV-DFySRy-Nnw,18
122
+ mcp_proxy_adapter-6.2.0.dist-info/RECORD,,
@@ -1,257 +0,0 @@
1
- # MCP Proxy Adapter - Examples and Security Testing
2
-
3
- Этот каталог содержит примеры использования MCP Proxy Adapter с различными конфигурациями безопасности и комплексную систему тестирования.
4
-
5
- ## 📁 Структура каталога
6
-
7
- ```
8
- examples/
9
- ├── README.md # Эта документация
10
- ├── SECURITY_TESTING.md # Документация по тестированию безопасности
11
- ├── generate_certificates.py # Скрипт генерации сертификатов
12
- ├── security_test_client.py # Клиент для тестирования безопасности
13
- ├── run_security_tests.py # Основной скрипт запуска тестов
14
- ├── cert_config.json # Конфигурация для генерации сертификатов
15
- ├── certs/ # Сгенерированные сертификаты
16
- ├── keys/ # Приватные ключи
17
- ├── server_configs/ # Конфигурации серверов
18
- │ ├── config_basic_http.json # Базовый HTTP
19
- │ ├── config_http_token.json # HTTP + токен
20
- │ ├── config_https.json # HTTPS
21
- │ ├── config_https_token.json # HTTPS + токен
22
- │ ├── config_mtls.json # mTLS
23
- │ └── roles.json # Роли и разрешения
24
- └── commands/ # Пользовательские команды
25
- └── __init__.py
26
- ```
27
-
28
- ## 🚀 Быстрый старт
29
-
30
- ### 1. Подготовка окружения
31
-
32
- ```bash
33
- # Активируйте виртуальную среду
34
- source .venv/bin/activate
35
-
36
- # Установите зависимости
37
- pip install -e .
38
- ```
39
-
40
- ### 2. Генерация сертификатов
41
-
42
- ```bash
43
- # Сгенерируйте все необходимые сертификаты
44
- cd mcp_proxy_adapter/examples
45
- python generate_certificates.py
46
- ```
47
-
48
- ### 3. Запуск тестов безопасности
49
-
50
- ```bash
51
- # Запустите все тесты безопасности
52
- python run_security_tests.py
53
- ```
54
-
55
- ## 🔧 Конфигурации серверов
56
-
57
- ### Базовый HTTP (порт 8000)
58
- ```bash
59
- python -m mcp_proxy_adapter.main --config server_configs/config_basic_http.json
60
- ```
61
-
62
- ### HTTP + Токен аутентификация (порт 8001)
63
- ```bash
64
- python -m mcp_proxy_adapter.main --config server_configs/config_http_token.json
65
- ```
66
-
67
- ### HTTPS (порт 8443)
68
- ```bash
69
- python -m mcp_proxy_adapter.main --config server_configs/config_https.json
70
- ```
71
-
72
- ### HTTPS + Токен аутентификация (порт 8444)
73
- ```bash
74
- python -m mcp_proxy_adapter.main --config server_configs/config_https_token.json
75
- ```
76
-
77
- ### mTLS (порт 8445)
78
- ```bash
79
- python -m mcp_proxy_adapter.main --config server_configs/config_mtls.json
80
- ```
81
-
82
- ## 🧪 Тестирование
83
-
84
- ### Тестирование отдельного сервера
85
-
86
- ```bash
87
- # Тест базового HTTP сервера
88
- python security_test_client.py --server http://localhost:8000 --auth none
89
-
90
- # Тест HTTP с токеном
91
- python security_test_client.py --server http://localhost:8001 --auth api_key --token test-token-123
92
-
93
- # Тест HTTPS сервера
94
- python security_test_client.py --server https://localhost:8443 --auth none
95
-
96
- # Тест HTTPS с токеном
97
- python security_test_client.py --server https://localhost:8444 --auth api_key --token test-token-123
98
-
99
- # Тест mTLS с сертификатом
100
- python security_test_client.py --server https://localhost:8445 --auth certificate --cert certs/admin_cert.pem --key keys/admin_key.pem --ca-cert certs/ca_cert.pem
101
- ```
102
-
103
- ### Тестирование всех сценариев
104
-
105
- ```bash
106
- # Запустите все серверы и протестируйте их
107
- python run_security_tests.py
108
- ```
109
-
110
- ## 📋 Сценарии тестирования
111
-
112
- ### 1. Базовый HTTP (config_basic_http.json)
113
- - **Порт**: 8000
114
- - **Безопасность**: Отключена
115
- - **Аутентификация**: Нет
116
- - **Тесты**: Health check, echo command
117
-
118
- ### 2. HTTP + Токен (config_http_token.json)
119
- - **Порт**: 8001
120
- - **Безопасность**: API Key аутентификация
121
- - **Токены**:
122
- - `test-token-123` (admin)
123
- - `user-token-456` (user)
124
- - **Тесты**: Ролевая аутентификация, негативные тесты
125
-
126
- ### 3. HTTPS (config_https.json)
127
- - **Порт**: 8443
128
- - **Безопасность**: SSL/TLS
129
- - **Сертификаты**: Самоподписанные
130
- - **Тесты**: Защищенные соединения
131
-
132
- ### 4. HTTPS + Токен (config_https_token.json)
133
- - **Порт**: 8444
134
- - **Безопасность**: SSL/TLS + API Key
135
- - **Тесты**: Комбинированная безопасность
136
-
137
- ### 5. mTLS (config_mtls.json)
138
- - **Порт**: 8445
139
- - **Безопасность**: Взаимная аутентификация сертификатами
140
- - **Тесты**: Сертификатная аутентификация
141
-
142
- ## 🔑 Токены для тестирования
143
-
144
- ```json
145
- {
146
- "test-token-123": {
147
- "roles": ["admin"],
148
- "permissions": ["*"]
149
- },
150
- "user-token-456": {
151
- "roles": ["user"],
152
- "permissions": ["read", "execute"]
153
- }
154
- }
155
- ```
156
-
157
- ## 📜 Роли и разрешения
158
-
159
- ```json
160
- {
161
- "admin": ["*"],
162
- "user": ["read", "write", "execute"],
163
- "readonly": ["read"],
164
- "guest": ["read"]
165
- }
166
- ```
167
-
168
- ## 🛠️ Генерация конфигураций
169
-
170
- Используйте встроенный генератор конфигураций:
171
-
172
- ```bash
173
- # Генерация всех типов конфигураций
174
- python -m mcp_proxy_adapter.utils.config_generator --all --output-dir ./generated_configs
175
-
176
- # Генерация конкретного типа
177
- python -m mcp_proxy_adapter.utils.config_generator --type https_token --output ./my_config.json
178
- ```
179
-
180
- Доступные типы конфигураций:
181
- - `minimal` - Минимальная конфигурация
182
- - `development` - Для разработки
183
- - `secure` - Максимальная безопасность
184
- - `full` - Полная конфигурация
185
- - `basic_http` - Базовый HTTP
186
- - `http_token` - HTTP + токен
187
- - `https` - HTTPS
188
- - `https_token` - HTTPS + токен
189
- - `mtls` - mTLS
190
-
191
- ## 🔍 Мониторинг и логи
192
-
193
- Логи сохраняются в:
194
- - `./logs/server.log` - Логи сервера
195
- - `./logs/security.log` - Логи безопасности
196
-
197
- Для просмотра логов в реальном времени:
198
- ```bash
199
- tail -f logs/server.log
200
- tail -f logs/security.log
201
- ```
202
-
203
- ## 🚨 Устранение неполадок
204
-
205
- ### Проблема: Сертификаты не найдены
206
- ```bash
207
- # Проверьте наличие сертификатов
208
- ls -la certs/
209
- ls -la keys/
210
-
211
- # Перегенерируйте сертификаты
212
- python generate_certificates.py
213
- ```
214
-
215
- ### Проблема: Порт занят
216
- ```bash
217
- # Найдите процесс, использующий порт
218
- lsof -i :8000
219
- lsof -i :8443
220
-
221
- # Остановите процесс
222
- kill -9 <PID>
223
- ```
224
-
225
- ### Проблема: SSL ошибки
226
- ```bash
227
- # Проверьте сертификаты
228
- openssl x509 -in certs/server_cert.pem -text -noout
229
-
230
- # Проверьте приватный ключ
231
- openssl rsa -in keys/server_key.pem -check
232
- ```
233
-
234
- ## 📚 Дополнительная документация
235
-
236
- - [SECURITY_TESTING.md](SECURITY_TESTING.md) - Подробное руководство по тестированию безопасности
237
- - [API Documentation](../docs/api/) - Документация API
238
- - [Configuration Guide](../docs/configuration.md) - Руководство по конфигурации
239
-
240
- ## 🤝 Поддержка
241
-
242
- Если у вас возникли проблемы:
243
-
244
- 1. Проверьте логи в `./logs/`
245
- 2. Убедитесь, что все зависимости установлены
246
- 3. Проверьте, что сертификаты сгенерированы корректно
247
- 4. Обратитесь к документации по устранению неполадок
248
-
249
- ## 📄 Лицензия
250
-
251
- Этот проект распространяется под лицензией MIT. См. файл [LICENSE](../../LICENSE) для подробностей.
252
-
253
- ---
254
-
255
- **Автор**: Vasiliy Zdanovskiy
256
- **Email**: vasilyvz@gmail.com
257
- **Версия**: 1.0.0
@@ -1,258 +0,0 @@
1
- # MCP Proxy Adapter - Examples and Security Testing
2
-
3
- This directory contains examples of using MCP Proxy Adapter with various security configurations and a comprehensive testing system.
4
-
5
- ## 📁 Directory Structure
6
-
7
- ```
8
- examples/
9
- ├── README.md # This documentation
10
- ├── README_EN.md # English documentation
11
- ├── SECURITY_TESTING.md # Security testing documentation
12
- ├── generate_certificates.py # Certificate generation script
13
- ├── security_test_client.py # Security testing client
14
- ├── run_security_tests.py # Main test runner script
15
- ├── cert_config.json # Certificate generation configuration
16
- ├── certs/ # Generated certificates
17
- ├── keys/ # Private keys
18
- ├── server_configs/ # Server configurations
19
- │ ├── config_basic_http.json # Basic HTTP
20
- │ ├── config_http_token.json # HTTP + token
21
- │ ├── config_https.json # HTTPS
22
- │ ├── config_https_token.json # HTTPS + token
23
- │ ├── config_mtls.json # mTLS
24
- │ └── roles.json # Roles and permissions
25
- └── commands/ # Custom commands
26
- └── __init__.py
27
- ```
28
-
29
- ## 🚀 Quick Start
30
-
31
- ### 1. Environment Setup
32
-
33
- ```bash
34
- # Activate virtual environment
35
- source .venv/bin/activate
36
-
37
- # Install dependencies
38
- pip install -e .
39
- ```
40
-
41
- ### 2. Generate Certificates
42
-
43
- ```bash
44
- # Generate all necessary certificates
45
- cd mcp_proxy_adapter/examples
46
- python generate_certificates.py
47
- ```
48
-
49
- ### 3. Run Security Tests
50
-
51
- ```bash
52
- # Run all security tests
53
- python run_security_tests.py
54
- ```
55
-
56
- ## 🔧 Server Configurations
57
-
58
- ### Basic HTTP (port 8000)
59
- ```bash
60
- python -m mcp_proxy_adapter.main --config server_configs/config_basic_http.json
61
- ```
62
-
63
- ### HTTP + Token Authentication (port 8001)
64
- ```bash
65
- python -m mcp_proxy_adapter.main --config server_configs/config_http_token.json
66
- ```
67
-
68
- ### HTTPS (port 8443)
69
- ```bash
70
- python -m mcp_proxy_adapter.main --config server_configs/config_https.json
71
- ```
72
-
73
- ### HTTPS + Token Authentication (port 8444)
74
- ```bash
75
- python -m mcp_proxy_adapter.main --config server_configs/config_https_token.json
76
- ```
77
-
78
- ### mTLS (port 8445)
79
- ```bash
80
- python -m mcp_proxy_adapter.main --config server_configs/config_mtls.json
81
- ```
82
-
83
- ## 🧪 Testing
84
-
85
- ### Testing Individual Server
86
-
87
- ```bash
88
- # Test basic HTTP server
89
- python security_test_client.py --server http://localhost:8000 --auth none
90
-
91
- # Test HTTP with token
92
- python security_test_client.py --server http://localhost:8001 --auth api_key --token test-token-123
93
-
94
- # Test HTTPS server
95
- python security_test_client.py --server https://localhost:8443 --auth none
96
-
97
- # Test HTTPS with token
98
- python security_test_client.py --server https://localhost:8444 --auth api_key --token test-token-123
99
-
100
- # Test mTLS with certificate
101
- python security_test_client.py --server https://localhost:8445 --auth certificate --cert certs/admin_cert.pem --key keys/admin_key.pem --ca-cert certs/ca_cert.pem
102
- ```
103
-
104
- ### Testing All Scenarios
105
-
106
- ```bash
107
- # Start all servers and test them
108
- python run_security_tests.py
109
- ```
110
-
111
- ## 📋 Testing Scenarios
112
-
113
- ### 1. Basic HTTP (config_basic_http.json)
114
- - **Port**: 8000
115
- - **Security**: Disabled
116
- - **Authentication**: None
117
- - **Tests**: Health check, echo command
118
-
119
- ### 2. HTTP + Token (config_http_token.json)
120
- - **Port**: 8001
121
- - **Security**: API Key authentication
122
- - **Tokens**:
123
- - `test-token-123` (admin)
124
- - `user-token-456` (user)
125
- - **Tests**: Role-based authentication, negative tests
126
-
127
- ### 3. HTTPS (config_https.json)
128
- - **Port**: 8443
129
- - **Security**: SSL/TLS
130
- - **Certificates**: Self-signed
131
- - **Tests**: Secure connections
132
-
133
- ### 4. HTTPS + Token (config_https_token.json)
134
- - **Port**: 8444
135
- - **Security**: SSL/TLS + API Key
136
- - **Tests**: Combined security
137
-
138
- ### 5. mTLS (config_mtls.json)
139
- - **Port**: 8445
140
- - **Security**: Mutual certificate authentication
141
- - **Tests**: Certificate authentication
142
-
143
- ## 🔑 Test Tokens
144
-
145
- ```json
146
- {
147
- "test-token-123": {
148
- "roles": ["admin"],
149
- "permissions": ["*"]
150
- },
151
- "user-token-456": {
152
- "roles": ["user"],
153
- "permissions": ["read", "execute"]
154
- }
155
- }
156
- ```
157
-
158
- ## 📜 Roles and Permissions
159
-
160
- ```json
161
- {
162
- "admin": ["*"],
163
- "user": ["read", "write", "execute"],
164
- "readonly": ["read"],
165
- "guest": ["read"]
166
- }
167
- ```
168
-
169
- ## 🛠️ Configuration Generation
170
-
171
- Use the built-in configuration generator:
172
-
173
- ```bash
174
- # Generate all configuration types
175
- python -m mcp_proxy_adapter.utils.config_generator --all --output-dir ./generated_configs
176
-
177
- # Generate specific type
178
- python -m mcp_proxy_adapter.utils.config_generator --type https_token --output ./my_config.json
179
- ```
180
-
181
- Available configuration types:
182
- - `minimal` - Minimal configuration
183
- - `development` - For development
184
- - `secure` - Maximum security
185
- - `full` - Full configuration
186
- - `basic_http` - Basic HTTP
187
- - `http_token` - HTTP + token
188
- - `https` - HTTPS
189
- - `https_token` - HTTPS + token
190
- - `mtls` - mTLS
191
-
192
- ## 🔍 Monitoring and Logs
193
-
194
- Logs are saved to:
195
- - `./logs/server.log` - Server logs
196
- - `./logs/security.log` - Security logs
197
-
198
- To view logs in real-time:
199
- ```bash
200
- tail -f logs/server.log
201
- tail -f logs/security.log
202
- ```
203
-
204
- ## 🚨 Troubleshooting
205
-
206
- ### Issue: Certificates not found
207
- ```bash
208
- # Check certificate availability
209
- ls -la certs/
210
- ls -la keys/
211
-
212
- # Regenerate certificates
213
- python generate_certificates.py
214
- ```
215
-
216
- ### Issue: Port in use
217
- ```bash
218
- # Find process using port
219
- lsof -i :8000
220
- lsof -i :8443
221
-
222
- # Stop process
223
- kill -9 <PID>
224
- ```
225
-
226
- ### Issue: SSL errors
227
- ```bash
228
- # Check certificates
229
- openssl x509 -in certs/server_cert.pem -text -noout
230
-
231
- # Check private key
232
- openssl rsa -in keys/server_key.pem -check
233
- ```
234
-
235
- ## 📚 Additional Documentation
236
-
237
- - [SECURITY_TESTING.md](SECURITY_TESTING.md) - Detailed security testing guide
238
- - [API Documentation](../docs/api/) - API documentation
239
- - [Configuration Guide](../docs/configuration.md) - Configuration guide
240
-
241
- ## 🤝 Support
242
-
243
- If you encounter issues:
244
-
245
- 1. Check logs in `./logs/`
246
- 2. Ensure all dependencies are installed
247
- 3. Verify certificates are generated correctly
248
- 4. Refer to troubleshooting documentation
249
-
250
- ## 📄 License
251
-
252
- This project is licensed under the MIT License. See the [LICENSE](../../LICENSE) file for details.
253
-
254
- ---
255
-
256
- **Author**: Vasiliy Zdanovskiy
257
- **Email**: vasilyvz@gmail.com
258
- **Version**: 1.0.0