mcp-proxy-adapter 4.1.0__py3-none-any.whl → 6.0.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 (101) hide show
  1. mcp_proxy_adapter/__main__.py +12 -0
  2. mcp_proxy_adapter/api/app.py +138 -11
  3. mcp_proxy_adapter/api/handlers.py +16 -1
  4. mcp_proxy_adapter/api/middleware/__init__.py +30 -29
  5. mcp_proxy_adapter/api/middleware/auth_adapter.py +235 -0
  6. mcp_proxy_adapter/api/middleware/error_handling.py +9 -0
  7. mcp_proxy_adapter/api/middleware/factory.py +219 -0
  8. mcp_proxy_adapter/api/middleware/logging.py +32 -6
  9. mcp_proxy_adapter/api/middleware/mtls_adapter.py +305 -0
  10. mcp_proxy_adapter/api/middleware/mtls_middleware.py +296 -0
  11. mcp_proxy_adapter/api/middleware/protocol_middleware.py +135 -0
  12. mcp_proxy_adapter/api/middleware/rate_limit_adapter.py +241 -0
  13. mcp_proxy_adapter/api/middleware/roles_adapter.py +365 -0
  14. mcp_proxy_adapter/api/middleware/roles_middleware.py +381 -0
  15. mcp_proxy_adapter/api/middleware/security.py +376 -0
  16. mcp_proxy_adapter/api/middleware/token_auth_middleware.py +261 -0
  17. mcp_proxy_adapter/api/middleware/transport_middleware.py +122 -0
  18. mcp_proxy_adapter/commands/__init__.py +13 -4
  19. mcp_proxy_adapter/commands/auth_validation_command.py +408 -0
  20. mcp_proxy_adapter/commands/base.py +61 -30
  21. mcp_proxy_adapter/commands/builtin_commands.py +89 -0
  22. mcp_proxy_adapter/commands/catalog_manager.py +838 -0
  23. mcp_proxy_adapter/commands/cert_monitor_command.py +620 -0
  24. mcp_proxy_adapter/commands/certificate_management_command.py +608 -0
  25. mcp_proxy_adapter/commands/command_registry.py +705 -345
  26. mcp_proxy_adapter/commands/dependency_manager.py +245 -0
  27. mcp_proxy_adapter/commands/health_command.py +7 -0
  28. mcp_proxy_adapter/commands/hooks.py +200 -167
  29. mcp_proxy_adapter/commands/key_management_command.py +506 -0
  30. mcp_proxy_adapter/commands/load_command.py +176 -0
  31. mcp_proxy_adapter/commands/plugins_command.py +235 -0
  32. mcp_proxy_adapter/commands/protocol_management_command.py +232 -0
  33. mcp_proxy_adapter/commands/proxy_registration_command.py +268 -0
  34. mcp_proxy_adapter/commands/reload_command.py +48 -50
  35. mcp_proxy_adapter/commands/result.py +1 -0
  36. mcp_proxy_adapter/commands/roles_management_command.py +697 -0
  37. mcp_proxy_adapter/commands/ssl_setup_command.py +483 -0
  38. mcp_proxy_adapter/commands/token_management_command.py +529 -0
  39. mcp_proxy_adapter/commands/transport_management_command.py +144 -0
  40. mcp_proxy_adapter/commands/unload_command.py +158 -0
  41. mcp_proxy_adapter/config.py +99 -2
  42. mcp_proxy_adapter/core/auth_validator.py +606 -0
  43. mcp_proxy_adapter/core/certificate_utils.py +827 -0
  44. mcp_proxy_adapter/core/config_converter.py +405 -0
  45. mcp_proxy_adapter/core/config_validator.py +218 -0
  46. mcp_proxy_adapter/core/logging.py +11 -0
  47. mcp_proxy_adapter/core/protocol_manager.py +226 -0
  48. mcp_proxy_adapter/core/proxy_registration.py +270 -0
  49. mcp_proxy_adapter/core/role_utils.py +426 -0
  50. mcp_proxy_adapter/core/security_adapter.py +373 -0
  51. mcp_proxy_adapter/core/security_factory.py +239 -0
  52. mcp_proxy_adapter/core/settings.py +1 -0
  53. mcp_proxy_adapter/core/ssl_utils.py +233 -0
  54. mcp_proxy_adapter/core/transport_manager.py +292 -0
  55. mcp_proxy_adapter/custom_openapi.py +22 -11
  56. mcp_proxy_adapter/examples/basic_server/config.json +58 -23
  57. mcp_proxy_adapter/examples/basic_server/config_all_protocols.json +54 -0
  58. mcp_proxy_adapter/examples/basic_server/config_http.json +70 -0
  59. mcp_proxy_adapter/examples/basic_server/config_http_only.json +52 -0
  60. mcp_proxy_adapter/examples/basic_server/config_https.json +58 -0
  61. mcp_proxy_adapter/examples/basic_server/config_mtls.json +58 -0
  62. mcp_proxy_adapter/examples/basic_server/config_ssl.json +46 -0
  63. mcp_proxy_adapter/examples/basic_server/server.py +17 -1
  64. mcp_proxy_adapter/examples/custom_commands/__init__.py +1 -1
  65. mcp_proxy_adapter/examples/custom_commands/advanced_hooks.py +339 -23
  66. mcp_proxy_adapter/examples/custom_commands/auto_commands/test_command.py +105 -0
  67. mcp_proxy_adapter/examples/custom_commands/catalog/commands/test_command.py +129 -0
  68. mcp_proxy_adapter/examples/custom_commands/config.json +97 -41
  69. mcp_proxy_adapter/examples/custom_commands/config_all_protocols.json +46 -0
  70. mcp_proxy_adapter/examples/custom_commands/config_https_only.json +46 -0
  71. mcp_proxy_adapter/examples/custom_commands/config_https_transport.json +33 -0
  72. mcp_proxy_adapter/examples/custom_commands/config_mtls_only.json +46 -0
  73. mcp_proxy_adapter/examples/custom_commands/config_mtls_transport.json +33 -0
  74. mcp_proxy_adapter/examples/custom_commands/config_single_transport.json +33 -0
  75. mcp_proxy_adapter/examples/custom_commands/full_help_response.json +1 -0
  76. mcp_proxy_adapter/examples/custom_commands/generated_openapi.json +629 -0
  77. mcp_proxy_adapter/examples/custom_commands/get_openapi.py +103 -0
  78. mcp_proxy_adapter/examples/custom_commands/loadable_commands/test_ignored.py +129 -0
  79. mcp_proxy_adapter/examples/custom_commands/proxy_connection_manager.py +278 -0
  80. mcp_proxy_adapter/examples/custom_commands/server.py +92 -63
  81. mcp_proxy_adapter/examples/custom_commands/simple_openapi_server.py +75 -0
  82. mcp_proxy_adapter/examples/custom_commands/start_server_with_proxy_manager.py +299 -0
  83. mcp_proxy_adapter/examples/custom_commands/start_server_with_registration.py +278 -0
  84. mcp_proxy_adapter/examples/custom_commands/test_openapi.py +27 -0
  85. mcp_proxy_adapter/examples/custom_commands/test_registry.py +23 -0
  86. mcp_proxy_adapter/examples/custom_commands/test_simple.py +19 -0
  87. mcp_proxy_adapter/examples/custom_project_example/README.md +103 -0
  88. mcp_proxy_adapter/examples/custom_project_example/README_EN.md +103 -0
  89. mcp_proxy_adapter/examples/simple_custom_commands/README.md +149 -0
  90. mcp_proxy_adapter/examples/simple_custom_commands/README_EN.md +149 -0
  91. mcp_proxy_adapter/main.py +175 -0
  92. mcp_proxy_adapter/schemas/roles_schema.json +162 -0
  93. mcp_proxy_adapter/tests/unit/test_config.py +53 -0
  94. mcp_proxy_adapter/version.py +1 -1
  95. {mcp_proxy_adapter-4.1.0.dist-info → mcp_proxy_adapter-6.0.0.dist-info}/METADATA +2 -1
  96. mcp_proxy_adapter-6.0.0.dist-info/RECORD +179 -0
  97. mcp_proxy_adapter/commands/reload_settings_command.py +0 -125
  98. mcp_proxy_adapter-4.1.0.dist-info/RECORD +0 -110
  99. {mcp_proxy_adapter-4.1.0.dist-info → mcp_proxy_adapter-6.0.0.dist-info}/WHEEL +0 -0
  100. {mcp_proxy_adapter-4.1.0.dist-info → mcp_proxy_adapter-6.0.0.dist-info}/licenses/LICENSE +0 -0
  101. {mcp_proxy_adapter-4.1.0.dist-info → mcp_proxy_adapter-6.0.0.dist-info}/top_level.txt +0 -0
@@ -33,6 +33,22 @@ def temp_config_file() -> Generator[str, None, None]:
33
33
  "level": "DEBUG",
