mcp-proxy-adapter 6.9.0__tar.gz → 6.9.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/PKG-INFO +1 -1
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/config_validator.py +70 -5
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/version.py +1 -1
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/PKG-INFO +1 -1
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/pyproject.toml +1 -1
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/README.md +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/__init__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/__main__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/__init__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/app.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/handlers.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/__init__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/base.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/command_permission_middleware.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/error_handling.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/factory.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/logging.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/performance.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/protocol_middleware.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/transport_middleware.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/unified_security.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/user_info_middleware.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/schemas.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/tool_integration.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/tools.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/__init__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/auth_validation_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/base.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/builtin_commands.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/catalog_manager.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/cert_monitor_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/certificate_management_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/command_registry.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/config_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/dependency_container.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/dependency_manager.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/echo_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/health_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/help_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/hooks.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/key_management_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/load_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/plugins_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/protocol_management_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/proxy_registration_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/registration_status_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/reload_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/result.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/role_test_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/roles_management_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/security_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/settings_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/ssl_setup_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/token_management_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/transport_management_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/unload_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/config.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/__init__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/app_factory.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/app_runner.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/auth_validator.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/certificate_utils.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/client.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/client_manager.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/client_security.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/config_converter.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/crl_utils.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/errors.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/logging.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/mtls_asgi.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/mtls_asgi_app.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/mtls_proxy.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/mtls_server.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/protocol_manager.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/proxy_client.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/proxy_registration.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/role_utils.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/security_adapter.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/security_factory.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/security_integration.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/server_adapter.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/server_engine.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/settings.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/signal_handler.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/ssl_utils.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/transport_manager.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/unified_config_adapter.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/utils.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/custom_openapi.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/__init__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/basic_framework/__init__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/basic_framework/commands/__init__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/basic_framework/hooks/__init__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/basic_framework/main.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/bugfix_certificate_config.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/cert_manager_bugfix.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/check_config.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/commands/__init__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/config_builder.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/config_cli.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/create_test_configs.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/debug_request_state.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/debug_role_chain.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/demo_client.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/__init__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/commands/__init__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/hooks/__init__.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/main.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/proxy_endpoints.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/run_mtls.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/run_simple.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/full_application/test_server.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/generate_config.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/proxy_registration_example.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/required_certificates.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/run_example.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/run_full_test_suite.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/run_proxy_server.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/run_security_tests_fixed.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/security_test_client.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/setup_test_environment.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/simple_protocol_test.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_chk_hostname_automated.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_config.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_config_builder.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_examples.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_framework_complete.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_mcp_server.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_protocol_examples.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/universal_client.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/update_config_certificates.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/main.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/openapi.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/schemas/base_schema.json +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/schemas/openapi_schema.json +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/schemas/roles.json +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/schemas/roles_schema.json +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/SOURCES.txt +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/dependency_links.txt +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/entry_points.txt +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/not-zip-safe +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/requires.txt +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/top_level.txt +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/setup.cfg +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/setup.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_certificate_validation.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_config_integration.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_config_validation.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_config_validation_isolated.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_direct_import.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_isolated_validation.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_no_defaults.py +0 -0
- {mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_simple_validation.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: mcp-proxy-adapter
|
3
|
-
Version: 6.9.
|
3
|
+
Version: 6.9.1
|
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
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/config_validator.py
RENAMED
@@ -69,7 +69,7 @@ class ConfigValidator:
|
|
69
69
|
"log_file": str,
|
70
70
|
"error_log_file": str,
|
71
71
|
"access_log_file": str,
|
72
|
-
"max_file_size": str,
|
72
|
+
"max_file_size": (str, int),
|
73
73
|
"backup_count": int,
|
74
74
|
"format": str,
|
75
75
|
"date_format": str,
|
@@ -251,8 +251,16 @@ class ConfigValidator:
|
|
251
251
|
return self.validation_results
|
252
252
|
|
253
253
|
def _validate_required_sections(self) -> None:
|
254
|
-
"""Validate that all required sections and keys are present."""
|
255
|
-
|
254
|
+
"""Validate that all required sections and keys are present for enabled features only."""
|
255
|
+
# Always required sections (core functionality)
|
256
|
+
always_required = {
|
257
|
+
"server": self.required_sections["server"],
|
258
|
+
"logging": self.required_sections["logging"],
|
259
|
+
"commands": self.required_sections["commands"]
|
260
|
+
}
|
261
|
+
|
262
|
+
# Check always required sections
|
263
|
+
for section_name, required_keys in always_required.items():
|
256
264
|
if section_name not in self.config_data:
|
257
265
|
self.validation_results.append(ValidationResult(
|
258
266
|
level="error",
|
@@ -273,13 +281,70 @@ class ConfigValidator:
|
|
273
281
|
else:
|
274
282
|
# Validate type
|
275
283
|
value = section_data[key]
|
276
|
-
if
|
284
|
+
if isinstance(expected_type, tuple):
|
285
|
+
if not isinstance(value, expected_type):
|
286
|
+
expected_names = [t.__name__ for t in expected_type]
|
287
|
+
self.validation_results.append(ValidationResult(
|
288
|
+
level="error",
|
289
|
+
message=f"Key '{key}' in section '{section_name}' has wrong type. Expected {' or '.join(expected_names)}, got {type(value).__name__}",
|
290
|
+
section=section_name,
|
291
|
+
key=key
|
292
|
+
))
|
293
|
+
else:
|
294
|
+
if not isinstance(value, expected_type):
|
295
|
+
self.validation_results.append(ValidationResult(
|
296
|
+
level="error",
|
297
|
+
message=f"Key '{key}' in section '{section_name}' has wrong type. Expected {expected_type.__name__}, got {type(value).__name__}",
|
298
|
+
section=section_name,
|
299
|
+
key=key
|
300
|
+
))
|
301
|
+
|
302
|
+
# Check conditional sections based on feature flags
|
303
|
+
for feature_name, feature_config in self.feature_flags.items():
|
304
|
+
enabled_key = feature_config["enabled_key"]
|
305
|
+
is_enabled = self._get_nested_value(enabled_key, False)
|
306
|
+
|
307
|
+
if is_enabled and feature_name in self.required_sections:
|
308
|
+
section_name = feature_name
|
309
|
+
required_keys = self.required_sections[section_name]
|
310
|
+
|
311
|
+
if section_name not in self.config_data:
|
312
|
+
self.validation_results.append(ValidationResult(
|
313
|
+
level="error",
|
314
|
+
message=f"Required section '{section_name}' is missing for enabled feature",
|
315
|
+
section=section_name
|
316
|
+
))
|
317
|
+
continue
|
318
|
+
|
319
|
+
section_data = self.config_data[section_name]
|
320
|
+
for key, expected_type in required_keys.items():
|
321
|
+
if key not in section_data:
|
277
322
|
self.validation_results.append(ValidationResult(
|
278
323
|
level="error",
|
279
|
-
message=f"
|
324
|
+
message=f"Required key '{key}' is missing in section '{section_name}' for enabled feature",
|
280
325
|
section=section_name,
|
281
326
|
key=key
|
282
327
|
))
|
328
|
+
else:
|
329
|
+
# Validate type
|
330
|
+
value = section_data[key]
|
331
|
+
if isinstance(expected_type, tuple):
|
332
|
+
if not isinstance(value, expected_type):
|
333
|
+
expected_names = [t.__name__ for t in expected_type]
|
334
|
+
self.validation_results.append(ValidationResult(
|
335
|
+
level="error",
|
336
|
+
message=f"Key '{key}' in section '{section_name}' has wrong type. Expected {' or '.join(expected_names)}, got {type(value).__name__}",
|
337
|
+
section=section_name,
|
338
|
+
key=key
|
339
|
+
))
|
340
|
+
else:
|
341
|
+
if not isinstance(value, expected_type):
|
342
|
+
self.validation_results.append(ValidationResult(
|
343
|
+
level="error",
|
344
|
+
message=f"Key '{key}' in section '{section_name}' has wrong type. Expected {expected_type.__name__}, got {type(value).__name__}",
|
345
|
+
section=section_name,
|
346
|
+
key=key
|
347
|
+
))
|
283
348
|
|
284
349
|
def _validate_feature_flags(self) -> None:
|
285
350
|
"""Validate feature flags and their dependencies."""
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: mcp-proxy-adapter
|
3
|
-
Version: 6.9.
|
3
|
+
Version: 6.9.1
|
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.9.
|
7
|
+
version = "6.9.1"
|
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
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/__init__.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/base.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/factory.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/api/middleware/logging.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/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.9.0 → mcp_proxy_adapter-6.9.1}/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.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/builtin_commands.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/catalog_manager.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/command_registry.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/config_command.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/dependency_manager.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/echo_command.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/health_command.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/help_command.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/load_command.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/plugins_command.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/reload_command.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/role_test_command.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/security_command.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/settings_command.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/commands/ssl_setup_command.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/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.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/auth_validator.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/certificate_utils.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/client_manager.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/client_security.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/config_converter.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
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/protocol_manager.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/proxy_registration.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/security_adapter.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/security_factory.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/security_integration.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/server_adapter.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/signal_handler.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/core/transport_manager.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/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.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/check_config.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/commands/__init__.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/config_builder.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/config_cli.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/debug_role_chain.py
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/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.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/generate_config.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/run_example.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/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.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_config.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_examples.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/test_mcp_server.py
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/examples/universal_client.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/schemas/base_schema.json
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/schemas/openapi_schema.json
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter/schemas/roles_schema.json
RENAMED
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/dependency_links.txt
RENAMED
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/entry_points.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/mcp_proxy_adapter.egg-info/top_level.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{mcp_proxy_adapter-6.9.0 → mcp_proxy_adapter-6.9.1}/tests/test_config_validation_isolated.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|