mcp-proxy-adapter 4.1.0__tar.gz → 4.1.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-4.1.0/mcp_proxy_adapter.egg-info → mcp_proxy_adapter-4.1.1}/PKG-INFO +1 -1
- mcp_proxy_adapter-4.1.1/docs/EN/user/configuration.md +128 -0
- mcp_proxy_adapter-4.1.1/docs/RU/user/configuration.md +128 -0
- mcp_proxy_adapter-4.1.1/examples/custom_project_example/README.md +103 -0
- mcp_proxy_adapter-4.1.1/examples/custom_project_example/README_EN.md +103 -0
- mcp_proxy_adapter-4.1.1/examples/simple_custom_commands/README.md +149 -0
- mcp_proxy_adapter-4.1.1/examples/simple_custom_commands/README_EN.md +149 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/commands/command_registry.py +15 -4
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/config.py +1 -1
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/basic_server/server.py +5 -0
- mcp_proxy_adapter-4.1.1/mcp_proxy_adapter/examples/custom_commands/config.json +35 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/server.py +5 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/version.py +1 -1
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1/mcp_proxy_adapter.egg-info}/PKG-INFO +1 -1
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter.egg-info/SOURCES.txt +5 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/pyproject.toml +1 -1
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/setup.py +1 -1
- mcp_proxy_adapter-4.1.1/tests/commands/test_command_discovery_config.py +137 -0
- mcp_proxy_adapter-4.1.0/docs/EN/user/configuration.md +0 -67
- mcp_proxy_adapter-4.1.0/docs/RU/user/configuration.md +0 -67
- mcp_proxy_adapter-4.1.0/mcp_proxy_adapter/examples/custom_commands/config.json +0 -62
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/LICENSE +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/MANIFEST.in +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/README.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/API_SCHEMA.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/AUTOMATED_PUBLISHING.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/BASIC_ARCHITECTURE.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/COMMAND_CHECKLIST.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/COMMAND_RESULTS.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/COMMAND_TEMPLATE.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/CONFIGURATION_PRINCIPLES.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/DOCUMENTATION_MAP.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/DOCUMENTATION_STANDARDS.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/ERROR_HANDLING.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/EXAMPLES_COMMAND_CLASSES.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/GLOSSARY.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/LOGGING_SYSTEM.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/NAMING_STANDARDS.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/OPENAPI_SCHEMA.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/PROJECT_EXTENSION_GUIDE.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/PROJECT_IDEOLOGY.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/PROJECT_RULES.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/PROJECT_STRUCTURE.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/PUBLISHING_TO_PYPI.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/README.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/api/cmd_endpoint.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/api/errors.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/api/intro.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/api/requests.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/api/responses.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/commands/get_date_command.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/commands/help_command.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/commands/index.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/commands/new_uuid4_command.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/commands/reload_settings_command.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/commands/settings_command.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/development/COMMAND_METADATA_ENHANCEMENT.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/development/DEPENDENCY_INJECTION.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/development/HOOK_SYSTEM.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/development/METADATA_COMMANDS.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/development/OPENAPI_CUSTOMIZATION.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/development/REMOVE_COMMAND_GUIDE.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/development/TOOL_INTEGRATION.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/development/architecture.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/development/command_auto_discovery.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/development/settings_management.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/examples/README.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/examples/anti_patterns.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/examples/basic_example.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/examples/complete_example.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/examples/minimal_example.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/testing/README.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/user/basic_usage.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/user/deployment.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/user/examples.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/EN/user/installation.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/API_SCHEMA.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/AUTOMATED_PUBLISHING.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/BASIC_ARCHITECTURE.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/COMMAND_CHECKLIST.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/COMMAND_RESULTS.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/COMMAND_TEMPLATE.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/CONFIGURATION_PRINCIPLES.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/DOCUMENTATION_MAP.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/DOCUMENTATION_STANDARDS.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/ERROR_HANDLING.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/EXAMPLES_COMMAND_CLASSES.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/GLOSSARY.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/LOGGING_SYSTEM.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/NAMING_STANDARDS.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/OPENAPI_SCHEMA.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/PROJECT_EXTENSION_GUIDE.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/PROJECT_IDEOLOGY.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/PROJECT_RULES.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/PROJECT_STRUCTURE.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/PUBLISHING_TO_PYPI.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/README.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/api/cmd_endpoint.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/api/errors.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/api/intro.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/api/requests.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/api/responses.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/commands/get_date_command.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/commands/help_command.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/commands/index.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/commands/new_uuid4_command.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/commands/reload_settings_command.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/commands/settings_command.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/development/COMMAND_METADATA_ENHANCEMENT.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/development/DEPENDENCY_INJECTION.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/development/HOOK_SYSTEM.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/development/METADATA_COMMANDS.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/development/OPENAPI_CUSTOMIZATION.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/development/PLAN_REALIZACII_METADATA.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/development/REMOVE_COMMAND_GUIDE.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/development/TOOL_INTEGRATION.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/development/architecture.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/development/command_auto_discovery.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/development/settings_management.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/examples/README.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/examples/anti_patterns.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/examples/basic_example.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/examples/complete_example.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/examples/minimal_example.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/testing/README.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/user/basic_usage.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/user/deployment.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/user/examples.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/docs/RU/user/installation.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/api/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/api/app.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/api/handlers.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/api/middleware/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/api/middleware/auth.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/api/middleware/base.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/api/middleware/error_handling.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/api/middleware/logging.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/api/middleware/performance.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/api/middleware/rate_limit.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/api/schemas.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/api/tool_integration.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/api/tools.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/commands/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/commands/base.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/commands/config_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/commands/dependency_container.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/commands/health_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/commands/help_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/commands/hooks.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/commands/reload_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/commands/reload_settings_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/commands/result.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/commands/settings_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/core/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/core/errors.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/core/logging.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/core/settings.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/core/utils.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/custom_openapi.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/README.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/basic_server/README.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/basic_server/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/basic_server/basic_custom_settings.json +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/basic_server/config.json +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/basic_server/custom_settings_example.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/README.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/advanced_hooks.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/auto_commands/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/auto_commands/auto_echo_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/auto_commands/auto_info_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/custom_health_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/custom_help_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/custom_openapi_generator.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/custom_settings.json +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/custom_settings_manager.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/data_transform_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/echo_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/hooks.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/intercept_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/manual_echo_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/custom_commands/test_hooks.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/deployment/README.md +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/deployment/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/deployment/config.development.json +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/deployment/config.json +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/deployment/config.production.json +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/deployment/config.staging.json +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/deployment/docker-compose.yml +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/deployment/run.sh +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/examples/deployment/run_docker.sh +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/openapi.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/schemas/base_schema.json +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/schemas/openapi_schema.json +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/api/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/api/test_cmd_endpoint.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/api/test_custom_openapi.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/api/test_handlers.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/api/test_middleware.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/api/test_schemas.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/api/test_tool_integration.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/commands/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/commands/test_config_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/commands/test_echo_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/commands/test_help_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/conftest.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/functional/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/functional/test_api.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/integration/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/integration/test_cmd_integration.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/integration/test_integration.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/performance/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/performance/test_performance.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/stubs/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/stubs/echo_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/test_api_endpoints.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/test_api_handlers.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/test_base_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/test_batch_requests.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/test_command_registry.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/test_config.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/test_utils.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/unit/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/unit/test_base_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter/tests/unit/test_config.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter.egg-info/dependency_links.txt +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter.egg-info/requires.txt +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/mcp_proxy_adapter.egg-info/top_level.txt +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/requirements.txt +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/setup.cfg +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_app.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_app_extended.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_auth.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_error_handling.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_handler_dependency_injection.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_handlers_extended.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_middleware_base.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_middleware_logging.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_middleware_performance.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_openapi.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_rate_limit.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_schemas_extended.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_schemas_final.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_tool_description.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_tool_integration.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/api/test_tools.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_base_command_extended.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_base_command_final.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_command_di.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_command_metadata.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_command_registry_extended.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_config_command_extended.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_dependency_container.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_echo_command_di.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_health_command_extended.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_help_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_hooks.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_priority_commands.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_reload_commands_extended.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_result.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/commands/test_settings_command_extended.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/conftest.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/core/test_config.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/core/test_errors.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/core/test_logging.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/core/test_settings_extended.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/core/test_utils.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_advanced_hooks.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_auto_echo_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_auto_info_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_basic_server.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_custom_commands.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_custom_commands_hooks.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_custom_commands_server.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_custom_health_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_custom_help_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_custom_openapi_generator.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_custom_settings_manager.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_data_transform_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_echo_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_intercept_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/examples/test_manual_echo_command.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/integration/__init__.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/integration/test_di_integration.py +0 -0
- {mcp_proxy_adapter-4.1.0 → mcp_proxy_adapter-4.1.1}/tests/test_custom_openapi_extended.py +0 -0
@@ -0,0 +1,128 @@
|
|
1
|
+
# Configuration
|
2
|
+
|
3
|
+
This guide describes how to configure the MCP Proxy service.
|
4
|
+
|
5
|
+
## Configuration File
|
6
|
+
|
7
|
+
The MCP Proxy service is configured using a JSON configuration file. By default, it looks for a file named `config.json` in the current directory.
|
8
|
+
|
9
|
+
You can specify a different configuration file using the `--config` command-line option:
|
10
|
+
|
11
|
+
```bash
|
12
|
+
mcp-proxy --config /path/to/config.json
|
13
|
+
```
|
14
|
+
|
15
|
+
## Configuration Options
|
16
|
+
|
17
|
+
The configuration is organized into sections. Here are the available options:
|
18
|
+
|
19
|
+
### Server Configuration
|
20
|
+
|
21
|
+
| Option | Type | Default | Description |
|
22
|
+
|--------|------|---------|-------------|
|
23
|
+
| server.host | string | "0.0.0.0" | The host to bind the service to |
|
24
|
+
| server.port | number | 8000 | The port to listen on |
|
25
|
+
| server.debug | boolean | false | Enable debug mode |
|
26
|
+
| server.log_level | string | "INFO" | The logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL) |
|
27
|
+
|
28
|
+
### Logging Configuration
|
29
|
+
|
30
|
+
| Option | Type | Default | Description |
|
31
|
+
|--------|------|---------|-------------|
|
32
|
+
| logging.level | string | "INFO" | The logging level |
|
33
|
+
| logging.log_dir | string | "./logs" | Directory for log files |
|
34
|
+
| logging.log_file | string | "mcp_proxy_adapter.log" | Main log file name |
|
35
|
+
| logging.error_log_file | string | "mcp_proxy_adapter_error.log" | Error log file name |
|
36
|
+
| logging.access_log_file | string | "mcp_proxy_adapter_access.log" | Access log file name |
|
37
|
+
| logging.max_file_size | string | "10MB" | Maximum log file size |
|
38
|
+
| logging.backup_count | number | 5 | Number of backup log files |
|
39
|
+
| logging.console_output | boolean | true | Enable console logging |
|
40
|
+
| logging.file_output | boolean | true | Enable file logging |
|
41
|
+
|
42
|
+
### Commands Configuration
|
43
|
+
|
44
|
+
| Option | Type | Default | Description |
|
45
|
+
|--------|------|---------|-------------|
|
46
|
+
| commands.auto_discovery | boolean | true | Enable automatic command discovery |
|
47
|
+
| commands.discovery_path | string | "mcp_proxy_adapter.commands" | **Path to package with commands** |
|
48
|
+
| commands.custom_commands_path | string | null | Path to custom commands (deprecated) |
|
49
|
+
|
50
|
+
**Important**: The `commands.discovery_path` parameter specifies the Python package path where your commands are located. For example:
|
51
|
+
- `"mcp_proxy_adapter.commands"` - built-in commands
|
52
|
+
- `"myproject.commands"` - your project's commands
|
53
|
+
- `"custom_commands.commands"` - custom commands package
|
54
|
+
|
55
|
+
## Example Configuration
|
56
|
+
|
57
|
+
Here's an example configuration file:
|
58
|
+
|
59
|
+
```json
|
60
|
+
{
|
61
|
+
"server": {
|
62
|
+
"host": "0.0.0.0",
|
63
|
+
"port": 8000,
|
64
|
+
"debug": false,
|
65
|
+
"log_level": "INFO"
|
66
|
+
},
|
67
|
+
"logging": {
|
68
|
+
"level": "INFO",
|
69
|
+
"log_dir": "./logs",
|
70
|
+
"log_file": "mcp_proxy_adapter.log",
|
71
|
+
"error_log_file": "mcp_proxy_adapter_error.log",
|
72
|
+
"access_log_file": "mcp_proxy_adapter_access.log",
|
73
|
+
"max_file_size": "10MB",
|
74
|
+
"backup_count": 5,
|
75
|
+
"console_output": true,
|
76
|
+
"file_output": true
|
77
|
+
},
|
78
|
+
"commands": {
|
79
|
+
"auto_discovery": true,
|
80
|
+
"discovery_path": "mcp_proxy_adapter.commands",
|
81
|
+
"custom_commands_path": null
|
82
|
+
}
|
83
|
+
}
|
84
|
+
```
|
85
|
+
|
86
|
+
### Example with Custom Commands
|
87
|
+
|
88
|
+
If you have your own commands in a package called `myproject.commands`:
|
89
|
+
|
90
|
+
```json
|
91
|
+
{
|
92
|
+
"server": {
|
93
|
+
"host": "127.0.0.1",
|
94
|
+
"port": 8001,
|
95
|
+
"debug": true,
|
96
|
+
"log_level": "DEBUG"
|
97
|
+
},
|
98
|
+
"logging": {
|
99
|
+
"level": "DEBUG",
|
100
|
+
"log_dir": "./logs",
|
101
|
+
"log_file": "myproject.log"
|
102
|
+
},
|
103
|
+
"commands": {
|
104
|
+
"auto_discovery": true,
|
105
|
+
"discovery_path": "myproject.commands"
|
106
|
+
}
|
107
|
+
}
|
108
|
+
```
|
109
|
+
|
110
|
+
## Environment Variables
|
111
|
+
|
112
|
+
You can also configure the service using environment variables. Environment variables take precedence over the configuration file.
|
113
|
+
|
114
|
+
The environment variable format is `MCP_UPPERCASE_OPTION_NAME`. For example, to set the port:
|
115
|
+
|
116
|
+
```bash
|
117
|
+
export MCP_PORT=8000
|
118
|
+
```
|
119
|
+
|
120
|
+
## Testing the Configuration
|
121
|
+
|
122
|
+
To verify your configuration, you can run the service with the `--validate-config` option:
|
123
|
+
|
124
|
+
```bash
|
125
|
+
mcp-proxy --config /path/to/config.json --validate-config
|
126
|
+
```
|
127
|
+
|
128
|
+
This will validate the configuration file and exit without starting the service.
|
@@ -0,0 +1,128 @@
|
|
1
|
+
# Конфигурация
|
2
|
+
|
3
|
+
Это руководство описывает, как настроить сервис MCP Proxy.
|
4
|
+
|
5
|
+
## Файл конфигурации
|
6
|
+
|
7
|
+
Сервис MCP Proxy настраивается с помощью JSON-файла конфигурации. По умолчанию он ищет файл с именем `config.json` в текущей директории.
|
8
|
+
|
9
|
+
Вы можете указать другой файл конфигурации с помощью опции командной строки `--config`:
|
10
|
+
|
11
|
+
```bash
|
12
|
+
mcp-proxy --config /path/to/config.json
|
13
|
+
```
|
14
|
+
|
15
|
+
## Параметры конфигурации
|
16
|
+
|
17
|
+
Конфигурация организована в секции. Вот доступные параметры:
|
18
|
+
|
19
|
+
### Конфигурация сервера
|
20
|
+
|
21
|
+
| Параметр | Тип | По умолчанию | Описание |
|
22
|
+
|----------|-----|--------------|----------|
|
23
|
+
| server.host | string | "0.0.0.0" | Хост для привязки сервиса |
|
24
|
+
| server.port | number | 8000 | Порт для прослушивания |
|
25
|
+
| server.debug | boolean | false | Включить режим отладки |
|
26
|
+
| server.log_level | string | "INFO" | Уровень логирования (DEBUG, INFO, WARNING, ERROR, CRITICAL) |
|
27
|
+
|
28
|
+
### Конфигурация логирования
|
29
|
+
|
30
|
+
| Параметр | Тип | По умолчанию | Описание |
|
31
|
+
|----------|-----|--------------|----------|
|
32
|
+
| logging.level | string | "INFO" | Уровень логирования |
|
33
|
+
| logging.log_dir | string | "./logs" | Директория для файлов логов |
|
34
|
+
| logging.log_file | string | "mcp_proxy_adapter.log" | Имя основного файла логов |
|
35
|
+
| logging.error_log_file | string | "mcp_proxy_adapter_error.log" | Имя файла логов ошибок |
|
36
|
+
| logging.access_log_file | string | "mcp_proxy_adapter_access.log" | Имя файла логов доступа |
|
37
|
+
| logging.max_file_size | string | "10MB" | Максимальный размер файла логов |
|
38
|
+
| logging.backup_count | number | 5 | Количество резервных файлов логов |
|
39
|
+
| logging.console_output | boolean | true | Включить логирование в консоль |
|
40
|
+
| logging.file_output | boolean | true | Включить логирование в файл |
|
41
|
+
|
42
|
+
### Конфигурация команд
|
43
|
+
|
44
|
+
| Параметр | Тип | По умолчанию | Описание |
|
45
|
+
|----------|-----|--------------|----------|
|
46
|
+
| commands.auto_discovery | boolean | true | Включить автоматическое обнаружение команд |
|
47
|
+
| commands.discovery_path | string | "mcp_proxy_adapter.commands" | **Путь к пакету с командами** |
|
48
|
+
| commands.custom_commands_path | string | null | Путь к пользовательским командам (устарел) |
|
49
|
+
|
50
|
+
**Важно**: Параметр `commands.discovery_path` указывает путь к Python пакету, где находятся ваши команды. Например:
|
51
|
+
- `"mcp_proxy_adapter.commands"` - встроенные команды
|
52
|
+
- `"myproject.commands"` - команды вашего проекта
|
53
|
+
- `"custom_commands.commands"` - пакет пользовательских команд
|
54
|
+
|
55
|
+
## Пример конфигурации
|
56
|
+
|
57
|
+
Вот пример файла конфигурации:
|
58
|
+
|
59
|
+
```json
|
60
|
+
{
|
61
|
+
"server": {
|
62
|
+
"host": "0.0.0.0",
|
63
|
+
"port": 8000,
|
64
|
+
"debug": false,
|
65
|
+
"log_level": "INFO"
|
66
|
+
},
|
67
|
+
"logging": {
|
68
|
+
"level": "INFO",
|
69
|
+
"log_dir": "./logs",
|
70
|
+
"log_file": "mcp_proxy_adapter.log",
|
71
|
+
"error_log_file": "mcp_proxy_adapter_error.log",
|
72
|
+
"access_log_file": "mcp_proxy_adapter_access.log",
|
73
|
+
"max_file_size": "10MB",
|
74
|
+
"backup_count": 5,
|
75
|
+
"console_output": true,
|
76
|
+
"file_output": true
|
77
|
+
},
|
78
|
+
"commands": {
|
79
|
+
"auto_discovery": true,
|
80
|
+
"discovery_path": "mcp_proxy_adapter.commands",
|
81
|
+
"custom_commands_path": null
|
82
|
+
}
|
83
|
+
}
|
84
|
+
```
|
85
|
+
|
86
|
+
### Пример с пользовательскими командами
|
87
|
+
|
88
|
+
Если у вас есть свои команды в пакете `myproject.commands`:
|
89
|
+
|
90
|
+
```json
|
91
|
+
{
|
92
|
+
"server": {
|
93
|
+
"host": "127.0.0.1",
|
94
|
+
"port": 8001,
|
95
|
+
"debug": true,
|
96
|
+
"log_level": "DEBUG"
|
97
|
+
},
|
98
|
+
"logging": {
|
99
|
+
"level": "DEBUG",
|
100
|
+
"log_dir": "./logs",
|
101
|
+
"log_file": "myproject.log"
|
102
|
+
},
|
103
|
+
"commands": {
|
104
|
+
"auto_discovery": true,
|
105
|
+
"discovery_path": "myproject.commands"
|
106
|
+
}
|
107
|
+
}
|
108
|
+
```
|
109
|
+
|
110
|
+
## Переменные окружения
|
111
|
+
|
112
|
+
Вы также можете настроить сервис с помощью переменных окружения. Переменные окружения имеют приоритет над файлом конфигурации.
|
113
|
+
|
114
|
+
Формат переменной окружения: `MCP_UPPERCASE_OPTION_NAME`. Например, чтобы установить порт:
|
115
|
+
|
116
|
+
```bash
|
117
|
+
export MCP_PORT=8000
|
118
|
+
```
|
119
|
+
|
120
|
+
## Тестирование конфигурации
|
121
|
+
|
122
|
+
Для проверки конфигурации вы можете запустить сервис с опцией `--validate-config`:
|
123
|
+
|
124
|
+
```bash
|
125
|
+
mcp-proxy --config /path/to/config.json --validate-config
|
126
|
+
```
|
127
|
+
|
128
|
+
Это проверит файл конфигурации и завершит работу без запуска сервиса.
|
@@ -0,0 +1,103 @@
|
|
1
|
+
# Пример пользовательского проекта с командами
|
2
|
+
|
3
|
+
Этот пример показывает, как создать свой проект с командами и настроить `discovery_path` для их автоматического обнаружения.
|
4
|
+
|
5
|
+
## Структура проекта
|
6
|
+
|
7
|
+
```
|
8
|
+
myproject/
|
9
|
+
├── config.json
|
10
|
+
├── main.py
|
11
|
+
├── myproject/
|
12
|
+
│ ├── __init__.py
|
13
|
+
│ └── commands/
|
14
|
+
│ ├── __init__.py
|
15
|
+
│ ├── echo_command.py
|
16
|
+
│ └── info_command.py
|
17
|
+
└── README.md
|
18
|
+
```
|
19
|
+
|
20
|
+
## Конфигурация
|
21
|
+
|
22
|
+
В файле `config.json` указываем путь к нашим командам:
|
23
|
+
|
24
|
+
```json
|
25
|
+
{
|
26
|
+
"server": {
|
27
|
+
"host": "127.0.0.1",
|
28
|
+
"port": 8001,
|
29
|
+
"debug": true,
|
30
|
+
"log_level": "DEBUG"
|
31
|
+
},
|
32
|
+
"logging": {
|
33
|
+
"level": "DEBUG",
|
34
|
+
"log_dir": "./logs",
|
35
|
+
"log_file": "myproject.log"
|
36
|
+
},
|
37
|
+
"commands": {
|
38
|
+
"auto_discovery": true,
|
39
|
+
"discovery_path": "myproject.commands"
|
40
|
+
}
|
41
|
+
}
|
42
|
+
```
|
43
|
+
|
44
|
+
## Команды
|
45
|
+
|
46
|
+
### echo_command.py
|
47
|
+
|
48
|
+
```python
|
49
|
+
from mcp_proxy_adapter.commands.base import Command
|
50
|
+
from mcp_proxy_adapter.commands.result import CommandResult
|
51
|
+
|
52
|
+
class EchoCommand(Command):
|
53
|
+
"""Echo command that returns the input text."""
|
54
|
+
|
55
|
+
name = "echo"
|
56
|
+
|
57
|
+
def execute(self, text: str) -> CommandResult:
|
58
|
+
return CommandResult(success=True, data={"echo": text})
|
59
|
+
|
60
|
+
@classmethod
|
61
|
+
def get_param_info(cls) -> dict:
|
62
|
+
return {
|
63
|
+
"text": {
|
64
|
+
"type": "string",
|
65
|
+
"description": "Text to echo",
|
66
|
+
"required": True
|
67
|
+
}
|
68
|
+
}
|
69
|
+
```
|
70
|
+
|
71
|
+
### info_command.py
|
72
|
+
|
73
|
+
```python
|
74
|
+
from mcp_proxy_adapter.commands.base import Command
|
75
|
+
from mcp_proxy_adapter.commands.result import CommandResult
|
76
|
+
|
77
|
+
class InfoCommand(Command):
|
78
|
+
"""Info command that returns project information."""
|
79
|
+
|
80
|
+
name = "info"
|
81
|
+
|
82
|
+
def execute(self) -> CommandResult:
|
83
|
+
return CommandResult(
|
84
|
+
success=True,
|
85
|
+
data={
|
86
|
+
"project": "myproject",
|
87
|
+
"version": "1.0.0",
|
88
|
+
"description": "Example project with custom commands"
|
89
|
+
}
|
90
|
+
)
|
91
|
+
|
92
|
+
@classmethod
|
93
|
+
def get_param_info(cls) -> dict:
|
94
|
+
return {}
|
95
|
+
```
|
96
|
+
|
97
|
+
## Запуск
|
98
|
+
|
99
|
+
```bash
|
100
|
+
python main.py
|
101
|
+
```
|
102
|
+
|
103
|
+
При запуске сервис автоматически обнаружит команды из пакета `myproject.commands` благодаря настройке `discovery_path` в конфигурации.
|
@@ -0,0 +1,103 @@
|
|
1
|
+
# Custom Project Example with Commands
|
2
|
+
|
3
|
+
This example shows how to create your own project with commands and configure `discovery_path` for their automatic discovery.
|
4
|
+
|
5
|
+
## Project Structure
|
6
|
+
|
7
|
+
```
|
8
|
+
myproject/
|
9
|
+
├── config.json
|
10
|
+
├── main.py
|
11
|
+
├── myproject/
|
12
|
+
│ ├── __init__.py
|
13
|
+
│ └── commands/
|
14
|
+
│ ├── __init__.py
|
15
|
+
│ ├── echo_command.py
|
16
|
+
│ └── info_command.py
|
17
|
+
└── README.md
|
18
|
+
```
|
19
|
+
|
20
|
+
## Configuration
|
21
|
+
|
22
|
+
In the `config.json` file, specify the path to our commands:
|
23
|
+
|
24
|
+
```json
|
25
|
+
{
|
26
|
+
"server": {
|
27
|
+
"host": "127.0.0.1",
|
28
|
+
"port": 8001,
|
29
|
+
"debug": true,
|
30
|
+
"log_level": "DEBUG"
|
31
|
+
},
|
32
|
+
"logging": {
|
33
|
+
"level": "DEBUG",
|
34
|
+
"log_dir": "./logs",
|
35
|
+
"log_file": "myproject.log"
|
36
|
+
},
|
37
|
+
"commands": {
|
38
|
+
"auto_discovery": true,
|
39
|
+
"discovery_path": "myproject.commands"
|
40
|
+
}
|
41
|
+
}
|
42
|
+
```
|
43
|
+
|
44
|
+
## Commands
|
45
|
+
|
46
|
+
### echo_command.py
|
47
|
+
|
48
|
+
```python
|
49
|
+
from mcp_proxy_adapter.commands.base import Command
|
50
|
+
from mcp_proxy_adapter.commands.result import CommandResult
|
51
|
+
|
52
|
+
class EchoCommand(Command):
|
53
|
+
"""Echo command that returns the input text."""
|
54
|
+
|
55
|
+
name = "echo"
|
56
|
+
|
57
|
+
def execute(self, text: str) -> CommandResult:
|
58
|
+
return CommandResult(success=True, data={"echo": text})
|
59
|
+
|
60
|
+
@classmethod
|
61
|
+
def get_param_info(cls) -> dict:
|
62
|
+
return {
|
63
|
+
"text": {
|
64
|
+
"type": "string",
|
65
|
+
"description": "Text to echo",
|
66
|
+
"required": True
|
67
|
+
}
|
68
|
+
}
|
69
|
+
```
|
70
|
+
|
71
|
+
### info_command.py
|
72
|
+
|
73
|
+
```python
|
74
|
+
from mcp_proxy_adapter.commands.base import Command
|
75
|
+
from mcp_proxy_adapter.commands.result import CommandResult
|
76
|
+
|
77
|
+
class InfoCommand(Command):
|
78
|
+
"""Info command that returns project information."""
|
79
|
+
|
80
|
+
name = "info"
|
81
|
+
|
82
|
+
def execute(self) -> CommandResult:
|
83
|
+
return CommandResult(
|
84
|
+
success=True,
|
85
|
+
data={
|
86
|
+
"project": "myproject",
|
87
|
+
"version": "1.0.0",
|
88
|
+
"description": "Example project with custom commands"
|
89
|
+
}
|
90
|
+
)
|
91
|
+
|
92
|
+
@classmethod
|
93
|
+
def get_param_info(cls) -> dict:
|
94
|
+
return {}
|
95
|
+
```
|
96
|
+
|
97
|
+
## Running
|
98
|
+
|
99
|
+
```bash
|
100
|
+
python main.py
|
101
|
+
```
|
102
|
+
|
103
|
+
When starting, the service will automatically discover commands from the `myproject.commands` package thanks to the `discovery_path` configuration setting.
|
@@ -0,0 +1,149 @@
|
|
1
|
+
# Простой пример с пользовательскими командами
|
2
|
+
|
3
|
+
Этот пример показывает, как настроить `discovery_path` в конфигурации для автоматического обнаружения команд из вашего проекта.
|
4
|
+
|
5
|
+
## Структура проекта
|
6
|
+
|
7
|
+
```
|
8
|
+
simple_custom_commands/
|
9
|
+
├── config.json # Конфигурация с discovery_path
|
10
|
+
├── main.py # Точка входа
|
11
|
+
├── my_commands/ # Пакет с командами
|
12
|
+
│ ├── __init__.py
|
13
|
+
│ ├── hello_command.py
|
14
|
+
│ └── calc_command.py
|
15
|
+
└── README.md
|
16
|
+
```
|
17
|
+
|
18
|
+
## Конфигурация (config.json)
|
19
|
+
|
20
|
+
```json
|
21
|
+
{
|
22
|
+
"server": {
|
23
|
+
"host": "127.0.0.1",
|
24
|
+
"port": 8001,
|
25
|
+
"debug": true,
|
26
|
+
"log_level": "DEBUG"
|
27
|
+
},
|
28
|
+
"logging": {
|
29
|
+
"level": "DEBUG",
|
30
|
+
"log_dir": "./logs",
|
31
|
+
"log_file": "simple_commands.log"
|
32
|
+
},
|
33
|
+
"commands": {
|
34
|
+
"auto_discovery": true,
|
35
|
+
"discovery_path": "my_commands"
|
36
|
+
}
|
37
|
+
}
|
38
|
+
```
|
39
|
+
|
40
|
+
**Ключевой момент**: В `discovery_path` указан путь `"my_commands"` - это пакет, где находятся команды.
|
41
|
+
|
42
|
+
## Команды
|
43
|
+
|
44
|
+
### hello_command.py
|
45
|
+
|
46
|
+
```python
|
47
|
+
from mcp_proxy_adapter.commands.base import Command
|
48
|
+
from mcp_proxy_adapter.commands.result import CommandResult
|
49
|
+
|
50
|
+
class HelloCommand(Command):
|
51
|
+
"""Простая команда приветствия."""
|
52
|
+
|
53
|
+
name = "hello"
|
54
|
+
|
55
|
+
def execute(self, name: str = "World") -> CommandResult:
|
56
|
+
return CommandResult(
|
57
|
+
success=True,
|
58
|
+
data={"message": f"Hello, {name}!"}
|
59
|
+
)
|
60
|
+
|
61
|
+
@classmethod
|
62
|
+
def get_param_info(cls) -> dict:
|
63
|
+
return {
|
64
|
+
"name": {
|
65
|
+
"type": "string",
|
66
|
+
"description": "Имя для приветствия",
|
67
|
+
"required": False,
|
68
|
+
"default": "World"
|
69
|
+
}
|
70
|
+
}
|
71
|
+
```
|
72
|
+
|
73
|
+
### calc_command.py
|
74
|
+
|
75
|
+
```python
|
76
|
+
from mcp_proxy_adapter.commands.base import Command
|
77
|
+
from mcp_proxy_adapter.commands.result import CommandResult
|
78
|
+
|
79
|
+
class CalcCommand(Command):
|
80
|
+
"""Простая команда калькулятора."""
|
81
|
+
|
82
|
+
name = "calc"
|
83
|
+
|
84
|
+
def execute(self, a: float, b: float, operation: str = "add") -> CommandResult:
|
85
|
+
if operation == "add":
|
86
|
+
result = a + b
|
87
|
+
elif operation == "sub":
|
88
|
+
result = a - b
|
89
|
+
elif operation == "mul":
|
90
|
+
result = a * b
|
91
|
+
elif operation == "div":
|
92
|
+
if b == 0:
|
93
|
+
return CommandResult(success=False, error="Division by zero")
|
94
|
+
result = a / b
|
95
|
+
else:
|
96
|
+
return CommandResult(success=False, error=f"Unknown operation: {operation}")
|
97
|
+
|
98
|
+
return CommandResult(
|
99
|
+
success=True,
|
100
|
+
data={"result": result, "operation": operation}
|
101
|
+
)
|
102
|
+
|
103
|
+
@classmethod
|
104
|
+
def get_param_info(cls) -> dict:
|
105
|
+
return {
|
106
|
+
"a": {
|
107
|
+
"type": "number",
|
108
|
+
"description": "Первое число",
|
109
|
+
"required": True
|
110
|
+
},
|
111
|
+
"b": {
|
112
|
+
"type": "number",
|
113
|
+
"description": "Второе число",
|
114
|
+
"required": True
|
115
|
+
},
|
116
|
+
"operation": {
|
117
|
+
"type": "string",
|
118
|
+
"description": "Операция (add, sub, mul, div)",
|
119
|
+
"required": False,
|
120
|
+
"default": "add"
|
121
|
+
}
|
122
|
+
}
|
123
|
+
```
|
124
|
+
|
125
|
+
## Запуск
|
126
|
+
|
127
|
+
```bash
|
128
|
+
python main.py
|
129
|
+
```
|
130
|
+
|
131
|
+
При запуске сервис автоматически обнаружит команды из пакета `my_commands` благодаря настройке `discovery_path` в конфигурации.
|
132
|
+
|
133
|
+
## Тестирование
|
134
|
+
|
135
|
+
```bash
|
136
|
+
# Приветствие
|
137
|
+
curl -X POST http://127.0.0.1:8001/cmd \
|
138
|
+
-H "Content-Type: application/json" \
|
139
|
+
-d '{"command": "hello", "params": {"name": "Alice"}}'
|
140
|
+
|
141
|
+
# Калькулятор
|
142
|
+
curl -X POST http://127.0.0.1:8001/cmd \
|
143
|
+
-H "Content-Type: application/json" \
|
144
|
+
-d '{"command": "calc", "params": {"a": 10, "b": 5, "operation": "add"}}'
|
145
|
+
```
|
146
|
+
|
147
|
+
## Результат
|
148
|
+
|
149
|
+
Сервис автоматически обнаружит и зарегистрирует команды `hello` и `calc` из пакета `my_commands`, указанного в `discovery_path`.
|