34
34
  "file": "test.log"
35
35
  },
36
+ "ssl": {
37
+ "enabled": True,
38
+ "mode": "https_only",
39
+ "cert_file": "test_cert.pem",
40
+ "key_file": "test_key.pem",
41
+ "cipher_suites": ["TLS_AES_256_GCM_SHA384"],
42
+ "token_auth": {
43
+ "enabled": True,
44
+ "header_name": "Authorization",
45
+ "token_prefix": "Bearer",
46
+ "tokens_file": "test_tokens.json",
47
+ "token_expiry": 3600,
48
+ "jwt_secret": "test-secret",
49
+ "jwt_algorithm": "HS256"
50
+ }
51
+ },
36
52
  "test_section": {
37
53
  "test_key": "test_value",
38
54
  "nested": {
@@ -67,6 +83,22 @@ def test_config_load_from_file(temp_config_file: str):
67
83
  assert config.get("logging.level") == "DEBUG"
68
84
  assert config.get("logging.file") == "test.log"
69
85
  assert config.get("test_section.test_key") == "test_value"
86
+
87
+ # Check SSL configuration
88
+ assert config.get("ssl.enabled") is True
89
+ assert config.get("ssl.mode") == "https_only"
90
+ assert config.get("ssl.cert_file") == "test_cert.pem"
91
+ assert config.get("ssl.key_file") == "test_key.pem"
92
+ assert config.get("ssl.cipher_suites") == ["TLS_AES_256_GCM_SHA384"]
93
+
94
+ # Check token authentication configuration
95
+ assert config.get("ssl.token_auth.enabled") is True
96
+ assert config.get("ssl.token_auth.header_name") == "Authorization"
97
+ assert config.get("ssl.token_auth.token_prefix") == "Bearer"
98
+ assert config.get("ssl.token_auth.tokens_file") == "test_tokens.json"
99
+ assert config.get("ssl.token_auth.token_expiry") == 3600
100
+ assert config.get("ssl.token_auth.jwt_secret") == "test-secret"
101
+ assert config.get("ssl.token_auth.jwt_algorithm") == "HS256"
70
102
 
71
103
 
72
104
  @pytest.mark.unit
@@ -100,6 +132,27 @@ def test_config_get_with_default(temp_config_file: str):
100
132
  assert config.get("test_section.nested.non_existent", default=False) is False
101
133
 
102
134
 
135
+ @pytest.mark.unit
136
+ def test_config_default_ssl_settings():
137
+ """
138
+ Test default SSL configuration settings.
139
+ """
140
+ config = Config()
141
+
142
+ # Check default SSL settings
143
+ assert config.get("ssl.enabled") is False
144
+ assert config.get("ssl.mode") == "https_only"
145
+ assert config.get("ssl.cert_file") is None
146
+ assert config.get("ssl.key_file") is None
147
+ assert config.get("ssl.ca_cert") is None
148
+ assert config.get("ssl.verify_client") is False
149
+ assert config.get("ssl.client_cert_required") is False
150
+ assert "TLS_AES_256_GCM_SHA384" in config.get("ssl.cipher_suites")
151
+ assert "TLS_CHACHA20_POLY1305_SHA256" in config.get("ssl.cipher_suites")
152
+ assert config.get("ssl.min_tls_version") == "1.2"
153
+ assert config.get("ssl.max_tls_version") == "1.3"
154
+
155
+
103
156
  @pytest.mark.unit
104
157
  def test_config_get_without_default(temp_config_file: str):
105
158
  """
@@ -1,3 +1,3 @@
1
1
  """Version information for MCP Microservice."""
2
2
 
3
- __version__ = "4.1.0"
3
+ __version__ = "5.0.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-proxy-adapter
3
- Version: 4.1.0
3
+ Version: 6.0.0
4
4
  Summary: Reliable microservice with unified JSON-RPC endpoint
5
5
  Home-page: https://github.com/maverikod/mcp-proxy-adapter
6
6
  Author: Vasiliy Zdanovskiy
@@ -45,6 +45,7 @@ Requires-Dist: docstring-parser<1.0.0,>=0.15
45
45
  Requires-Dist: typing-extensions<5.0.0,>=4.5.0
46
46
  Requires-Dist: jsonrpc>=1.2.0
47
47
  Requires-Dist: psutil>=5.9.0
48
+ Requires-Dist: mcp_security_framework>=0.1.0
48
49
  Dynamic: author
49
50
  Dynamic: home-page
50
51
  Dynamic: license-file
@@ -0,0 +1,179 @@
1
+ mcp_proxy_adapter/__init__.py,sha256=B7m1YWyv_Wb87-Q-JqVpHQgwajnfIgDyZ_iIxzdTbBY,1021
2
+ mcp_proxy_adapter/__main__.py,sha256=GuX2ZMrX4PaoQ2sLTbURZyebVn721AS8tM36e0HEJAI,246
3
+ mcp_proxy_adapter/config.py,sha256=F3rrQSA3q1Zs_OGV9U6NGYohViFKVhwio7SoGX7rDro,10226
4
+ mcp_proxy_adapter/custom_openapi.py,sha256=jYUrCy8C1mShh3sjKj-JkzSMLAvxDLTvtzSJFj5HUNg,15023
5
+ mcp_proxy_adapter/main.py,sha256=Ug_7KmiUHKA_g6Hk2raSYEAcIK2bLSWOKfhAPoVZ09g,5702
6
+ mcp_proxy_adapter/openapi.py,sha256=36vOEbJjGnVZR6hUhl6mHCD29HYOEFKo2bL0JdGSm-4,13952
7
+ mcp_proxy_adapter/version.py,sha256=2YUdv_4cqrC5EGOexrOuZ1x0MtvtjpJCsW38cdsNc9E,71
8
+ mcp_proxy_adapter/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
+ mcp_proxy_adapter/api/app.py,sha256=m9wsLWX4N3oZUtuKz5TKp67pRJFAEjy3lo89l-z04u8,21943
10
+ mcp_proxy_adapter/api/handlers.py,sha256=DmuXPkug3Zr9R0PVFxE_qdb2TCV-GTusVHGMjaLd_EA,7879
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=okzo5WIvnlTv0p_NgO6__oJzXHddiu6C84BEpXK2RTQ,1807
15
+ mcp_proxy_adapter/api/middleware/auth.py,sha256=bic-ez4o4xh74ZczLXSNafrk_m2qk82GF9MHmfDpf9w,4891
16
+ mcp_proxy_adapter/api/middleware/auth_adapter.py,sha256=HBPkITt-BWiumbUhk-wv2lwJLNJnv079R4W4Fra4SDs,8045
17
+ mcp_proxy_adapter/api/middleware/base.py,sha256=aMV9YPLHkUnJECuQWYbnlEGaj6xUJFHZR_hJb0OKvu8,2282
18
+ mcp_proxy_adapter/api/middleware/error_handling.py,sha256=avIZTjXj1sNOT3ekKtLAYJKM7V4duX0BF9PW-j18dEY,7134
19
+ mcp_proxy_adapter/api/middleware/factory.py,sha256=bH2PFZ4kXvMDgr8mPRJ1FpuGX9fHtD-Z15BnGuSrvEU,7433
20
+ mcp_proxy_adapter/api/middleware/logging.py,sha256=VvUUX7bN4davCzFO6GYbN1O4sgJjOspV-EBLE3xpwpc,4730
21
+ mcp_proxy_adapter/api/middleware/mtls_adapter.py,sha256=IkrYXCw3CbaEbgngjh58JWCylTYNqsk2b6qFjmho4OM,10624
22
+ mcp_proxy_adapter/api/middleware/mtls_middleware.py,sha256=q7TmMF-M3JCH2quEV1DtYqHpuYB-7oIdA5lUiyzfKo0,10618
23
+ mcp_proxy_adapter/api/middleware/performance.py,sha256=dHBxTF43LEGXMKHMH3A8ybKmwAWURd_zswqq_oC4xbw,2454
24
+ mcp_proxy_adapter/api/middleware/protocol_middleware.py,sha256=ts9_XD7oI6ZPOAvRDwGKbduRL3MH1_wDP3ET7MnVwEE,4851
25
+ mcp_proxy_adapter/api/middleware/rate_limit.py,sha256=DIv_-ZUVmL-jEo_A5BlfnasZf25zT84AiIJDUUnXkpM,5041
26
+ mcp_proxy_adapter/api/middleware/rate_limit_adapter.py,sha256=lYKl1q-w7uMLrNDltmac2yQSimYDYek2VuVmFPn4XlQ,8709
27
+ mcp_proxy_adapter/api/middleware/roles_adapter.py,sha256=FkAs-eRfcwOsJjr7_3TPR-fu7mXagoJ2ze143ThtNmA,12827
28
+ mcp_proxy_adapter/api/middleware/roles_middleware.py,sha256=cHx9rUVFnrHA-Y_eAUB7NLrK4vEC9p4WklL2oDcZNmU,13336
29
+ mcp_proxy_adapter/api/middleware/security.py,sha256=I4Yo5lwrQYo1HcuAVDqkg79hhU7XB0oM08bDTan9Pw8,12918
30
+ mcp_proxy_adapter/api/middleware/token_auth_middleware.py,sha256=qUv8XdXi1TJksHJ1GT2EAdLS0FvHWoEpx8zG_GBZAvk,8561
31
+ mcp_proxy_adapter/api/middleware/transport_middleware.py,sha256=Esy2gGKpEV5RoUTilr1YKKTDc5jh5RxsomD0VXyR2pE,4396
32
+ mcp_proxy_adapter/commands/__init__.py,sha256=dFyvN2RLZrraqbeeOMg26qAN22T0ETfcdQtLAMStx3w,1223
33
+ mcp_proxy_adapter/commands/auth_validation_command.py,sha256=z612WJDVgZwaCrxdQhATwRc5i3qxH37MPuIV6SuZPn8,15083
34
+ mcp_proxy_adapter/commands/base.py,sha256=h6AKBWRUKJSSDUTy0BMPZyWRbXNDVpVM8-H0tVto31M,15562
35
+ mcp_proxy_adapter/commands/builtin_commands.py,sha256=QFEZg2UH284_aN9VkCRMScU-kVpSO6lSIFrKP4E0O40,3029
36
+ mcp_proxy_adapter/commands/catalog_manager.py,sha256=FVyF2Ky8DUmvFxjiem3YeC9ASFOzCZ9Lp2MsNobA1wI,34712
37
+ mcp_proxy_adapter/commands/cert_monitor_command.py,sha256=JWitmmHDeooWXt2fWLbcfAHDeHpsTL2AuBaoka7OWNE,24485
38
+ mcp_proxy_adapter/commands/certificate_management_command.py,sha256=4byTb1yCqTQCbNH_L4p_z3HithuugzI3a-H9gjiLDhg,24440
39
+ mcp_proxy_adapter/commands/command_registry.py,sha256=BWCEzM1e1HicXtzPJgz7zu1y7OJtrDgJRF3eUvGIXvE,34880
40
+ mcp_proxy_adapter/commands/config_command.py,sha256=-Z6BGaEQTf859l56zZpHYBeZFeIVdpMYybDrd7LOPIg,3553
41
+ mcp_proxy_adapter/commands/dependency_container.py,sha256=Uz9OPRAUZN7tsVrMVgXgPQcsRD2N-e2Ixg9XarPOlnY,3410
42
+ mcp_proxy_adapter/commands/dependency_manager.py,sha256=lmY79MBkh-JRIPsYxSkdrUE9XHi4XBCbucaEMT0w6do,7683
43
+ mcp_proxy_adapter/commands/health_command.py,sha256=uo6iND710oSUHEZm6ueT0TsKXRJKFbxUiVeSK57SBlE,4575
44
+ mcp_proxy_adapter/commands/help_command.py,sha256=dfqNt1h2H6vQJ9rLySWa_-0-QzesnN-Mgx0cz-uFlIo,13051
45
+ mcp_proxy_adapter/commands/hooks.py,sha256=Gu5TDSgA9EBHexWMWze8wgT63i6-dMEEwG8edWbrX3U,10060
46
+ mcp_proxy_adapter/commands/key_management_command.py,sha256=qin-iYXksIXOkZEfmJpclJSOyKaz9qRinj9uVa8hkdk,19339
47
+ mcp_proxy_adapter/commands/load_command.py,sha256=2zwPOCSBck6mr5KehyyH8lPRAqYYGeUeIIJdbxMSoZk,5984
48
+ mcp_proxy_adapter/commands/plugins_command.py,sha256=Te6YQH0ukJWIHAAEJE5DmdAilpjO1QMDa_PexhfQLH0,8531
49
+ mcp_proxy_adapter/commands/protocol_management_command.py,sha256=XSrNPGagopM4SinrSmNFW12KLng7-Oc9q6NpiInJ-QI,8485
50
+ mcp_proxy_adapter/commands/proxy_registration_command.py,sha256=oO-NgkxK12EEGx7K7epmawhWgK1j2-Un8OBw-bFCV8s,8535
51
+ mcp_proxy_adapter/commands/reload_command.py,sha256=6yJduQlIgXhtDSH4Q8qmfR8wZW1RVC1WT1eBIpxzCNo,7507
52
+ mcp_proxy_adapter/commands/result.py,sha256=9iFyoRRZ17q3d822XTMNyqnBvWypyoyV0NiHtM2bCd4,5604
53
+ mcp_proxy_adapter/commands/roles_management_command.py,sha256=JSMkW9-Hq9ncltUvBjolQdvSeTa1FY2hoU0oD2mBon4,22471
54
+ mcp_proxy_adapter/commands/settings_command.py,sha256=hTBrFRABJDFYwnDf2ryfqoejUe06fM4XMOoiH0Exdyo,6407
55
+ mcp_proxy_adapter/commands/ssl_setup_command.py,sha256=P9GvZg1HWxpyjYWARUUsrFUHUhYKf8VvIJqry4eJECg,17405
56
+ mcp_proxy_adapter/commands/token_management_command.py,sha256=HigG7wpWR2nqnZV7Xqd8ErX91FJ5rOYxfqjHNYHs18A,18146
57
+ mcp_proxy_adapter/commands/transport_management_command.py,sha256=yv2lqUqJliYGIbYW7t0HQTrt5Cu2Y02rUjVzdznLtPk,4692
58
+ mcp_proxy_adapter/commands/unload_command.py,sha256=mhRZ23sJtTwUfWkjZzH8KDRpwxUX0kdu8LbAXAURRJc,5079
59
+ mcp_proxy_adapter/core/__init__.py,sha256=Ch50cV5Nd8m-HO9rMnVModajjwDK-OdUy7hxISDFkAM,800
60
+ mcp_proxy_adapter/core/auth_validator.py,sha256=lJxBVkoQWSk5CNtnPYMEJSsz4FhcXK-gB5QJ_OP9jEE,20937
61
+ mcp_proxy_adapter/core/certificate_utils.py,sha256=6wxTf8dYXb4pCDVkFqKkeJE0Zc_CyzefgmzQT6dTi1c,30448
62
+ mcp_proxy_adapter/core/config_converter.py,sha256=FAA2zx-yRgqMgzg73o9Aq5CEEfodNCeaA8Yluto4wAs,16985
63
+ mcp_proxy_adapter/core/config_validator.py,sha256=qDVmkRatuDeWylIPLjMq02Vpzff6DDTE_CstpzqGi7o,7773
64
+ mcp_proxy_adapter/core/errors.py,sha256=s34OxiIR4NCJu_pYSigKXqrIvRjUUK2OWw0X4dpDjIA,5151
65
+ mcp_proxy_adapter/core/logging.py,sha256=Cw0idPAq0z0dJ9pea2kPOMPqAFS5pwKjwmjkZJRe-ak,9482
66
+ mcp_proxy_adapter/core/protocol_manager.py,sha256=ZSjnjtuo9tlaNAddmo2x9XL0i7R-SPPwFBJQSx8FerA,8105
67
+ mcp_proxy_adapter/core/proxy_registration.py,sha256=n3p0KfdMqmTmrJZmC_nsTB-ZMCVuwzVFtTBaqojVqdM,9734
68
+ mcp_proxy_adapter/core/role_utils.py,sha256=wMoTVz3gF5fM7jozNMwsEwPkp1tui26M-t_KH1Oz8gs,12880
69
+ mcp_proxy_adapter/core/security_adapter.py,sha256=8cc-76a423AIk-5JFh0VG2mUwEMJT3XbdUrUMo19dzU,13426
70
+ mcp_proxy_adapter/core/security_factory.py,sha256=4r7qvBq30XfosGD_b1ZHyNVLN8rOQ3NAKuaCOCEK8jA,8262
71
+ mcp_proxy_adapter/core/settings.py,sha256=ZfUnmqD1tjAuaQo2VAF8evC1oHUit7gTu4WkTF0IMYI,10628
72
+ mcp_proxy_adapter/core/ssl_utils.py,sha256=aBJZhc-5BX4Z9PaQMHEqbAJ8DWdDDZc9REY8MZTedfE,8197
73
+ mcp_proxy_adapter/core/transport_manager.py,sha256=sRDNK6yTUCfQjv2c9nIN2hZuneY3GQn8VPmCxkOmJu0,9506
74
+ mcp_proxy_adapter/core/utils.py,sha256=ly8Ttg2v1OBukThJLxudRvmttU1hxJFLJUfat4b2dOI,3268
75
+ mcp_proxy_adapter/examples/README.md,sha256=rAaBDPCuat7RWaeoCFSR4X92XPn0OmD2QQaYBAT-rz4,3342
76
+ mcp_proxy_adapter/examples/__init__.py,sha256=Y0Q3rsoHZTIJS0gHbcE3W-htBkUkeYFSZG7sAfowMUI,147
77
+ mcp_proxy_adapter/examples/basic_server/README.md,sha256=E5dzfz3X6tPtLpNOOmbmZ2F6do_R9xy9wDI66KjlooY,1223
78
+ mcp_proxy_adapter/examples/basic_server/__init__.py,sha256=63tFue2XfrlkNpIMC3foQxGOYooZiIHJkKFlmSjqgPw,128
79
+ mcp_proxy_adapter/examples/basic_server/basic_custom_settings.json,sha256=OQGAT2TUERhnznpOV0IsUix5JM-am7VCEvG97BWUxos,1003
80
+ mcp_proxy_adapter/examples/basic_server/config.json,sha256=QYJV44juWVWUZtsnFavXkmThpC5yl7ICCX06akckBbU,1835
81
+ mcp_proxy_adapter/examples/basic_server/config_all_protocols.json,sha256=A08uRS-01N3pDHdO__PVKX4-im9nN3_VhOePWTUkZdY,1312
82
+ mcp_proxy_adapter/examples/basic_server/config_http.json,sha256=6kilmP_AQfiGXx3xlbsJYOsFaGOTczYQ5H0uTUeqvB4,1813
83
+ mcp_proxy_adapter/examples/basic_server/config_http_only.json,sha256=UF403UCBZOaDXHaviH997rhKrWqtYbivNYWWhtBigd4,1146
84
+ mcp_proxy_adapter/examples/basic_server/config_https.json,sha256=f_BKYdtTBwJocxouK1-xmIvugpEz-w5hQkA4DnMtndY,1386
85
+ mcp_proxy_adapter/examples/basic_server/config_mtls.json,sha256=TV7Jein1Gdb-ep7fPPyAWdfmoItNh7yXvMbQmXaB2I8,1402
86
+ mcp_proxy_adapter/examples/basic_server/config_ssl.json,sha256=r9rVZcgjU-8MULs-XXp_LZNSZQ4Misbe5JLa2AdsnyM,1097
87
+ mcp_proxy_adapter/examples/basic_server/custom_settings_example.py,sha256=9VM7_D5OzSZ-eezH17gthsLo3DvklOtzkx-3QM9j8RU,8218
88
+ mcp_proxy_adapter/examples/basic_server/server.py,sha256=uR7vtjHUz1cXfWqsEd8IGb1f7CpvCdDolKCgMs4Xw08,4322
89
+ mcp_proxy_adapter/examples/custom_commands/README.md,sha256=nkrZ-mbz0AfnYUVb57hPsO4jUadWvDaUTWkIDUwY0VY,3881
90
+ mcp_proxy_adapter/examples/custom_commands/__init__.py,sha256=yUKbYt6pnxp9y-seMZK5LaMT9KgWSt8gNDRtoWnBQ0k,713
91
+ mcp_proxy_adapter/examples/custom_commands/advanced_hooks.py,sha256=W4NgefEvRUhzBJcyR8ugFNeWjKqoO5vPNNsAmuVzGgI,21727
92
+ mcp_proxy_adapter/examples/custom_commands/config.json,sha256=6cb91QYskJ9NU92lNpYTXY-pP_tTggvm_ugexKyhSFo,2881
93
+ mcp_proxy_adapter/examples/custom_commands/config_all_protocols.json,sha256=XZHx1vqDsrtEELLJ0Q4gKRcX0fIVhODpXzi2iZc1UcU,996
94
+ mcp_proxy_adapter/examples/custom_commands/config_https_only.json,sha256=6K4MAB1ttOvdJXn36Ajmjxwl4o0DJWFDQ2xDCcFcqZ8,970
95
+ mcp_proxy_adapter/examples/custom_commands/config_https_transport.json,sha256=zWLBZdL24wJ_Gg2qLFhV56GRuY4XAzw1sj9lYpmZnQs,765
96
+ mcp_proxy_adapter/examples/custom_commands/config_mtls_only.json,sha256=FwQoNNKV48x8k1RAjawEMTwrmKsrQpJGy_prHdd60ho,959
97
+ mcp_proxy_adapter/examples/custom_commands/config_mtls_transport.json,sha256=e04F6k1l7EGvXs48GQe8tk3kQRxLyPJg3lH0Fgy0EeY,760
98
+ mcp_proxy_adapter/examples/custom_commands/config_single_transport.json,sha256=fF2FqPjypWs8PTXjISd425eszW0H66TErG4R1CtT_BA,676
99
+ mcp_proxy_adapter/examples/custom_commands/custom_health_command.py,sha256=V7qqFRgFQAxriEnUtkJ_sHjIOCjGjeqgsHjcfZrd26w,5473
100
+ mcp_proxy_adapter/examples/custom_commands/custom_help_command.py,sha256=3HPj4peKcwbwSfXW2ATQ4vFGvbsXLxfZXfxjjPYiowU,7486
101
+ mcp_proxy_adapter/examples/custom_commands/custom_openapi_generator.py,sha256=txm6oC8jP-nOHNgWlB2B0_YIYf2YQFSqLYpObNyDDq4,2408
102
+ mcp_proxy_adapter/examples/custom_commands/custom_settings.json,sha256=-5RQlIZzTIZLb8-OqIDc-2kEred2tbJncZBLHYHTvZA,2413
103
+ mcp_proxy_adapter/examples/custom_commands/custom_settings_manager.py,sha256=JDkxfnxSDg2mASEKq4LTjpyT-QhVlCCY51YicTqP4Y8,9290
104
+ mcp_proxy_adapter/examples/custom_commands/data_transform_command.py,sha256=Pi8noxGMbvj5rPqE-Yf-MFiN2g3LQZwuS9GgISY1588,4400
105
+ mcp_proxy_adapter/examples/custom_commands/echo_command.py,sha256=5cP0MQiTcpEiix7k5oBD2aHEHcYDS75nIrS23KETzd0,3394
106
+ mcp_proxy_adapter/examples/custom_commands/full_help_response.json,sha256=k-KtPleorNwCwNaE7Mo8SqdfSGqWu2-rrH7r04audKU,21038
107
+ mcp_proxy_adapter/examples/custom_commands/generated_openapi.json,sha256=xIJi2jrpj-Q5AfI-n4iibpF0_ES-IG8QrRO4-YrgGLA,18502
108
+ mcp_proxy_adapter/examples/custom_commands/get_openapi.py,sha256=eg-nqJwmzl3ks6WWcGTSG6pHlBTk6OVv5ToQwKE2nXM,3927
109
+ mcp_proxy_adapter/examples/custom_commands/hooks.py,sha256=Zfd-9T2XYJF7XMgQmEGdzWtM8Gz2EF8dn-jNJbYOgb4,7486
110
+ mcp_proxy_adapter/examples/custom_commands/intercept_command.py,sha256=06xPpS-9kC6Lu-b6anES1ah8gLtP0sgFL4N1JkDkOrk,3716
111
+ mcp_proxy_adapter/examples/custom_commands/manual_echo_command.py,sha256=4Bma586HU17IpuVuCuG-_rk-kycDx_oN6gKJ-q3DQr4,2787
112
+ mcp_proxy_adapter/examples/custom_commands/proxy_connection_manager.py,sha256=c6TRZQisnBz5XBLISQUxpWtmnzy7_hVR8HkgWZ7L8io,9993
113
+ mcp_proxy_adapter/examples/custom_commands/server.py,sha256=7vPHAd-hmOk04M6ogQC7EO9tz_FaCoL6Ggjhfo4QD_E,10258
114
+ mcp_proxy_adapter/examples/custom_commands/simple_openapi_server.py,sha256=Z_JbS2h3RRRGg6t9v2J4L42eJn78HCbyqcdRKUaS8TY,2337
115
+ mcp_proxy_adapter/examples/custom_commands/start_server_with_proxy_manager.py,sha256=54FoME6iv2cHs67hmu7YhjTNTMWhQL0b2eyZBUtEgGQ,11265
116
+ mcp_proxy_adapter/examples/custom_commands/start_server_with_registration.py,sha256=nw5QGSXJiwWmp5LnTtMrr_dpMJngAkjrU4b4jaqGnfc,10472
117
+ mcp_proxy_adapter/examples/custom_commands/test_hooks.py,sha256=0VUwENRAAYGDYMUxXVEA_EByKiHQiqJmdkul1LvebQE,5288
118
+ mcp_proxy_adapter/examples/custom_commands/test_openapi.py,sha256=rYvWTMB-Rx8fAeoDFgDHWCJ6zyiyJWDrL4_bmlrYjI4,660
119
+ mcp_proxy_adapter/examples/custom_commands/test_registry.py,sha256=ZvSUrpn5L4lidHpVa78-y-_0tCjWQsIoVd5S31fI_js,738
120
+ mcp_proxy_adapter/examples/custom_commands/test_simple.py,sha256=-eb0EJWOsyvEqCKqQD2uRyvB88G0sgoj62pKc1YLMAI,560
121
+ mcp_proxy_adapter/examples/custom_commands/auto_commands/__init__.py,sha256=AN5b9FNYobhDL5MWaftVy0imcAlbEuLIxwRQYX1U-_o,161
122
+ mcp_proxy_adapter/examples/custom_commands/auto_commands/auto_echo_command.py,sha256=M0QlkCdSY9rD1b88JdZLlVMo2zU9iCnWC4DeSWCtU44,2725
123
+ mcp_proxy_adapter/examples/custom_commands/auto_commands/auto_info_command.py,sha256=zPgPc43YLKY6xObrLAqADne6T06bs3zCsx3BCeFZa0Q,2889
124
+ mcp_proxy_adapter/examples/custom_commands/auto_commands/test_command.py,sha256=9rrwKuKJB0w2Ny4MVRs70_DGv2RiRPZJsOMEjr-iOC8,3015
125
+ mcp_proxy_adapter/examples/custom_commands/catalog/commands/test_command.py,sha256=-Qe_1OwsYyt3ZGWyz4Zr9yFOwATeiW_Nj2ekIrcylG4,3475
126
+ mcp_proxy_adapter/examples/custom_commands/loadable_commands/test_ignored.py,sha256=-Qe_1OwsYyt3ZGWyz4Zr9yFOwATeiW_Nj2ekIrcylG4,3475
127
+ mcp_proxy_adapter/examples/custom_project_example/README.md,sha256=lUoewJU7NwyfF5imnKnr3XTzqXCduvB4IXgV-S5bkVM,2549
128
+ mcp_proxy_adapter/examples/custom_project_example/README_EN.md,sha256=XFcrx_ib6nX0NUCxFBFN3BnEgJ1IsLRFNZW2afatYvI,2283
129
+ mcp_proxy_adapter/examples/deployment/README.md,sha256=5JzrIQPEw1NolHsHRKByNxbUTLj__ZYI9WQrtbxLJMk,1227
130
+ mcp_proxy_adapter/examples/deployment/__init__.py,sha256=Nu3mrZT9kg5-GK4AUtdcnE9uSa9QdeLStBMXWrR4fHA,131
131
+ mcp_proxy_adapter/examples/deployment/config.development.json,sha256=o-P1s0Ci3CpaoS7f4xrCej1FyumuhqJwFsnhIFFcy-I,156
132
+ mcp_proxy_adapter/examples/deployment/config.json,sha256=xXEr378-nkWn2RVkkPt-hvkSlFy12brXO6Ntqs2sZxE,505
133
+ mcp_proxy_adapter/examples/deployment/config.production.json,sha256=3cWz5d50_Ojx1f_Wn9C6jh5cET4hyPlpacOFckVhg54,299
134
+ mcp_proxy_adapter/examples/deployment/config.staging.json,sha256=8maxqWfSZ3mHtjpIOCa37JQXUs2iEZacwBSc0wcvpRE,270
135
+ mcp_proxy_adapter/examples/deployment/docker-compose.yml,sha256=jYVVsegJIXtxy9IVhj2WEyjLs7omDWXP1lUkwMCydLg,739
136
+ mcp_proxy_adapter/examples/deployment/run.sh,sha256=tzvjztSwewtetewjFb2MUVjOym9G0rVKVDLSmLKuB-E,1352
137
+ mcp_proxy_adapter/examples/deployment/run_docker.sh,sha256=XniKJkDproyPxsENZAa55PAO7WmzmPNqqFhZHEp2PKQ,2668
138
+ mcp_proxy_adapter/examples/simple_custom_commands/README.md,sha256=qzGfxjIVbz6RHBQ4OsNIOKLc4N81H1f5ldT_69asqKM,4390
139
+ mcp_proxy_adapter/examples/simple_custom_commands/README_EN.md,sha256=Q5AHfu9pJVT_puLuKQY5BS-pO-9MIgq3EjQwZIBoCs8,3855
140
+ mcp_proxy_adapter/schemas/base_schema.json,sha256=v9G9cGMd4dRhCZsOQ_FMqOi5VFyVbI6Cf3fyIvOT9dc,2881
141
+ mcp_proxy_adapter/schemas/openapi_schema.json,sha256=C3yLkwmDsvnLW9B5gnKKdBGl4zxkeU-rEmjTrNVsQU0,8405
142
+ mcp_proxy_adapter/schemas/roles_schema.json,sha256=deHgI7L6GwfBXacOlNtDgDJelDThppClC3Ti4Eh8rJY,5659
143
+ mcp_proxy_adapter/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
144
+ mcp_proxy_adapter/tests/conftest.py,sha256=VBA2wLeYfp9XAGSq4c489PVBIqMGAJiQPrT0k3kyzXw,2999
145
+ mcp_proxy_adapter/tests/test_api_endpoints.py,sha256=ePtWCf0szD1JeY9WdHAhcKnuOzoSCpUcqZ_2DVhlC-A,10280
146
+ mcp_proxy_adapter/tests/test_api_handlers.py,sha256=LeHO0o6eCxan6mt_8ZkUwSbeY7qYfoYMJ-bT_sSgdxc,11011
147
+ mcp_proxy_adapter/tests/test_base_command.py,sha256=nSIi_mfjux8TL--65pMBfyg91EiLjJhI2P_ASWqyW-U,3779
148
+ mcp_proxy_adapter/tests/test_batch_requests.py,sha256=9-gvhPq48AcEwGlhwgn3DWNhpleLA0f4luZNYMrqlXY,4103
149
+ mcp_proxy_adapter/tests/test_command_registry.py,sha256=ywi5gM7D7NHcNOkdwXOgpJqHjwGADZEaB3ueM3nR0gM,7683
150
+ mcp_proxy_adapter/tests/test_config.py,sha256=i4YbFhB3WI1wWKCxkG6l-UpFv2LAbhh4hmGipmYG1d0,3928
151
+ mcp_proxy_adapter/tests/test_utils.py,sha256=K8DqdWDAV-cXjjeykehHpG5phfq5ydu2HLJzaAL282Y,1653
152
+ mcp_proxy_adapter/tests/api/__init__.py,sha256=QzjeBIhrRLqfUKYmxVSCbMOoni5MAXgyAx9HxxB6JRs,27
153
+ mcp_proxy_adapter/tests/api/test_cmd_endpoint.py,sha256=RFg_N7Ut1l_pncUPMaqVg85XV4KTpVe03yI_VA0Z47o,3843
154
+ mcp_proxy_adapter/tests/api/test_custom_openapi.py,sha256=oSZ61G-CzrlGe7-F5OXMeNR2N2dZnKDH-npS9vumHqE,26404
155
+ mcp_proxy_adapter/tests/api/test_handlers.py,sha256=RjO5yjUwpl9UPX45z9qSSvjU1gl9F7MHDEbnLFYL1GE,18921
156
+ mcp_proxy_adapter/tests/api/test_middleware.py,sha256=3Rgc09VJ7JG6_06oIgAVq6u7qJsaiuhW0KpfDjxk8Ac,12285
157
+ mcp_proxy_adapter/tests/api/test_schemas.py,sha256=QJbo-aWwhe233U9VKBWaTDudmDEkkvcOeX0hoIst1nM,19986
158
+ mcp_proxy_adapter/tests/api/test_tool_integration.py,sha256=zCLztv4OLRKeug_VD2MwqewrhrSE52_Xzto3yOY72wY,21720
159
+ mcp_proxy_adapter/tests/commands/__init__.py,sha256=DZxhtyr__AleyXN1s8Ef887tK5nsoHKfW4QXyzLaP0E,36
160
+ mcp_proxy_adapter/tests/commands/test_config_command.py,sha256=ud0Y57xUhFiyrUKDyA0eBZ8IOKiGDpioijtwY-detC4,6522
161
+ mcp_proxy_adapter/tests/commands/test_echo_command.py,sha256=c2dmqfx3ZfvDedy5vuxArFv7iHsReepMmD2Lchg4l3E,3437
162
+ mcp_proxy_adapter/tests/commands/test_help_command.py,sha256=0kylFDGSYV-YStVCf_j7_4EF8VDaClIZbJz3V2V2-DI,4272
163
+ mcp_proxy_adapter/tests/functional/__init__.py,sha256=muVNR6LD5o7DsDaLrbLTFsavUNcnyM608-mr-dqzgDU,59
164
+ mcp_proxy_adapter/tests/functional/test_api.py,sha256=OaGB-WAWVyX4b0b-mCdXBNhwwYABYeBPO3IDnA3I00c,7114
165
+ mcp_proxy_adapter/tests/integration/__init__.py,sha256=JZpeNG1PBRZ3k5zfq6NH3GyzDc1Yx1ZUgwi6eLBxs1o,60
166
+ mcp_proxy_adapter/tests/integration/test_cmd_integration.py,sha256=BS3lA6ayveMckHcy1WJjyqR7l7WTcjmGiCYSnMjVfO0,3415
167
+ mcp_proxy_adapter/tests/integration/test_integration.py,sha256=Rf8GTxdZOvZzrtgqWN2fp-36qUU5rpHdV9zhN1JxNw8,6619
168
+ mcp_proxy_adapter/tests/performance/__init__.py,sha256=2kHf6g4LmYnFuV4EALXzo7Qk9vHGA9DXZFt7nORRFjM,60
169
+ mcp_proxy_adapter/tests/performance/test_performance.py,sha256=Djrnu-SsXRrc_Prj1Aw8OoPzPUwHJds-Itk3aX6o01w,5730
170
+ mcp_proxy_adapter/tests/stubs/__init__.py,sha256=qJ_gqvLdt68rAfLOeJpjVcLWyWdhEg6RkKheyV2yjJs,178
171
+ mcp_proxy_adapter/tests/stubs/echo_command.py,sha256=Y7SA4IB5Lo_ncn78SDm9iRZvJSKy2pXi2nBQjIUPrvg,2620
172
+ mcp_proxy_adapter/tests/unit/__init__.py,sha256=RS-5UoSCcLKtr2jrAaZw_NG9MquA6BZmxq-P6cTw9ok,53
173
+ mcp_proxy_adapter/tests/unit/test_base_command.py,sha256=iCJzmfcvknS6pnzqu9TSkpgKBGoYCLWu0aQekcj1AME,18183
174
+ mcp_proxy_adapter/tests/unit/test_config.py,sha256=_suOuPN7rMl0bjHQ34ZT9gjzF-3cgsKpNFuFdCsTdN0,8081
175
+ mcp_proxy_adapter-6.0.0.dist-info/licenses/LICENSE,sha256=OkApFEwdgMCt_mbvUI-eIwKMSTe38K3XnU2DT5ub-wI,1072
176
+ mcp_proxy_adapter-6.0.0.dist-info/METADATA,sha256=UuWt3yXxVYK2kcRItEsewPGhbcXoMmQqkssLZRkG3qQ,7589
177
+ mcp_proxy_adapter-6.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
178
+ mcp_proxy_adapter-6.0.0.dist-info/top_level.txt,sha256=JZT7vPLBYrtroX-ij68JBhJYbjDdghcV-DFySRy-Nnw,18
179
+ mcp_proxy_adapter-6.0.0.dist-info/RECORD,,
@@ -1,125 +0,0 @@
1
- """
2
- Reload Settings Command
3
-
4
- This command allows reloading configuration settings from files and environment variables.
5
- """
6
-
7
- from typing import Dict, Any
8
- from mcp_proxy_adapter.commands.base import Command
9
- from mcp_proxy_adapter.core.settings import reload_settings, get_custom_settings
10
- from mcp_proxy_adapter.core.logging import get_logger
11
-
12
-
13
- class ReloadSettingsResult:
14
- """
15
- Result class for reload settings command.
16
- """
17
-
18
- def __init__(
19
- self,
20
- success: bool,
21
- message: str,
22
- custom_settings: Dict[str, Any] = None,
23
- error_message: str = None
24
- ):
25
- self.success = success
26
- self.message = message
27
- self.custom_settings = custom_settings or {}
28
- self.error_message = error_message
29
-
30
- def to_dict(self) -> Dict[str, Any]:
31
- """Convert result to dictionary."""
32
- result = {
33
- "success": self.success,
34
- "message": self.message,
35
- "custom_settings": self.custom_settings
36
- }
37
- if self.error_message:
38
- result["error_message"] = self.error_message
39
- return result
40
-
41
- def get_schema(self) -> Dict[str, Any]:
42
- """Get JSON schema for the result."""
43
- return {
44
- "type": "object",
45
- "properties": {
46
- "success": {
47
- "type": "boolean",
48
- "description": "Whether the operation was successful"
49
- },
50
- "message": {
51
- "type": "string",
52
- "description": "Operation result message"
53
- },
54
- "custom_settings": {
55
- "type": "object",
56
- "description": "Current custom settings after reload",
57
- "additionalProperties": True
58
- },
59
- "error_message": {
60
- "type": "string",
61
- "description": "Error message if operation failed"
62
- }
63
- },
64
- "required": ["success", "message", "custom_settings"]
65
- }
66
-
67
-
68
- class ReloadSettingsCommand(Command):
69
- """
70
- Command to reload configuration settings.
71
- """
72
-
73
- name = "reload_settings"
74
- description = "Reload configuration settings from files and environment variables"
75
-
76
- async def execute(self, **params) -> ReloadSettingsResult:
77
- """
78
- Execute the reload settings command.
79
-
80
- Args:
81
- **params: Command parameters (not used)
82
-
83
- Returns:
84
- ReloadSettingsResult with operation status
85
- """
86
- logger = get_logger("reload_settings_command")
87
-
88
- try:
89
- logger.info("🔄 Starting settings reload...")
90
-
91
- # Reload configuration from files and environment variables
92
- reload_settings()
93
-
94
- # Get current custom settings
95
- custom_settings = get_custom_settings()
96
-
97
- logger.info("✅ Settings reloaded successfully")
98
- logger.info(f"📋 Current custom settings: {custom_settings}")
99
-
100
- return ReloadSettingsResult(
101
- success=True,
102
- message="Settings reloaded successfully from configuration files and environment variables",
103
- custom_settings=custom_settings
104
- )
105
-
106
- except Exception as e:
107
- error_msg = f"Failed to reload settings: {str(e)}"
108
- logger.error(f"❌ {error_msg}")
109
-
110
- return ReloadSettingsResult(
111
- success=False,
112
- message="Failed to reload settings",
113
- custom_settings=get_custom_settings(),
114
- error_message=error_msg
115
- )
116
-
117
- @classmethod
118
- def get_schema(cls) -> Dict[str, Any]:
119
- """Get JSON schema for the command parameters."""
120
- return {
121
- "type": "object",
122
- "description": "Reload configuration settings from files and environment variables",
123
- "properties": {},
124
- "additionalProperties": False
125
- }
@@ -1,110 +0,0 @@
1
- mcp_proxy_adapter/__init__.py,sha256=B7m1YWyv_Wb87-Q-JqVpHQgwajnfIgDyZ_iIxzdTbBY,1021
2
- mcp_proxy_adapter/config.py,sha256=FS-Zwg8F5lfb0WqaXRrVlPLgjHEvPCV5MtTmE6Qj0Cw,6447
3
- mcp_proxy_adapter/custom_openapi.py,sha256=1A7y8r65WfZSqhhzhJyEIpwqwV-qbTXzRrRX04amluk,14472
4
- mcp_proxy_adapter/openapi.py,sha256=36vOEbJjGnVZR6hUhl6mHCD29HYOEFKo2bL0JdGSm-4,13952
5
- mcp_proxy_adapter/version.py,sha256=92OLC5449Zo3k37tGhA1bpS09AYJa0q_UnsvNKmL3gg,71
6
- mcp_proxy_adapter/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- mcp_proxy_adapter/api/app.py,sha256=Haj0ogy70KRMyAAwU2PQhQFPf28On9ynnUX2FPk0l94,16602
8
- mcp_proxy_adapter/api/handlers.py,sha256=LqPMRMGYtepoZUoJiKjjycRE2fJxsE545osoEsgHKQg,7208
9
- mcp_proxy_adapter/api/schemas.py,sha256=xOmiSwHaapY6myEFnLu7o-LWVPM7vwmLYZXFo2c6NfE,12381
10
- mcp_proxy_adapter/api/tool_integration.py,sha256=MrtX7vUXCGBBuZuOs3C6EF67R_U_0xMfOmlmsAz-wuE,10245
11
- mcp_proxy_adapter/api/tools.py,sha256=rRCRN2I8Odd2biBJZKByQS15rAWf0XwLRZEHDELc7Tg,8116
12
- mcp_proxy_adapter/api/middleware/__init__.py,sha256=RpaA5hbZ7XIjKaQK0PJpZNqc9tFISe5w7ZmqNgwC6FE,1556
13
- mcp_proxy_adapter/api/middleware/auth.py,sha256=bic-ez4o4xh74ZczLXSNafrk_m2qk82GF9MHmfDpf9w,4891
14
- mcp_proxy_adapter/api/middleware/base.py,sha256=aMV9YPLHkUnJECuQWYbnlEGaj6xUJFHZR_hJb0OKvu8,2282
15
- mcp_proxy_adapter/api/middleware/error_handling.py,sha256=0ZXsDN8Rjt0_tVOXXC1HB14TINrz8GKicillsl3fUg8,6940
16
- mcp_proxy_adapter/api/middleware/logging.py,sha256=wGtw4BqKMLgn5zqYd84DnVPtO3evfx2X-TxOCyAmysM,3679
17
- mcp_proxy_adapter/api/middleware/performance.py,sha256=dHBxTF43LEGXMKHMH3A8ybKmwAWURd_zswqq_oC4xbw,2454
18
- mcp_proxy_adapter/api/middleware/rate_limit.py,sha256=DIv_-ZUVmL-jEo_A5BlfnasZf25zT84AiIJDUUnXkpM,5041
19
- mcp_proxy_adapter/commands/__init__.py,sha256=bHZZcVYkXVL9g-YZOnWkHOxSP2WzT-I4_OleYycQhbw,610
20
- mcp_proxy_adapter/commands/base.py,sha256=-OwzKXVwt9Ov4BLmHE6CAu9966__RgMOl1bkstlWCuE,14719
21
- mcp_proxy_adapter/commands/command_registry.py,sha256=zErrZvJFYA0amJ9ruo5W09QY2JJSlj5ezlkesR4xfCo,20494
22
- mcp_proxy_adapter/commands/config_command.py,sha256=-Z6BGaEQTf859l56zZpHYBeZFeIVdpMYybDrd7LOPIg,3553
23
- mcp_proxy_adapter/commands/dependency_container.py,sha256=Uz9OPRAUZN7tsVrMVgXgPQcsRD2N-e2Ixg9XarPOlnY,3410
24
- mcp_proxy_adapter/commands/health_command.py,sha256=_tzxHwB_8vo53VBC6HnBv5fSfZL1pEuwlbrCcy_K78c,4087
25
- mcp_proxy_adapter/commands/help_command.py,sha256=dfqNt1h2H6vQJ9rLySWa_-0-QzesnN-Mgx0cz-uFlIo,13051
26
- mcp_proxy_adapter/commands/hooks.py,sha256=22i3bx1zk06B88rfoD6n8N-ITq3NU2AFXs1rBmFgUC8,9305
27
- mcp_proxy_adapter/commands/reload_command.py,sha256=Qs_9RYqzYecmGiYSez-zW6z7kBNlF6cNZEKKH0F7noA,7664
28
- mcp_proxy_adapter/commands/reload_settings_command.py,sha256=kLd5ICCa0S21K2_5ewRSKGNtrCZCVrbKiufzA-zGXlY,4100
29
- mcp_proxy_adapter/commands/result.py,sha256=2WjftiAuhlyzOKmPJlQHo_b08ZCzWoK7cquUHFLVE-E,5534
30
- mcp_proxy_adapter/commands/settings_command.py,sha256=hTBrFRABJDFYwnDf2ryfqoejUe06fM4XMOoiH0Exdyo,6407
31
- mcp_proxy_adapter/core/__init__.py,sha256=Ch50cV5Nd8m-HO9rMnVModajjwDK-OdUy7hxISDFkAM,800
32
- mcp_proxy_adapter/core/errors.py,sha256=s34OxiIR4NCJu_pYSigKXqrIvRjUUK2OWw0X4dpDjIA,5151
33
- mcp_proxy_adapter/core/logging.py,sha256=ReRFeRN0OZxFpT-OzQdiigE_hOXt5kbyrkRFKu55HVc,8957
34
- mcp_proxy_adapter/core/settings.py,sha256=XJmBrNrzB9EgseVkYGURAWZGL_Ka7iBBRj9Jdzp8PDE,10551
35
- mcp_proxy_adapter/core/utils.py,sha256=ly8Ttg2v1OBukThJLxudRvmttU1hxJFLJUfat4b2dOI,3268
36
- mcp_proxy_adapter/examples/README.md,sha256=rAaBDPCuat7RWaeoCFSR4X92XPn0OmD2QQaYBAT-rz4,3342
37
- mcp_proxy_adapter/examples/__init__.py,sha256=Y0Q3rsoHZTIJS0gHbcE3W-htBkUkeYFSZG7sAfowMUI,147
38
- mcp_proxy_adapter/examples/basic_server/README.md,sha256=E5dzfz3X6tPtLpNOOmbmZ2F6do_R9xy9wDI66KjlooY,1223
39
- mcp_proxy_adapter/examples/basic_server/__init__.py,sha256=63tFue2XfrlkNpIMC3foQxGOYooZiIHJkKFlmSjqgPw,128
40
- mcp_proxy_adapter/examples/basic_server/basic_custom_settings.json,sha256=OQGAT2TUERhnznpOV0IsUix5JM-am7VCEvG97BWUxos,1003
41
- mcp_proxy_adapter/examples/basic_server/config.json,sha256=wz0niZ2Q8zr1XPeNZBGsAXOZgciYnEn3XDW5FrOEqzQ,929
42
- mcp_proxy_adapter/examples/basic_server/custom_settings_example.py,sha256=9VM7_D5OzSZ-eezH17gthsLo3DvklOtzkx-3QM9j8RU,8218
43
- mcp_proxy_adapter/examples/basic_server/server.py,sha256=U6X9m7zCAlwMztFft5wfu6MdaLt2dppkyFlcUa_7BDc,3424
44
- mcp_proxy_adapter/examples/custom_commands/README.md,sha256=nkrZ-mbz0AfnYUVb57hPsO4jUadWvDaUTWkIDUwY0VY,3881
45
- mcp_proxy_adapter/examples/custom_commands/__init__.py,sha256=vqAm7c4crDMupwh0hAGPC8XE2inu0o-tAG5GHW04ZkE,684
46
- mcp_proxy_adapter/examples/custom_commands/advanced_hooks.py,sha256=MCL7OkkrOMc8zEt9qlZ_dV9YIGnB_fe4Ge6mjVq6qPE,9516
47
- mcp_proxy_adapter/examples/custom_commands/config.json,sha256=4CZ01rT5d9QX4zUzEAQvHzin4LQheHxgtk6Wph5bnp4,1750
48
- mcp_proxy_adapter/examples/custom_commands/custom_health_command.py,sha256=V7qqFRgFQAxriEnUtkJ_sHjIOCjGjeqgsHjcfZrd26w,5473
49
- mcp_proxy_adapter/examples/custom_commands/custom_help_command.py,sha256=3HPj4peKcwbwSfXW2ATQ4vFGvbsXLxfZXfxjjPYiowU,7486
50
- mcp_proxy_adapter/examples/custom_commands/custom_openapi_generator.py,sha256=txm6oC8jP-nOHNgWlB2B0_YIYf2YQFSqLYpObNyDDq4,2408
51
- mcp_proxy_adapter/examples/custom_commands/custom_settings.json,sha256=-5RQlIZzTIZLb8-OqIDc-2kEred2tbJncZBLHYHTvZA,2413
52
- mcp_proxy_adapter/examples/custom_commands/custom_settings_manager.py,sha256=JDkxfnxSDg2mASEKq4LTjpyT-QhVlCCY51YicTqP4Y8,9290
53
- mcp_proxy_adapter/examples/custom_commands/data_transform_command.py,sha256=Pi8noxGMbvj5rPqE-Yf-MFiN2g3LQZwuS9GgISY1588,4400
54
- mcp_proxy_adapter/examples/custom_commands/echo_command.py,sha256=5cP0MQiTcpEiix7k5oBD2aHEHcYDS75nIrS23KETzd0,3394
55
- mcp_proxy_adapter/examples/custom_commands/hooks.py,sha256=Zfd-9T2XYJF7XMgQmEGdzWtM8Gz2EF8dn-jNJbYOgb4,7486
56
- mcp_proxy_adapter/examples/custom_commands/intercept_command.py,sha256=06xPpS-9kC6Lu-b6anES1ah8gLtP0sgFL4N1JkDkOrk,3716
57
- mcp_proxy_adapter/examples/custom_commands/manual_echo_command.py,sha256=4Bma586HU17IpuVuCuG-_rk-kycDx_oN6gKJ-q3DQr4,2787
58
- mcp_proxy_adapter/examples/custom_commands/server.py,sha256=WA3kh1kqWtk_tG834oHTnfgCichiAZn1xyzrLU_WJfI,9209
59
- mcp_proxy_adapter/examples/custom_commands/test_hooks.py,sha256=0VUwENRAAYGDYMUxXVEA_EByKiHQiqJmdkul1LvebQE,5288
60
- mcp_proxy_adapter/examples/custom_commands/auto_commands/__init__.py,sha256=AN5b9FNYobhDL5MWaftVy0imcAlbEuLIxwRQYX1U-_o,161
61
- mcp_proxy_adapter/examples/custom_commands/auto_commands/auto_echo_command.py,sha256=M0QlkCdSY9rD1b88JdZLlVMo2zU9iCnWC4DeSWCtU44,2725
62
- mcp_proxy_adapter/examples/custom_commands/auto_commands/auto_info_command.py,sha256=zPgPc43YLKY6xObrLAqADne6T06bs3zCsx3BCeFZa0Q,2889
63
- mcp_proxy_adapter/examples/deployment/README.md,sha256=5JzrIQPEw1NolHsHRKByNxbUTLj__ZYI9WQrtbxLJMk,1227
64
- mcp_proxy_adapter/examples/deployment/__init__.py,sha256=Nu3mrZT9kg5-GK4AUtdcnE9uSa9QdeLStBMXWrR4fHA,131
65
- mcp_proxy_adapter/examples/deployment/config.development.json,sha256=o-P1s0Ci3CpaoS7f4xrCej1FyumuhqJwFsnhIFFcy-I,156
66
- mcp_proxy_adapter/examples/deployment/config.json,sha256=xXEr378-nkWn2RVkkPt-hvkSlFy12brXO6Ntqs2sZxE,505
67
- mcp_proxy_adapter/examples/deployment/config.production.json,sha256=3cWz5d50_Ojx1f_Wn9C6jh5cET4hyPlpacOFckVhg54,299
68
- mcp_proxy_adapter/examples/deployment/config.staging.json,sha256=8maxqWfSZ3mHtjpIOCa37JQXUs2iEZacwBSc0wcvpRE,270
69
- mcp_proxy_adapter/examples/deployment/docker-compose.yml,sha256=jYVVsegJIXtxy9IVhj2WEyjLs7omDWXP1lUkwMCydLg,739
70
- mcp_proxy_adapter/examples/deployment/run.sh,sha256=tzvjztSwewtetewjFb2MUVjOym9G0rVKVDLSmLKuB-E,1352
71
- mcp_proxy_adapter/examples/deployment/run_docker.sh,sha256=XniKJkDproyPxsENZAa55PAO7WmzmPNqqFhZHEp2PKQ,2668
72
- mcp_proxy_adapter/schemas/base_schema.json,sha256=v9G9cGMd4dRhCZsOQ_FMqOi5VFyVbI6Cf3fyIvOT9dc,2881
73
- mcp_proxy_adapter/schemas/openapi_schema.json,sha256=C3yLkwmDsvnLW9B5gnKKdBGl4zxkeU-rEmjTrNVsQU0,8405
74
- mcp_proxy_adapter/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
- mcp_proxy_adapter/tests/conftest.py,sha256=VBA2wLeYfp9XAGSq4c489PVBIqMGAJiQPrT0k3kyzXw,2999
76
- mcp_proxy_adapter/tests/test_api_endpoints.py,sha256=ePtWCf0szD1JeY9WdHAhcKnuOzoSCpUcqZ_2DVhlC-A,10280
77
- mcp_proxy_adapter/tests/test_api_handlers.py,sha256=LeHO0o6eCxan6mt_8ZkUwSbeY7qYfoYMJ-bT_sSgdxc,11011
78
- mcp_proxy_adapter/tests/test_base_command.py,sha256=nSIi_mfjux8TL--65pMBfyg91EiLjJhI2P_ASWqyW-U,3779
79
- mcp_proxy_adapter/tests/test_batch_requests.py,sha256=9-gvhPq48AcEwGlhwgn3DWNhpleLA0f4luZNYMrqlXY,4103
80
- mcp_proxy_adapter/tests/test_command_registry.py,sha256=ywi5gM7D7NHcNOkdwXOgpJqHjwGADZEaB3ueM3nR0gM,7683
81
- mcp_proxy_adapter/tests/test_config.py,sha256=i4YbFhB3WI1wWKCxkG6l-UpFv2LAbhh4hmGipmYG1d0,3928
82
- mcp_proxy_adapter/tests/test_utils.py,sha256=K8DqdWDAV-cXjjeykehHpG5phfq5ydu2HLJzaAL282Y,1653
83
- mcp_proxy_adapter/tests/api/__init__.py,sha256=QzjeBIhrRLqfUKYmxVSCbMOoni5MAXgyAx9HxxB6JRs,27
84
- mcp_proxy_adapter/tests/api/test_cmd_endpoint.py,sha256=RFg_N7Ut1l_pncUPMaqVg85XV4KTpVe03yI_VA0Z47o,3843
85
- mcp_proxy_adapter/tests/api/test_custom_openapi.py,sha256=oSZ61G-CzrlGe7-F5OXMeNR2N2dZnKDH-npS9vumHqE,26404
86
- mcp_proxy_adapter/tests/api/test_handlers.py,sha256=RjO5yjUwpl9UPX45z9qSSvjU1gl9F7MHDEbnLFYL1GE,18921
87
- mcp_proxy_adapter/tests/api/test_middleware.py,sha256=3Rgc09VJ7JG6_06oIgAVq6u7qJsaiuhW0KpfDjxk8Ac,12285
88
- mcp_proxy_adapter/tests/api/test_schemas.py,sha256=QJbo-aWwhe233U9VKBWaTDudmDEkkvcOeX0hoIst1nM,19986
89
- mcp_proxy_adapter/tests/api/test_tool_integration.py,sha256=zCLztv4OLRKeug_VD2MwqewrhrSE52_Xzto3yOY72wY,21720
90
- mcp_proxy_adapter/tests/commands/__init__.py,sha256=DZxhtyr__AleyXN1s8Ef887tK5nsoHKfW4QXyzLaP0E,36
91
- mcp_proxy_adapter/tests/commands/test_config_command.py,sha256=ud0Y57xUhFiyrUKDyA0eBZ8IOKiGDpioijtwY-detC4,6522
92
- mcp_proxy_adapter/tests/commands/test_echo_command.py,sha256=c2dmqfx3ZfvDedy5vuxArFv7iHsReepMmD2Lchg4l3E,3437
93
- mcp_proxy_adapter/tests/commands/test_help_command.py,sha256=0kylFDGSYV-YStVCf_j7_4EF8VDaClIZbJz3V2V2-DI,4272
94
- mcp_proxy_adapter/tests/functional/__init__.py,sha256=muVNR6LD5o7DsDaLrbLTFsavUNcnyM608-mr-dqzgDU,59
95
- mcp_proxy_adapter/tests/functional/test_api.py,sha256=OaGB-WAWVyX4b0b-mCdXBNhwwYABYeBPO3IDnA3I00c,7114
96
- mcp_proxy_adapter/tests/integration/__init__.py,sha256=JZpeNG1PBRZ3k5zfq6NH3GyzDc1Yx1ZUgwi6eLBxs1o,60
97
- mcp_proxy_adapter/tests/integration/test_cmd_integration.py,sha256=BS3lA6ayveMckHcy1WJjyqR7l7WTcjmGiCYSnMjVfO0,3415
98
- mcp_proxy_adapter/tests/integration/test_integration.py,sha256=Rf8GTxdZOvZzrtgqWN2fp-36qUU5rpHdV9zhN1JxNw8,6619
99
- mcp_proxy_adapter/tests/performance/__init__.py,sha256=2kHf6g4LmYnFuV4EALXzo7Qk9vHGA9DXZFt7nORRFjM,60
100
- mcp_proxy_adapter/tests/performance/test_performance.py,sha256=Djrnu-SsXRrc_Prj1Aw8OoPzPUwHJds-Itk3aX6o01w,5730
101
- mcp_proxy_adapter/tests/stubs/__init__.py,sha256=qJ_gqvLdt68rAfLOeJpjVcLWyWdhEg6RkKheyV2yjJs,178
102
- mcp_proxy_adapter/tests/stubs/echo_command.py,sha256=Y7SA4IB5Lo_ncn78SDm9iRZvJSKy2pXi2nBQjIUPrvg,2620
103
- mcp_proxy_adapter/tests/unit/__init__.py,sha256=RS-5UoSCcLKtr2jrAaZw_NG9MquA6BZmxq-P6cTw9ok,53
104
- mcp_proxy_adapter/tests/unit/test_base_command.py,sha256=iCJzmfcvknS6pnzqu9TSkpgKBGoYCLWu0aQekcj1AME,18183
105
- mcp_proxy_adapter/tests/unit/test_config.py,sha256=SZ62LXFOv_fsV0fmSIBdHWvapEyexKrioFRQo0I4pkg,5900
106
- mcp_proxy_adapter-4.1.0.dist-info/licenses/LICENSE,sha256=OkApFEwdgMCt_mbvUI-eIwKMSTe38K3XnU2DT5ub-wI,1072
107
- mcp_proxy_adapter-4.1.0.dist-info/METADATA,sha256=VI60yNbcWG46NIhvDVcbEP2NvYZZdcCqe8oCwJNw1Do,7544
108
- mcp_proxy_adapter-4.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
109
- mcp_proxy_adapter-4.1.0.dist-info/top_level.txt,sha256=JZT7vPLBYrtroX-ij68JBhJYbjDdghcV-DFySRy-Nnw,18
110
- mcp_proxy_adapter-4.1.0.dist-info/RECORD,,