mcp-proxy-adapter 6.0.0__py3-none-any.whl → 6.0.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mcp_proxy_adapter/__main__.py +27 -7
- mcp_proxy_adapter/api/app.py +209 -79
- mcp_proxy_adapter/api/handlers.py +16 -5
- mcp_proxy_adapter/api/middleware/__init__.py +14 -9
- mcp_proxy_adapter/api/middleware/command_permission_middleware.py +148 -0
- mcp_proxy_adapter/api/middleware/factory.py +36 -12
- mcp_proxy_adapter/api/middleware/protocol_middleware.py +84 -18
- mcp_proxy_adapter/api/middleware/unified_security.py +197 -0
- mcp_proxy_adapter/api/middleware/user_info_middleware.py +158 -0
- mcp_proxy_adapter/commands/__init__.py +7 -1
- mcp_proxy_adapter/commands/base.py +7 -4
- mcp_proxy_adapter/commands/builtin_commands.py +8 -2
- mcp_proxy_adapter/commands/command_registry.py +8 -0
- mcp_proxy_adapter/commands/echo_command.py +81 -0
- mcp_proxy_adapter/commands/health_command.py +1 -1
- mcp_proxy_adapter/commands/help_command.py +21 -14
- mcp_proxy_adapter/commands/proxy_registration_command.py +326 -185
- mcp_proxy_adapter/commands/role_test_command.py +141 -0
- mcp_proxy_adapter/commands/security_command.py +488 -0
- mcp_proxy_adapter/commands/ssl_setup_command.py +234 -351
- mcp_proxy_adapter/commands/token_management_command.py +1 -1
- mcp_proxy_adapter/config.py +323 -40
- mcp_proxy_adapter/core/app_factory.py +410 -0
- mcp_proxy_adapter/core/app_runner.py +272 -0
- mcp_proxy_adapter/core/certificate_utils.py +291 -73
- mcp_proxy_adapter/core/client.py +574 -0
- mcp_proxy_adapter/core/client_manager.py +284 -0
- mcp_proxy_adapter/core/client_security.py +384 -0
- mcp_proxy_adapter/core/logging.py +8 -3
- mcp_proxy_adapter/core/mtls_asgi.py +156 -0
- mcp_proxy_adapter/core/mtls_asgi_app.py +187 -0
- mcp_proxy_adapter/core/protocol_manager.py +169 -10
- mcp_proxy_adapter/core/proxy_client.py +602 -0
- mcp_proxy_adapter/core/proxy_registration.py +299 -47
- mcp_proxy_adapter/core/security_adapter.py +12 -15
- mcp_proxy_adapter/core/security_integration.py +286 -0
- mcp_proxy_adapter/core/server_adapter.py +282 -0
- mcp_proxy_adapter/core/server_engine.py +270 -0
- mcp_proxy_adapter/core/ssl_utils.py +13 -12
- mcp_proxy_adapter/core/transport_manager.py +5 -5
- mcp_proxy_adapter/core/unified_config_adapter.py +579 -0
- mcp_proxy_adapter/examples/__init__.py +13 -4
- mcp_proxy_adapter/examples/basic_framework/__init__.py +9 -0
- mcp_proxy_adapter/examples/basic_framework/commands/__init__.py +4 -0
- mcp_proxy_adapter/examples/basic_framework/hooks/__init__.py +4 -0
- mcp_proxy_adapter/examples/basic_framework/main.py +44 -0
- mcp_proxy_adapter/examples/commands/__init__.py +5 -0
- mcp_proxy_adapter/examples/create_certificates_simple.py +550 -0
- mcp_proxy_adapter/examples/debug_request_state.py +112 -0
- mcp_proxy_adapter/examples/debug_role_chain.py +158 -0
- mcp_proxy_adapter/examples/demo_client.py +275 -0
- mcp_proxy_adapter/examples/examples/basic_framework/__init__.py +9 -0
- mcp_proxy_adapter/examples/examples/basic_framework/commands/__init__.py +4 -0
- mcp_proxy_adapter/examples/examples/basic_framework/hooks/__init__.py +4 -0
- mcp_proxy_adapter/examples/examples/basic_framework/main.py +44 -0
- mcp_proxy_adapter/examples/examples/full_application/__init__.py +12 -0
- mcp_proxy_adapter/examples/examples/full_application/commands/__init__.py +7 -0
- mcp_proxy_adapter/examples/examples/full_application/commands/custom_echo_command.py +80 -0
- mcp_proxy_adapter/examples/examples/full_application/commands/dynamic_calculator_command.py +90 -0
- mcp_proxy_adapter/examples/examples/full_application/hooks/__init__.py +7 -0
- mcp_proxy_adapter/examples/examples/full_application/hooks/application_hooks.py +75 -0
- mcp_proxy_adapter/examples/examples/full_application/hooks/builtin_command_hooks.py +71 -0
- mcp_proxy_adapter/examples/examples/full_application/main.py +173 -0
- mcp_proxy_adapter/examples/examples/full_application/proxy_endpoints.py +154 -0
- mcp_proxy_adapter/examples/full_application/__init__.py +12 -0
- mcp_proxy_adapter/examples/full_application/commands/__init__.py +7 -0
- mcp_proxy_adapter/examples/full_application/commands/custom_echo_command.py +80 -0
- mcp_proxy_adapter/examples/full_application/commands/dynamic_calculator_command.py +90 -0
- mcp_proxy_adapter/examples/full_application/hooks/__init__.py +7 -0
- mcp_proxy_adapter/examples/full_application/hooks/application_hooks.py +75 -0
- mcp_proxy_adapter/examples/full_application/hooks/builtin_command_hooks.py +71 -0
- mcp_proxy_adapter/examples/full_application/main.py +173 -0
- mcp_proxy_adapter/examples/full_application/proxy_endpoints.py +154 -0
- mcp_proxy_adapter/examples/generate_all_certificates.py +362 -0
- mcp_proxy_adapter/examples/generate_certificates.py +177 -0
- mcp_proxy_adapter/examples/generate_certificates_and_tokens.py +369 -0
- mcp_proxy_adapter/examples/generate_test_configs.py +331 -0
- mcp_proxy_adapter/examples/proxy_registration_example.py +334 -0
- mcp_proxy_adapter/examples/run_example.py +59 -0
- mcp_proxy_adapter/examples/run_full_test_suite.py +318 -0
- mcp_proxy_adapter/examples/run_proxy_server.py +146 -0
- mcp_proxy_adapter/examples/run_security_tests.py +544 -0
- mcp_proxy_adapter/examples/run_security_tests_fixed.py +247 -0
- mcp_proxy_adapter/examples/scripts/config_generator.py +740 -0
- mcp_proxy_adapter/examples/scripts/create_certificates_simple.py +560 -0
- mcp_proxy_adapter/examples/scripts/generate_certificates_and_tokens.py +369 -0
- mcp_proxy_adapter/examples/security_test_client.py +782 -0
- mcp_proxy_adapter/examples/setup_test_environment.py +328 -0
- mcp_proxy_adapter/examples/test_config.py +148 -0
- mcp_proxy_adapter/examples/test_config_generator.py +86 -0
- mcp_proxy_adapter/examples/test_examples.py +281 -0
- mcp_proxy_adapter/examples/universal_client.py +620 -0
- mcp_proxy_adapter/main.py +66 -148
- mcp_proxy_adapter/utils/config_generator.py +1008 -0
- mcp_proxy_adapter/version.py +5 -2
- mcp_proxy_adapter-6.0.1.dist-info/METADATA +679 -0
- mcp_proxy_adapter-6.0.1.dist-info/RECORD +140 -0
- mcp_proxy_adapter-6.0.1.dist-info/entry_points.txt +2 -0
- {mcp_proxy_adapter-6.0.0.dist-info → mcp_proxy_adapter-6.0.1.dist-info}/licenses/LICENSE +2 -2
- mcp_proxy_adapter/api/middleware/auth.py +0 -146
- mcp_proxy_adapter/api/middleware/auth_adapter.py +0 -235
- mcp_proxy_adapter/api/middleware/mtls_adapter.py +0 -305
- mcp_proxy_adapter/api/middleware/mtls_middleware.py +0 -296
- mcp_proxy_adapter/api/middleware/rate_limit.py +0 -152
- mcp_proxy_adapter/api/middleware/rate_limit_adapter.py +0 -241
- mcp_proxy_adapter/api/middleware/roles_adapter.py +0 -365
- mcp_proxy_adapter/api/middleware/roles_middleware.py +0 -381
- mcp_proxy_adapter/api/middleware/security.py +0 -376
- mcp_proxy_adapter/api/middleware/token_auth_middleware.py +0 -261
- mcp_proxy_adapter/examples/README.md +0 -124
- mcp_proxy_adapter/examples/basic_server/README.md +0 -60
- mcp_proxy_adapter/examples/basic_server/__init__.py +0 -7
- mcp_proxy_adapter/examples/basic_server/basic_custom_settings.json +0 -39
- mcp_proxy_adapter/examples/basic_server/config.json +0 -70
- mcp_proxy_adapter/examples/basic_server/config_all_protocols.json +0 -54
- mcp_proxy_adapter/examples/basic_server/config_http.json +0 -70
- mcp_proxy_adapter/examples/basic_server/config_http_only.json +0 -52
- mcp_proxy_adapter/examples/basic_server/config_https.json +0 -58
- mcp_proxy_adapter/examples/basic_server/config_mtls.json +0 -58
- mcp_proxy_adapter/examples/basic_server/config_ssl.json +0 -46
- mcp_proxy_adapter/examples/basic_server/custom_settings_example.py +0 -238
- mcp_proxy_adapter/examples/basic_server/server.py +0 -114
- mcp_proxy_adapter/examples/custom_commands/README.md +0 -127
- mcp_proxy_adapter/examples/custom_commands/__init__.py +0 -27
- mcp_proxy_adapter/examples/custom_commands/advanced_hooks.py +0 -566
- mcp_proxy_adapter/examples/custom_commands/auto_commands/__init__.py +0 -6
- mcp_proxy_adapter/examples/custom_commands/auto_commands/auto_echo_command.py +0 -103
- mcp_proxy_adapter/examples/custom_commands/auto_commands/auto_info_command.py +0 -111
- mcp_proxy_adapter/examples/custom_commands/auto_commands/test_command.py +0 -105
- mcp_proxy_adapter/examples/custom_commands/catalog/commands/test_command.py +0 -129
- mcp_proxy_adapter/examples/custom_commands/config.json +0 -118
- mcp_proxy_adapter/examples/custom_commands/config_all_protocols.json +0 -46
- mcp_proxy_adapter/examples/custom_commands/config_https_only.json +0 -46
- mcp_proxy_adapter/examples/custom_commands/config_https_transport.json +0 -33
- mcp_proxy_adapter/examples/custom_commands/config_mtls_only.json +0 -46
- mcp_proxy_adapter/examples/custom_commands/config_mtls_transport.json +0 -33
- mcp_proxy_adapter/examples/custom_commands/config_single_transport.json +0 -33
- mcp_proxy_adapter/examples/custom_commands/custom_health_command.py +0 -169
- mcp_proxy_adapter/examples/custom_commands/custom_help_command.py +0 -215
- mcp_proxy_adapter/examples/custom_commands/custom_openapi_generator.py +0 -76
- mcp_proxy_adapter/examples/custom_commands/custom_settings.json +0 -96
- mcp_proxy_adapter/examples/custom_commands/custom_settings_manager.py +0 -241
- mcp_proxy_adapter/examples/custom_commands/data_transform_command.py +0 -135
- mcp_proxy_adapter/examples/custom_commands/echo_command.py +0 -122
- mcp_proxy_adapter/examples/custom_commands/full_help_response.json +0 -1
- mcp_proxy_adapter/examples/custom_commands/generated_openapi.json +0 -629
- mcp_proxy_adapter/examples/custom_commands/get_openapi.py +0 -103
- mcp_proxy_adapter/examples/custom_commands/hooks.py +0 -230
- mcp_proxy_adapter/examples/custom_commands/intercept_command.py +0 -123
- mcp_proxy_adapter/examples/custom_commands/loadable_commands/test_ignored.py +0 -129
- mcp_proxy_adapter/examples/custom_commands/manual_echo_command.py +0 -103
- mcp_proxy_adapter/examples/custom_commands/proxy_connection_manager.py +0 -278
- mcp_proxy_adapter/examples/custom_commands/server.py +0 -252
- mcp_proxy_adapter/examples/custom_commands/simple_openapi_server.py +0 -75
- mcp_proxy_adapter/examples/custom_commands/start_server_with_proxy_manager.py +0 -299
- mcp_proxy_adapter/examples/custom_commands/start_server_with_registration.py +0 -278
- mcp_proxy_adapter/examples/custom_commands/test_hooks.py +0 -176
- mcp_proxy_adapter/examples/custom_commands/test_openapi.py +0 -27
- mcp_proxy_adapter/examples/custom_commands/test_registry.py +0 -23
- mcp_proxy_adapter/examples/custom_commands/test_simple.py +0 -19
- mcp_proxy_adapter/examples/custom_project_example/README.md +0 -103
- mcp_proxy_adapter/examples/custom_project_example/README_EN.md +0 -103
- mcp_proxy_adapter/examples/deployment/README.md +0 -49
- mcp_proxy_adapter/examples/deployment/__init__.py +0 -7
- mcp_proxy_adapter/examples/deployment/config.development.json +0 -8
- mcp_proxy_adapter/examples/deployment/config.json +0 -29
- mcp_proxy_adapter/examples/deployment/config.production.json +0 -12
- mcp_proxy_adapter/examples/deployment/config.staging.json +0 -11
- mcp_proxy_adapter/examples/deployment/docker-compose.yml +0 -31
- mcp_proxy_adapter/examples/deployment/run.sh +0 -43
- mcp_proxy_adapter/examples/deployment/run_docker.sh +0 -84
- mcp_proxy_adapter/examples/simple_custom_commands/README.md +0 -149
- mcp_proxy_adapter/examples/simple_custom_commands/README_EN.md +0 -149
- mcp_proxy_adapter/schemas/base_schema.json +0 -114
- mcp_proxy_adapter/schemas/openapi_schema.json +0 -314
- mcp_proxy_adapter/schemas/roles_schema.json +0 -162
- mcp_proxy_adapter/tests/__init__.py +0 -0
- mcp_proxy_adapter/tests/api/__init__.py +0 -3
- mcp_proxy_adapter/tests/api/test_cmd_endpoint.py +0 -115
- mcp_proxy_adapter/tests/api/test_custom_openapi.py +0 -617
- mcp_proxy_adapter/tests/api/test_handlers.py +0 -522
- mcp_proxy_adapter/tests/api/test_middleware.py +0 -340
- mcp_proxy_adapter/tests/api/test_schemas.py +0 -546
- mcp_proxy_adapter/tests/api/test_tool_integration.py +0 -531
- mcp_proxy_adapter/tests/commands/__init__.py +0 -3
- mcp_proxy_adapter/tests/commands/test_config_command.py +0 -211
- mcp_proxy_adapter/tests/commands/test_echo_command.py +0 -127
- mcp_proxy_adapter/tests/commands/test_help_command.py +0 -136
- mcp_proxy_adapter/tests/conftest.py +0 -131
- mcp_proxy_adapter/tests/functional/__init__.py +0 -3
- mcp_proxy_adapter/tests/functional/test_api.py +0 -253
- mcp_proxy_adapter/tests/integration/__init__.py +0 -3
- mcp_proxy_adapter/tests/integration/test_cmd_integration.py +0 -129
- mcp_proxy_adapter/tests/integration/test_integration.py +0 -255
- mcp_proxy_adapter/tests/performance/__init__.py +0 -3
- mcp_proxy_adapter/tests/performance/test_performance.py +0 -189
- mcp_proxy_adapter/tests/stubs/__init__.py +0 -10
- mcp_proxy_adapter/tests/stubs/echo_command.py +0 -104
- mcp_proxy_adapter/tests/test_api_endpoints.py +0 -271
- mcp_proxy_adapter/tests/test_api_handlers.py +0 -289
- mcp_proxy_adapter/tests/test_base_command.py +0 -123
- mcp_proxy_adapter/tests/test_batch_requests.py +0 -117
- mcp_proxy_adapter/tests/test_command_registry.py +0 -281
- mcp_proxy_adapter/tests/test_config.py +0 -127
- mcp_proxy_adapter/tests/test_utils.py +0 -65
- mcp_proxy_adapter/tests/unit/__init__.py +0 -3
- mcp_proxy_adapter/tests/unit/test_base_command.py +0 -436
- mcp_proxy_adapter/tests/unit/test_config.py +0 -270
- mcp_proxy_adapter-6.0.0.dist-info/METADATA +0 -201
- mcp_proxy_adapter-6.0.0.dist-info/RECORD +0 -179
- {mcp_proxy_adapter-6.0.0.dist-info → mcp_proxy_adapter-6.0.1.dist-info}/WHEEL +0 -0
- {mcp_proxy_adapter-6.0.0.dist-info → mcp_proxy_adapter-6.0.1.dist-info}/top_level.txt +0 -0
@@ -1,124 +0,0 @@
|
|
1
|
-
# MCP Proxy Adapter Examples
|
2
|
-
|
3
|
-
This directory contains examples demonstrating different usage patterns of the MCP Proxy Adapter framework.
|
4
|
-
|
5
|
-
## Examples Overview
|
6
|
-
|
7
|
-
### 1. Basic Server (`basic_server/`)
|
8
|
-
Minimal server example with only built-in commands. Demonstrates:
|
9
|
-
- Basic framework setup
|
10
|
-
- Built-in command discovery
|
11
|
-
- Standard JSON-RPC API
|
12
|
-
- Backward compatibility with property setting
|
13
|
-
|
14
|
-
### 2. Custom Commands Server (`custom_commands/`)
|
15
|
-
Advanced server example with custom commands and hooks. Demonstrates:
|
16
|
-
- Custom command registration
|
17
|
-
- Basic hooks (before/after execution)
|
18
|
-
- Global hooks
|
19
|
-
- Performance and security monitoring
|
20
|
-
- Advanced hooks with data transformation and command interception
|
21
|
-
|
22
|
-
## Setting Application Title and Description
|
23
|
-
|
24
|
-
The framework supports two ways to set application properties:
|
25
|
-
|
26
|
-
### Method 1: During Creation (Recommended)
|
27
|
-
```python
|
28
|
-
from mcp_proxy_adapter import create_app
|
29
|
-
|
30
|
-
app = create_app(
|
31
|
-
title="My Custom Server",
|
32
|
-
description="My custom server description",
|
33
|
-
version="2.0.0"
|
34
|
-
)
|
35
|
-
```
|
36
|
-
|
37
|
-
### Method 2: After Creation (Backward Compatible)
|
38
|
-
```python
|
39
|
-
from mcp_proxy_adapter import create_app
|
40
|
-
|
41
|
-
app = create_app()
|
42
|
-
|
43
|
-
# Set properties after creation
|
44
|
-
app.set_properties(
|
45
|
-
new_title="My Custom Server",
|
46
|
-
new_description="My custom server description",
|
47
|
-
new_version="2.0.0"
|
48
|
-
)
|
49
|
-
```
|
50
|
-
|
51
|
-
## Running Examples
|
52
|
-
|
53
|
-
### Basic Server
|
54
|
-
```bash
|
55
|
-
cd mcp_proxy_adapter/examples/basic_server
|
56
|
-
python server.py
|
57
|
-
```
|
58
|
-
|
59
|
-
### Custom Commands Server
|
60
|
-
```bash
|
61
|
-
cd mcp_proxy_adapter/examples/custom_commands
|
62
|
-
python server.py
|
63
|
-
```
|
64
|
-
|
65
|
-
## Testing Examples
|
66
|
-
|
67
|
-
### Basic Server Commands
|
68
|
-
```bash
|
69
|
-
# Get help
|
70
|
-
curl -X POST http://localhost:8000/cmd \
|
71
|
-
-H "Content-Type: application/json" \
|
72
|
-
-d '{"jsonrpc": "2.0", "method": "help", "id": 1}'
|
73
|
-
|
74
|
-
# Get health
|
75
|
-
curl -X POST http://localhost:8000/cmd \
|
76
|
-
-H "Content-Type: application/json" \
|
77
|
-
-d '{"jsonrpc": "2.0", "method": "health", "id": 2}'
|
78
|
-
```
|
79
|
-
|
80
|
-
### Custom Commands Server Commands
|
81
|
-
```bash
|
82
|
-
# Test echo command
|
83
|
-
curl -X POST http://localhost:8000/cmd \
|
84
|
-
-H "Content-Type: application/json" \
|
85
|
-
-d '{"jsonrpc": "2.0", "method": "echo", "params": {"message": "Hello!"}, "id": 1}'
|
86
|
-
|
87
|
-
# Test data transformation
|
88
|
-
curl -X POST http://localhost:8000/cmd \
|
89
|
-
-H "Content-Type: application/json" \
|
90
|
-
-d '{"jsonrpc": "2.0", "method": "data_transform", "params": {"data": {"name": "test", "value": 123}}, "id": 2}'
|
91
|
-
|
92
|
-
# Test command interception (bypass_flag=0)
|
93
|
-
curl -X POST http://localhost:8000/cmd \
|
94
|
-
-H "Content-Type: application/json" \
|
95
|
-
-d '{"jsonrpc": "2.0", "method": "intercept", "params": {"bypass_flag": 0}, "id": 3}'
|
96
|
-
|
97
|
-
# Test command execution (bypass_flag=1)
|
98
|
-
curl -X POST http://localhost:8000/cmd \
|
99
|
-
-H "Content-Type: application/json" \
|
100
|
-
-d '{"jsonrpc": "2.0", "method": "intercept", "params": {"bypass_flag": 1}, "id": 4}'
|
101
|
-
```
|
102
|
-
|
103
|
-
## Features Demonstrated
|
104
|
-
|
105
|
-
### Basic Server
|
106
|
-
- ✅ Standard JSON-RPC API
|
107
|
-
- ✅ Built-in command discovery
|
108
|
-
- ✅ Basic logging
|
109
|
-
- ✅ OpenAPI schema generation
|
110
|
-
- ✅ Backward compatibility
|
111
|
-
|
112
|
-
### Custom Commands Server
|
113
|
-
- ✅ Custom command registration
|
114
|
-
- ✅ Command override with priority
|
115
|
-
- ✅ Basic hooks (before/after)
|
116
|
-
- ✅ Global hooks
|
117
|
-
- ✅ Performance monitoring
|
118
|
-
- ✅ Security monitoring
|
119
|
-
- ✅ Data transformation hooks
|
120
|
-
- ✅ Command interception hooks
|
121
|
-
- ✅ Conditional processing
|
122
|
-
- ✅ Smart interception
|
123
|
-
- ✅ Centralized logging
|
124
|
-
- ✅ Advanced error handling
|
@@ -1,60 +0,0 @@
|
|
1
|
-
# Basic Server Example
|
2
|
-
|
3
|
-
A minimal example of MCP Proxy Adapter server without additional commands.
|
4
|
-
|
5
|
-
## Features
|
6
|
-
|
7
|
-
This example demonstrates:
|
8
|
-
- Basic server setup
|
9
|
-
- Built-in commands only (help, health)
|
10
|
-
- Default configuration
|
11
|
-
- No custom commands
|
12
|
-
|
13
|
-
## Available Commands
|
14
|
-
|
15
|
-
- `help` - Get information about available commands
|
16
|
-
- `health` - Get server health status
|
17
|
-
|
18
|
-
## Usage
|
19
|
-
|
20
|
-
### Run the server
|
21
|
-
|
22
|
-
```bash
|
23
|
-
python server.py
|
24
|
-
```
|
25
|
-
|
26
|
-
### Test the server
|
27
|
-
|
28
|
-
```bash
|
29
|
-
# Get help
|
30
|
-
curl -X POST http://localhost:8000/cmd \
|
31
|
-
-H "Content-Type: application/json" \
|
32
|
-
-d '{"command": "help"}'
|
33
|
-
|
34
|
-
# Get health status
|
35
|
-
curl -X POST http://localhost:8000/cmd \
|
36
|
-
-H "Content-Type: application/json" \
|
37
|
-
-d '{"command": "health"}'
|
38
|
-
```
|
39
|
-
|
40
|
-
## API Endpoints
|
41
|
-
|
42
|
-
- `POST /cmd` - Execute commands
|
43
|
-
- `GET /health` - Health check
|
44
|
-
- `GET /commands` - List available commands
|
45
|
-
- `GET /docs` - API documentation
|
46
|
-
|
47
|
-
## Configuration
|
48
|
-
|
49
|
-
The server uses default configuration. You can customize it by:
|
50
|
-
|
51
|
-
1. Creating a `config.json` file
|
52
|
-
2. Setting environment variables
|
53
|
-
3. Passing configuration to `create_app()`
|
54
|
-
|
55
|
-
## Notes
|
56
|
-
|
57
|
-
- This is the simplest possible setup
|
58
|
-
- No custom commands are registered
|
59
|
-
- Uses framework defaults
|
60
|
-
- Good starting point for understanding the framework
|
@@ -1,39 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"application": {
|
3
|
-
"name": "Basic MCP Proxy Server with Custom Settings",
|
4
|
-
"version": "1.1.0",
|
5
|
-
"environment": "development",
|
6
|
-
"description": "Basic server demonstrating custom settings usage"
|
7
|
-
},
|
8
|
-
"features": {
|
9
|
-
"basic_logging": true,
|
10
|
-
"simple_commands": true,
|
11
|
-
"custom_settings_demo": true,
|
12
|
-
"file_based_config": true
|
13
|
-
},
|
14
|
-
"server_info": {
|
15
|
-
"description": "Basic server with file-based custom settings",
|
16
|
-
"author": "MCP Proxy Adapter Team",
|
17
|
-
"contact": "support@example.com",
|
18
|
-
"documentation": "https://example.com/docs"
|
19
|
-
},
|
20
|
-
"demo_settings": {
|
21
|
-
"welcome_message": "Welcome to Basic MCP Proxy Server with Custom Settings!",
|
22
|
-
"max_connections": 150,
|
23
|
-
"timeout": 45,
|
24
|
-
"debug_mode": true,
|
25
|
-
"log_level": "INFO"
|
26
|
-
},
|
27
|
-
"performance": {
|
28
|
-
"enable_caching": true,
|
29
|
-
"cache_ttl": 300,
|
30
|
-
"max_cache_size": 1000
|
31
|
-
},
|
32
|
-
"security": {
|
33
|
-
"enable_rate_limiting": false,
|
34
|
-
"max_request_size": "5MB",
|
35
|
-
"allowed_origins": [
|
36
|
-
"*"
|
37
|
-
]
|
38
|
-
}
|
39
|
-
}
|
@@ -1,70 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"server": {
|
3
|
-
"host": "0.0.0.0",
|
4
|
-
"port": 9443,
|
5
|
-
"debug": true,
|
6
|
-
"log_level": "INFO"
|
7
|
-
},
|
8
|
-
"logging": {
|
9
|
-
"level": "INFO",
|
10
|
-
"log_dir": "./logs",
|
11
|
-
"console_output": true
|
12
|
-
},
|
13
|
-
"commands": {
|
14
|
-
"auto_discovery": true,
|
15
|
-
"discovery_path": "mcp_proxy_adapter.commands"
|
16
|
-
},
|
17
|
-
"ssl": {
|
18
|
-
"enabled": true,
|
19
|
-
"mode": "mtls_only",
|
20
|
-
"cert_file": "/home/vasilyvz/projects/mcp_proxy_adapter/test_env/server_test-server.crt",
|
21
|
-
"key_file": "/home/vasilyvz/projects/mcp_proxy_adapter/test_env/server_test-server.key",
|
22
|
-
"ca_cert": "/home/vasilyvz/projects/mcp_proxy_adapter/test_env/ca_test-ca.crt",
|
23
|
-
"verify_client": true,
|
24
|
-
"client_cert_required": true
|
25
|
-
},
|
26
|
-
"protocols": {
|
27
|
-
"enabled": false,
|
28
|
-
"allowed_protocols": ["https", "mtls"],
|
29
|
-
"http": {
|
30
|
-
"enabled": false,
|
31
|
-
"port": 8000
|
32
|
-
},
|
33
|
-
"https": {
|
34
|
-
"enabled": true,
|
35
|
-
"port": 9443
|
36
|
-
},
|
37
|
-
"mtls": {
|
38
|
-
"enabled": true,
|
39
|
-
"port": 9443
|
40
|
-
}
|
41
|
-
},
|
42
|
-
"roles": {
|
43
|
-
"enabled": true,
|
44
|
-
"config_file": "schemas/roles_schema.json",
|
45
|
-
"default_policy": {
|
46
|
-
"deny_by_default": true,
|
47
|
-
"require_role_match": true,
|
48
|
-
"case_sensitive": false,
|
49
|
-
"allow_wildcard": true
|
50
|
-
},
|
51
|
-
"auto_load": true,
|
52
|
-
"validation_enabled": true
|
53
|
-
},
|
54
|
-
"proxy_registration": {
|
55
|
-
"enabled": true,
|
56
|
-
"proxy_url": "http://localhost:3004",
|
57
|
-
"server_id": "mcp_proxy_adapter_mtls",
|
58
|
-
"server_name": "MTLS MCP Proxy Adapter Server",
|
59
|
-
"description": "JSON-RPC API for interacting with MCP Proxy (MTLS mode)",
|
60
|
-
"registration_timeout": 30,
|
61
|
-
"retry_attempts": 3,
|
62
|
-
"retry_delay": 5,
|
63
|
-
"auto_register_on_startup": true,
|
64
|
-
"auto_unregister_on_shutdown": true
|
65
|
-
},
|
66
|
-
"custom": {
|
67
|
-
"description": "MTLS-only server example with mutual authentication",
|
68
|
-
"server_name": "MTLS MCP Proxy Adapter Server"
|
69
|
-
}
|
70
|
-
}
|
@@ -1,54 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"server": {
|
3
|
-
"host": "0.0.0.0",
|
4
|
-
"port": 8000,
|
5
|
-
"debug": true,
|
6
|
-
"log_level": "INFO"
|
7
|
-
},
|
8
|
-
"logging": {
|
9
|
-
"level": "INFO",
|
10
|
-
"log_dir": "./logs",
|
11
|
-
"console_output": true
|
12
|
-
},
|
13
|
-
"commands": {
|
14
|
-
"auto_discovery": true,
|
15
|
-
"discovery_path": "mcp_proxy_adapter.commands"
|
16
|
-
},
|
17
|
-
"ssl": {
|
18
|
-
"enabled": true,
|
19
|
-
"mode": "mtls",
|
20
|
-
"cert_file": "../../../test_env/server/server.crt",
|
21
|
-
"key_file": "../../../test_env/server/server.key",
|
22
|
-
"ca_cert": "../../../test_env/ca/ca.crt",
|
23
|
-
"verify_client": true,
|
24
|
-
"client_cert_required": true
|
25
|
-
},
|
26
|
-
"protocols": {
|
27
|
-
"enabled": true,
|
28
|
-
"allowed_protocols": ["http", "https", "mtls"],
|
29
|
-
"http": {
|
30
|
-
"enabled": true,
|
31
|
-
"port": 8000
|
32
|
-
},
|
33
|
-
"https": {
|
34
|
-
"enabled": true,
|
35
|
-
"port": 8443
|
36
|
-
},
|
37
|
-
"mtls": {
|
38
|
-
"enabled": true,
|
39
|
-
"port": 9443
|
40
|
-
}
|
41
|
-
},
|
42
|
-
"proxy_registration": {
|
43
|
-
"enabled": true,
|
44
|
-
"proxy_url": "http://localhost:3004",
|
45
|
-
"server_id": "mcp_proxy_adapter_all_protocols",
|
46
|
-
"server_name": "Multi-Protocol MCP Proxy Adapter Server",
|
47
|
-
"description": "JSON-RPC API for interacting with MCP Proxy (HTTP/HTTPS/MTLS modes)",
|
48
|
-
"registration_timeout": 30,
|
49
|
-
"retry_attempts": 3,
|
50
|
-
"retry_delay": 5,
|
51
|
-
"auto_register_on_startup": true,
|
52
|
-
"auto_unregister_on_shutdown": true
|
53
|
-
}
|
54
|
-
}
|
@@ -1,70 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"server": {
|
3
|
-
"host": "0.0.0.0",
|
4
|
-
"port": 8443,
|
5
|
-
"debug": true,
|
6
|
-
"log_level": "INFO"
|
7
|
-
},
|
8
|
-
"logging": {
|
9
|
-
"level": "INFO",
|
10
|
-
"log_dir": "./logs",
|
11
|
-
"console_output": true
|
12
|
-
},
|
13
|
-
"commands": {
|
14
|
-
"auto_discovery": true,
|
15
|
-
"discovery_path": "mcp_proxy_adapter.commands"
|
16
|
-
},
|
17
|
-
"ssl": {
|
18
|
-
"enabled": true,
|
19
|
-
"mode": "https_only",
|
20
|
-
"cert_file": "/home/vasilyvz/projects/mcp_proxy_adapter/test_env/server_test-server.crt",
|
21
|
-
"key_file": "/home/vasilyvz/projects/mcp_proxy_adapter/test_env/server_test-server.key",
|
22
|
-
"ca_cert": "/home/vasilyvz/projects/mcp_proxy_adapter/test_env/ca_test-ca.crt",
|
23
|
-
"verify_client": false,
|
24
|
-
"client_cert_required": false
|
25
|
-
},
|
26
|
-
"protocols": {
|
27
|
-
"enabled": true,
|
28
|
-
"allowed_protocols": ["https"],
|
29
|
-
"http": {
|
30
|
-
"enabled": false,
|
31
|
-
"port": 8000
|
32
|
-
},
|
33
|
-
"https": {
|
34
|
-
"enabled": true,
|
35
|
-
"port": 8443
|
36
|
-
},
|
37
|
-
"mtls": {
|
38
|
-
"enabled": false,
|
39
|
-
"port": 9443
|
40
|
-
}
|
41
|
-
},
|
42
|
-
"roles": {
|
43
|
-
"enabled": false,
|
44
|
-
"config_file": "schemas/roles_schema.json",
|
45
|
-
"default_policy": {
|
46
|
-
"deny_by_default": false,
|
47
|
-
"require_role_match": false,
|
48
|
-
"case_sensitive": false,
|
49
|
-
"allow_wildcard": true
|
50
|
-
},
|
51
|
-
"auto_load": false,
|
52
|
-
"validation_enabled": false
|
53
|
-
},
|
54
|
-
"proxy_registration": {
|
55
|
-
"enabled": true,
|
56
|
-
"proxy_url": "http://localhost:3004",
|
57
|
-
"server_id": "mcp_proxy_adapter_https",
|
58
|
-
"server_name": "HTTPS MCP Proxy Adapter Server",
|
59
|
-
"description": "JSON-RPC API for interacting with MCP Proxy (HTTPS mode)",
|
60
|
-
"registration_timeout": 30,
|
61
|
-
"retry_attempts": 3,
|
62
|
-
"retry_delay": 5,
|
63
|
-
"auto_register_on_startup": true,
|
64
|
-
"auto_unregister_on_shutdown": true
|
65
|
-
},
|
66
|
-
"custom": {
|
67
|
-
"description": "HTTPS-only server example",
|
68
|
-
"server_name": "HTTPS MCP Proxy Adapter Server"
|
69
|
-
}
|
70
|
-
}
|
@@ -1,52 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"server": {
|
3
|
-
"host": "0.0.0.0",
|
4
|
-
"port": 8000,
|
5
|
-
"debug": true,
|
6
|
-
"log_level": "INFO"
|
7
|
-
},
|
8
|
-
"logging": {
|
9
|
-
"level": "INFO",
|
10
|
-
"log_dir": "./logs",
|
11
|
-
"console_output": true
|
12
|
-
},
|
13
|
-
"commands": {
|
14
|
-
"auto_discovery": true,
|
15
|
-
"discovery_path": "mcp_proxy_adapter.commands"
|
16
|
-
},
|
17
|
-
"ssl": {
|
18
|
-
"enabled": false
|
19
|
-
},
|
20
|
-
"protocols": {
|
21
|
-
"enabled": true,
|
22
|
-
"allowed_protocols": ["http"],
|
23
|
-
"http": {
|
24
|
-
"enabled": true,
|
25
|
-
"port": 8000
|
26
|
-
},
|
27
|
-
"https": {
|
28
|
-
"enabled": false,
|
29
|
-
"port": 8443
|
30
|
-
},
|
31
|
-
"mtls": {
|
32
|
-
"enabled": false,
|
33
|
-
"port": 9443
|
34
|
-
}
|
35
|
-
},
|
36
|
-
"proxy_registration": {
|
37
|
-
"enabled": true,
|
38
|
-
"proxy_url": "http://localhost:3004",
|
39
|
-
"server_id": "mcp_proxy_adapter_http",
|
40
|
-
"server_name": "HTTP MCP Proxy Adapter Server",
|
41
|
-
"description": "JSON-RPC API for interacting with MCP Proxy (HTTP mode)",
|
42
|
-
"registration_timeout": 30,
|
43
|
-
"retry_attempts": 3,
|
44
|
-
"retry_delay": 5,
|
45
|
-
"auto_register_on_startup": true,
|
46
|
-
"auto_unregister_on_shutdown": true
|
47
|
-
},
|
48
|
-
"custom": {
|
49
|
-
"description": "HTTP-only server example",
|
50
|
-
"server_name": "HTTP MCP Proxy Adapter Server"
|
51
|
-
}
|
52
|
-
}
|
@@ -1,58 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"server": {
|
3
|
-
"host": "0.0.0.0",
|
4
|
-
"port": 8443,
|
5
|
-
"debug": true,
|
6
|
-
"log_level": "INFO"
|
7
|
-
},
|
8
|
-
"logging": {
|
9
|
-
"level": "INFO",
|
10
|
-
"log_dir": "./logs",
|
11
|
-
"console_output": true
|
12
|
-
},
|
13
|
-
"commands": {
|
14
|
-
"auto_discovery": true,
|
15
|
-
"discovery_path": "mcp_proxy_adapter.commands"
|
16
|
-
},
|
17
|
-
"ssl": {
|
18
|
-
"enabled": true,
|
19
|
-
"mode": "https_only",
|
20
|
-
"cert_file": "/home/vasilyvz/projects/mcp_proxy_adapter/test_env/server_test-server.crt",
|
21
|
-
"key_file": "/home/vasilyvz/projects/mcp_proxy_adapter/test_env/server_test-server.key",
|
22
|
-
"ca_cert": "/home/vasilyvz/projects/mcp_proxy_adapter/test_env/ca_test-ca.crt",
|
23
|
-
"verify_client": false,
|
24
|
-
"client_cert_required": false
|
25
|
-
},
|
26
|
-
"protocols": {
|
27
|
-
"enabled": true,
|
28
|
-
"allowed_protocols": ["https"],
|
29
|
-
"http": {
|
30
|
-
"enabled": false,
|
31
|
-
"port": 8000
|
32
|
-
},
|
33
|
-
"https": {
|
34
|
-
"enabled": true,
|
35
|
-
"port": 8443
|
36
|
-
},
|
37
|
-
"mtls": {
|
38
|
-
"enabled": false,
|
39
|
-
"port": 9443
|
40
|
-
}
|
41
|
-
},
|
42
|
-
"roles": {
|
43
|
-
"enabled": false,
|
44
|
-
"config_file": "schemas/roles_schema.json",
|
45
|
-
"default_policy": {
|
46
|
-
"deny_by_default": false,
|
47
|
-
"require_role_match": false,
|
48
|
-
"case_sensitive": false,
|
49
|
-
"allow_wildcard": true
|
50
|
-
},
|
51
|
-
"auto_load": false,
|
52
|
-
"validation_enabled": false
|
53
|
-
},
|
54
|
-
"custom": {
|
55
|
-
"description": "HTTPS-only server example",
|
56
|
-
"server_name": "HTTPS MCP Proxy Adapter Server"
|
57
|
-
}
|
58
|
-
}
|
@@ -1,58 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"server": {
|
3
|
-
"host": "0.0.0.0",
|
4
|
-
"port": 9443,
|
5
|
-
"debug": true,
|
6
|
-
"log_level": "INFO"
|
7
|
-
},
|
8
|
-
"logging": {
|
9
|
-
"level": "INFO",
|
10
|
-
"log_dir": "./logs",
|
11
|
-
"console_output": true
|
12
|
-
},
|
13
|
-
"commands": {
|
14
|
-
"auto_discovery": true,
|
15
|
-
"discovery_path": "mcp_proxy_adapter.commands"
|
16
|
-
},
|
17
|
-
"ssl": {
|
18
|
-
"enabled": true,
|
19
|
-
"mode": "mtls_only",
|
20
|
-
"cert_file": "/home/vasilyvz/projects/mcp_proxy_adapter/test_env/server_test-server.crt",
|
21
|
-
"key_file": "/home/vasilyvz/projects/mcp_proxy_adapter/test_env/server_test-server.key",
|
22
|
-
"ca_cert": "/home/vasilyvz/projects/mcp_proxy_adapter/test_env/ca_test-ca.crt",
|
23
|
-
"verify_client": true,
|
24
|
-
"client_cert_required": true
|
25
|
-
},
|
26
|
-
"protocols": {
|
27
|
-
"enabled": true,
|
28
|
-
"allowed_protocols": ["mtls"],
|
29
|
-
"http": {
|
30
|
-
"enabled": false,
|
31
|
-
"port": 8000
|
32
|
-
},
|
33
|
-
"https": {
|
34
|
-
"enabled": false,
|
35
|
-
"port": 8443
|
36
|
-
},
|
37
|
-
"mtls": {
|
38
|
-
"enabled": true,
|
39
|
-
"port": 9443
|
40
|
-
}
|
41
|
-
},
|
42
|
-
"roles": {
|
43
|
-
"enabled": true,
|
44
|
-
"config_file": "schemas/roles_schema.json",
|
45
|
-
"default_policy": {
|
46
|
-
"deny_by_default": true,
|
47
|
-
"require_role_match": true,
|
48
|
-
"case_sensitive": false,
|
49
|
-
"allow_wildcard": true
|
50
|
-
},
|
51
|
-
"auto_load": true,
|
52
|
-
"validation_enabled": true
|
53
|
-
},
|
54
|
-
"custom": {
|
55
|
-
"description": "MTLS-only server example with mutual authentication",
|
56
|
-
"server_name": "MTLS MCP Proxy Adapter Server"
|
57
|
-
}
|
58
|
-
}
|
@@ -1,46 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"server": {
|
3
|
-
"host": "0.0.0.0",
|
4
|
-
"port": 8443,
|
5
|
-
"debug": false,
|
6
|
-
"log_level": "INFO"
|
7
|
-
},
|
8
|
-
"logging": {
|
9
|
-
"level": "INFO",
|
10
|
-
"log_dir": "./logs",
|
11
|
-
"log_file": "basic_server_ssl.log",
|
12
|
-
"console_output": true,
|
13
|
-
"file_output": true
|
14
|
-
},
|
15
|
-
"commands": {
|
16
|
-
"auto_discovery": true,
|
17
|
-
"commands_directory": "./commands",
|
18
|
-
"catalog_directory": "./catalog",
|
19
|
-
"plugin_servers": [],
|
20
|
-
"auto_install_dependencies": true
|
21
|
-
},
|
22
|
-
"ssl": {
|
23
|
-
"enabled": true,
|
24
|
-
"mode": "https_only",
|
25
|
-
"cert_file": "./certs/server.crt",
|
26
|
-
"key_file": "./certs/server.key",
|
27
|
-
"ca_cert": "./certs/ca.crt",
|
28
|
-
"verify_client": false,
|
29
|
-
"client_cert_required": false,
|
30
|
-
"cipher_suites": [
|
31
|
-
"TLS_AES_256_GCM_SHA384",
|
32
|
-
"TLS_CHACHA20_POLY1305_SHA256",
|
33
|
-
"TLS_AES_128_GCM_SHA256"
|
34
|
-
],
|
35
|
-
"min_tls_version": "1.2",
|
36
|
-
"max_tls_version": "1.3"
|
37
|
-
},
|
38
|
-
"debug": {
|
39
|
-
"enabled": false,
|
40
|
-
"level": "WARNING"
|
41
|
-
},
|
42
|
-
"custom": {
|
43
|
-
"server_name": "Basic MCP Proxy Adapter Server (SSL)",
|
44
|
-
"description": "Basic server example with SSL/TLS encryption enabled"
|
45
|
-
}
|
46
|
-
}
|