mcp-proxy-adapter 6.6.4__tar.gz → 6.6.7__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.
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/PKG-INFO +1 -1
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/app.py +28 -8
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/config_builder.py +76 -2
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/generate_config.py +14 -3
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/version.py +1 -1
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter.egg-info/PKG-INFO +1 -1
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/pyproject.toml +1 -1
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/README.md +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/__init__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/__main__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/__init__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/handlers.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/__init__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/base.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/command_permission_middleware.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/error_handling.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/factory.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/logging.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/performance.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/protocol_middleware.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/transport_middleware.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/unified_security.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/user_info_middleware.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/schemas.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/tool_integration.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/tools.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/__init__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/auth_validation_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/base.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/builtin_commands.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/catalog_manager.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/cert_monitor_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/certificate_management_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/command_registry.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/config_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/dependency_container.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/dependency_manager.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/echo_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/health_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/help_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/hooks.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/key_management_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/load_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/plugins_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/protocol_management_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/proxy_registration_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/reload_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/result.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/role_test_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/roles_management_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/security_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/settings_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/ssl_setup_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/token_management_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/transport_management_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/unload_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/config.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/__init__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/app_factory.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/app_runner.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/auth_validator.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/certificate_utils.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/client.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/client_manager.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/client_security.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/config_converter.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/config_validator.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/crl_utils.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/errors.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/logging.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/mtls_asgi.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/mtls_asgi_app.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/mtls_server.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/protocol_manager.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/proxy_client.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/proxy_registration.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/role_utils.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/security_adapter.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/security_factory.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/security_integration.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/server_adapter.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/server_engine.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/settings.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/ssl_utils.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/transport_manager.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/unified_config_adapter.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/utils.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/custom_openapi.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/__init__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/basic_framework/__init__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/basic_framework/commands/__init__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/basic_framework/hooks/__init__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/basic_framework/main.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/bugfix_certificate_config.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/cert_manager_bugfix.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/check_config.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/commands/__init__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/config_cli.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/create_test_configs.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/debug_request_state.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/debug_role_chain.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/demo_client.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/full_application/__init__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/full_application/commands/__init__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/full_application/hooks/__init__.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/full_application/main.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/full_application/proxy_endpoints.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/generate_certificates.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/proxy_registration_example.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/required_certificates.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/run_example.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/run_full_test_suite.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/run_proxy_server.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/run_security_tests_fixed.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/security_test_client.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/setup_test_environment.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/simple_protocol_test.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/test_chk_hostname_automated.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/test_config.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/test_config_builder.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/test_examples.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/test_framework_complete.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/test_mcp_server.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/test_protocol_examples.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/universal_client.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/update_config_certificates.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/main.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/openapi.py +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/schemas/base_schema.json +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/schemas/openapi_schema.json +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/schemas/roles.json +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/schemas/roles_schema.json +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter.egg-info/SOURCES.txt +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter.egg-info/dependency_links.txt +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter.egg-info/entry_points.txt +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter.egg-info/not-zip-safe +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter.egg-info/requires.txt +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter.egg-info/top_level.txt +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/setup.cfg +0 -0
- {mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/setup.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: mcp-proxy-adapter
|
3
|
-
Version: 6.6.
|
3
|
+
Version: 6.6.7
|
4
4
|
Summary: Powerful JSON-RPC microservices framework with built-in security, authentication, and proxy registration
|
5
5
|
Home-page: https://github.com/maverikod/mcp-proxy-adapter
|
6
6
|
Author: Vasiliy Zdanovskiy
|
@@ -86,10 +86,20 @@ def create_lifespan(config_path: Optional[str] = None):
|
|
86
86
|
public_port = reg_cfg.get("public_port")
|
87
87
|
|
88
88
|
# Check SSL configuration from new structure
|
89
|
-
protocol
|
90
|
-
|
91
|
-
|
92
|
-
|
89
|
+
# Priority: registration.protocol > server.protocol > fallback to http
|
90
|
+
reg_cfg = config.get("registration", {})
|
91
|
+
registration_protocol = reg_cfg.get("protocol")
|
92
|
+
server_protocol = config.get("server.protocol", "http")
|
93
|
+
|
94
|
+
if registration_protocol:
|
95
|
+
# Use protocol from registration configuration
|
96
|
+
# Convert mtls to https for URL construction (mTLS is still HTTPS)
|
97
|
+
protocol = "https" if registration_protocol == "mtls" else registration_protocol
|
98
|
+
else:
|
99
|
+
# Fallback to server protocol
|
100
|
+
verify_client = config.get("transport.verify_client", False)
|
101
|
+
ssl_enabled = server_protocol in ["https", "mtls"] or verify_client
|
102
|
+
protocol = "https" if ssl_enabled else "http"
|
93
103
|
|
94
104
|
import os
|
95
105
|
docker_host_addr = os.getenv("DOCKER_HOST_ADDR", "172.17.0.1")
|
@@ -135,10 +145,20 @@ def create_lifespan(config_path: Optional[str] = None):
|
|
135
145
|
public_port = reg_cfg.get("public_port")
|
136
146
|
|
137
147
|
# Determine protocol using the new configuration structure
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
148
|
+
# Priority: registration.protocol > server.protocol > fallback to http
|
149
|
+
reg_cfg = final_config.get("registration", final_config.get("proxy_registration", {}))
|
150
|
+
registration_protocol = reg_cfg.get("protocol")
|
151
|
+
server_protocol = final_config.get("server", {}).get("protocol", "http")
|
152
|
+
|
153
|
+
if registration_protocol:
|
154
|
+
# Use protocol from registration configuration
|
155
|
+
# Convert mtls to https for URL construction (mTLS is still HTTPS)
|
156
|
+
protocol = "https" if registration_protocol == "mtls" else registration_protocol
|
157
|
+
else:
|
158
|
+
# Fallback to server protocol
|
159
|
+
verify_client_cfg = final_config.get("transport", {}).get("verify_client", False)
|
160
|
+
ssl_enabled_final = server_protocol in ["https", "mtls"] or verify_client_cfg
|
161
|
+
protocol = "https" if ssl_enabled_final else "http"
|
142
162
|
|
143
163
|
import os
|
144
164
|
docker_host_addr = os.getenv("DOCKER_HOST_ADDR", "172.17.0.1")
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/config_builder.py
RENAMED
@@ -76,9 +76,27 @@ class ConfigBuilder:
|
|
76
76
|
},
|
77
77
|
"transport": {
|
78
78
|
"type": "http",
|
79
|
-
|
79
|
+
"port": None,
|
80
80
|
"verify_client": False,
|
81
81
|
"chk_hostname": False
|
82
|
+
},
|
83
|
+
"registration": {
|
84
|
+
"enabled": False,
|
85
|
+
"proxy_url": "http://localhost:3004",
|
86
|
+
"public_host": None,
|
87
|
+
"public_port": None,
|
88
|
+
"protocol": None, # Will be set based on server protocol
|
89
|
+
"server_id": "mcp_proxy_adapter",
|
90
|
+
"server_name": "MCP Proxy Adapter",
|
91
|
+
"description": "JSON-RPC API for interacting with MCP Proxy",
|
92
|
+
"version": "6.6.7",
|
93
|
+
"heartbeat": {
|
94
|
+
"enabled": True,
|
95
|
+
"interval": 30,
|
96
|
+
"timeout": 10,
|
97
|
+
"retry_attempts": 3,
|
98
|
+
"retry_delay": 5
|
99
|
+
}
|
82
100
|
}
|
83
101
|
}
|
84
102
|
|
@@ -86,6 +104,9 @@ class ConfigBuilder:
|
|
86
104
|
"""Set protocol configuration (HTTP, HTTPS, or mTLS)."""
|
87
105
|
self.config["server"]["protocol"] = protocol.value
|
88
106
|
|
107
|
+
# Set registration protocol to match server protocol
|
108
|
+
self.config["registration"]["protocol"] = protocol.value
|
109
|
+
|
89
110
|
if protocol == Protocol.HTTP:
|
90
111
|
# HTTP - no SSL, no client verification
|
91
112
|
self.config["transport"]["verify_client"] = False
|
@@ -150,6 +171,25 @@ class ConfigBuilder:
|
|
150
171
|
self.config["security"]["roles_file"] = roles_file
|
151
172
|
return self
|
152
173
|
|
174
|
+
def set_proxy_registration(self, enabled: bool = True, proxy_url: str = "http://localhost:3004",
|
175
|
+
public_host: Optional[str] = None, public_port: Optional[int] = None,
|
176
|
+
server_id: str = "mcp_proxy_adapter", server_name: str = "MCP Proxy Adapter",
|
177
|
+
description: str = "JSON-RPC API for interacting with MCP Proxy"):
|
178
|
+
"""Set proxy registration configuration."""
|
179
|
+
self.config["registration"]["enabled"] = enabled
|
180
|
+
self.config["registration"]["proxy_url"] = proxy_url
|
181
|
+
self.config["registration"]["public_host"] = public_host
|
182
|
+
self.config["registration"]["public_port"] = public_port
|
183
|
+
self.config["registration"]["server_id"] = server_id
|
184
|
+
self.config["registration"]["server_name"] = server_name
|
185
|
+
self.config["registration"]["description"] = description
|
186
|
+
|
187
|
+
# Set protocol to match server protocol if not explicitly set
|
188
|
+
if self.config["registration"]["protocol"] is None:
|
189
|
+
self.config["registration"]["protocol"] = self.config["server"]["protocol"]
|
190
|
+
|
191
|
+
return self
|
192
|
+
|
153
193
|
def build(self) -> Dict[str, Any]:
|
154
194
|
"""Build and return the configuration."""
|
155
195
|
return self.config.copy()
|
@@ -240,9 +280,37 @@ class ConfigFactory:
|
|
240
280
|
.set_auth(AuthMethod.TOKEN_ROLES)
|
241
281
|
.set_server(port=port)
|
242
282
|
.build())
|
283
|
+
|
284
|
+
@staticmethod
|
285
|
+
def create_http_with_proxy_config(port: int = 8009, proxy_url: str = "http://localhost:3004") -> Dict[str, Any]:
|
286
|
+
"""Create HTTP configuration with proxy registration."""
|
287
|
+
return (ConfigBuilder()
|
288
|
+
.set_protocol(Protocol.HTTP)
|
289
|
+
.set_server(port=port)
|
290
|
+
.set_proxy_registration(proxy_url=proxy_url)
|
291
|
+
.build())
|
292
|
+
|
293
|
+
@staticmethod
|
294
|
+
def create_https_with_proxy_config(port: int = 8010, proxy_url: str = "https://localhost:3004") -> Dict[str, Any]:
|
295
|
+
"""Create HTTPS configuration with proxy registration."""
|
296
|
+
return (ConfigBuilder()
|
297
|
+
.set_protocol(Protocol.HTTPS)
|
298
|
+
.set_server(port=port)
|
299
|
+
.set_proxy_registration(proxy_url=proxy_url)
|
300
|
+
.build())
|
301
|
+
|
302
|
+
@staticmethod
|
303
|
+
def create_mtls_with_proxy_config(port: int = 8011, proxy_url: str = "https://localhost:3004") -> Dict[str, Any]:
|
304
|
+
"""Create mTLS configuration with proxy registration."""
|
305
|
+
return (ConfigBuilder()
|
306
|
+
.set_protocol(Protocol.MTLS)
|
307
|
+
.set_server(port=port)
|
308
|
+
.set_proxy_registration(proxy_url=proxy_url)
|
309
|
+
.build())
|
243
310
|
|
244
311
|
|
245
|
-
def create_config_from_flags(protocol: str, token: bool = False, roles: bool = False, port: int = 8000
|
312
|
+
def create_config_from_flags(protocol: str, token: bool = False, roles: bool = False, port: int = 8000,
|
313
|
+
proxy_registration: bool = False, proxy_url: str = "http://localhost:3004") -> Dict[str, Any]:
|
246
314
|
"""
|
247
315
|
Create configuration from command line flags.
|
248
316
|
|
@@ -251,6 +319,8 @@ def create_config_from_flags(protocol: str, token: bool = False, roles: bool = F
|
|
251
319
|
token: Enable token authentication
|
252
320
|
roles: Enable role-based access control
|
253
321
|
port: Server port
|
322
|
+
proxy_registration: Enable proxy registration
|
323
|
+
proxy_url: Proxy URL for registration
|
254
324
|
|
255
325
|
Returns:
|
256
326
|
Configuration dictionary
|
@@ -273,6 +343,10 @@ def create_config_from_flags(protocol: str, token: bool = False, roles: bool = F
|
|
273
343
|
else:
|
274
344
|
builder.set_auth(AuthMethod.NONE)
|
275
345
|
|
346
|
+
# Enable proxy registration if requested
|
347
|
+
if proxy_registration:
|
348
|
+
builder.set_proxy_registration(proxy_url=proxy_url)
|
349
|
+
|
276
350
|
return builder.build()
|
277
351
|
|
278
352
|
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/generate_config.py
RENAMED
@@ -26,7 +26,9 @@ def create_config_from_flags(
|
|
26
26
|
port: int = 8000,
|
27
27
|
cert_dir: str = "./certs",
|
28
28
|
key_dir: str = "./keys",
|
29
|
-
output_dir: str = "./configs"
|
29
|
+
output_dir: str = "./configs",
|
30
|
+
proxy_registration: bool = False,
|
31
|
+
proxy_url: str = "http://localhost:3004"
|
30
32
|
) -> Dict[str, Any]:
|
31
33
|
"""
|
32
34
|
Create configuration based on command line flags.
|
@@ -47,7 +49,7 @@ def create_config_from_flags(
|
|
47
49
|
# Use the simplified config builder
|
48
50
|
from config_builder import create_config_from_flags as simple_create_config
|
49
51
|
|
50
|
-
return simple_create_config(protocol, token, roles, port)
|
52
|
+
return simple_create_config(protocol, token, roles, port, proxy_registration, proxy_url)
|
51
53
|
|
52
54
|
|
53
55
|
def save_config(config: Dict[str, Any], filename: str, output_dir: str) -> Path:
|
@@ -238,6 +240,9 @@ Examples:
|
|
238
240
|
|
239
241
|
# Generate mTLS configuration with roles
|
240
242
|
python generate_config.py --protocol mtls --roles
|
243
|
+
|
244
|
+
# Generate mTLS configuration with proxy registration
|
245
|
+
python generate_config.py --protocol mtls --proxy-registration --proxy-url https://mcp-proxy:3004
|
241
246
|
"""
|
242
247
|
)
|
243
248
|
|
@@ -248,6 +253,10 @@ Examples:
|
|
248
253
|
help="Enable token authentication")
|
249
254
|
parser.add_argument("--roles", action="store_true",
|
250
255
|
help="Enable role-based access control")
|
256
|
+
parser.add_argument("--proxy-registration", action="store_true",
|
257
|
+
help="Enable proxy registration")
|
258
|
+
parser.add_argument("--proxy-url", default="http://localhost:3004",
|
259
|
+
help="Proxy URL for registration (default: http://localhost:3004)")
|
251
260
|
parser.add_argument("--all", action="store_true",
|
252
261
|
help="Generate all standard configurations")
|
253
262
|
parser.add_argument("--full-config", action="store_true",
|
@@ -307,7 +316,9 @@ Examples:
|
|
307
316
|
port=args.port,
|
308
317
|
cert_dir=args.cert_dir,
|
309
318
|
key_dir=args.key_dir,
|
310
|
-
output_dir=args.output_dir
|
319
|
+
output_dir=args.output_dir,
|
320
|
+
proxy_registration=args.proxy_registration,
|
321
|
+
proxy_url=args.proxy_url
|
311
322
|
)
|
312
323
|
|
313
324
|
if args.stdout:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: mcp-proxy-adapter
|
3
|
-
Version: 6.6.
|
3
|
+
Version: 6.6.7
|
4
4
|
Summary: Powerful JSON-RPC microservices framework with built-in security, authentication, and proxy registration
|
5
5
|
Home-page: https://github.com/maverikod/mcp-proxy-adapter
|
6
6
|
Author: Vasiliy Zdanovskiy
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "mcp-proxy-adapter"
|
7
|
-
version = "6.6.
|
7
|
+
version = "6.6.7"
|
8
8
|
description = "Powerful JSON-RPC microservices framework with built-in security, authentication, and proxy registration"
|
9
9
|
readme = "README.md"
|
10
10
|
license = {text = "MIT"}
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/__init__.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/base.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/factory.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/logging.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/middleware/performance.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/api/tool_integration.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/builtin_commands.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/catalog_manager.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/command_registry.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/config_command.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/dependency_manager.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/echo_command.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/health_command.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/help_command.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/load_command.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/plugins_command.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/reload_command.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/role_test_command.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/security_command.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/settings_command.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/ssl_setup_command.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/commands/unload_command.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/auth_validator.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/certificate_utils.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/client_manager.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/client_security.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/config_converter.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/config_validator.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/protocol_manager.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/proxy_registration.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/security_adapter.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/security_factory.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/security_integration.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/server_adapter.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/transport_manager.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/core/unified_config_adapter.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/check_config.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/commands/__init__.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/config_cli.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/debug_role_chain.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/demo_client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/run_example.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/run_proxy_server.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/test_config.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/test_examples.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/test_mcp_server.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/examples/universal_client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/schemas/base_schema.json
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/schemas/openapi_schema.json
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter/schemas/roles_schema.json
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter.egg-info/dependency_links.txt
RENAMED
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter.egg-info/entry_points.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.6.4 → mcp_proxy_adapter-6.6.7}/mcp_proxy_adapter.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|