@@ -1040,36 +1040,39 @@ You can get started by copying the provided [.env.example](.env.example) to `.en
1040
1040
1041
1041
### Basic
1042
1042
1043
- | Setting | Description | Default | Options |
1044
- | --------------- | ---------------------------------------- | ---------------------- | ---------------------- |
1045
- | `APP_NAME` | Gateway / OpenAPI title | `MCP Gateway` | string |
1046
- | `HOST` | Bind address for the app | `127.0.0.1` | IPv4/IPv6 |
1047
- | `PORT` | Port the server listens on | `4444` | 1-65535 |
1048
- | `DATABASE_URL` | SQLAlchemy connection URL | `sqlite:///./mcp.db` | any SQLAlchemy dialect |
1049
- | `APP_ROOT_PATH` | Subpath prefix for app (e.g. `/gateway`) | (empty) | string |
1050
- | `TEMPLATES_DIR` | Path to Jinja2 templates | `mcpgateway/templates` | path |
1051
- | `STATIC_DIR` | Path to static files | `mcpgateway/static` | path |
1052
- | `PROTOCOL_VERSION` | MCP protocol version supported | `2025-03-26` | string |
1043
+ | Setting | Description | Default | Options |
1044
+ |--------------------| ------------------------------------------| ------------------------| ------------------------ |
1045
+ | `APP_NAME` | Gateway / OpenAPI title | `MCP Gateway` | string |
1046
+ | `HOST` | Bind address for the app | `127.0.0.1` | IPv4/IPv6 |
1047
+ | `PORT` | Port the server listens on | `4444` | 1-65535 |
1048
+ | `DATABASE_URL` | SQLAlchemy connection URL | `sqlite:///./mcp.db` | any SQLAlchemy dialect |
1049
+ | `APP_ROOT_PATH` | Subpath prefix for app (e.g. `/gateway`) | (empty) | string |
1050
+ | `TEMPLATES_DIR` | Path to Jinja2 templates | `mcpgateway/templates` | path |
1051
+ | `STATIC_DIR` | Path to static files | `mcpgateway/static` | path |
1052
+ | `PROTOCOL_VERSION` | MCP protocol version supported | `2025-03-26` | string |
1053
1053
1054
1054
> 💡 Use `APP_ROOT_PATH=/foo` if reverse-proxying under a subpath like `https://host.com/foo/`.
1055
1055
1056
1056
### Authentication
1057
1057
1058
- | Setting | Description | Default | Options |
1059
- | --------------------- | ---------------------------------------------------------------- | ------------- | ---------- |
1060
- | `BASIC_AUTH_USER` | Username for Admin UI login and HTTP Basic authentication | `admin` | string |
1061
- | `BASIC_AUTH_PASSWORD` | Password for Admin UI login and HTTP Basic authentication | `changeme` | string |
1062
- | `PLATFORM_ADMIN_EMAIL` | Email for bootstrap platform admin user (auto-created with admin privileges) | `[email protected] ` | string |
1063
- | `AUTH_REQUIRED` | Require authentication for all API routes | `true` | bool |
1064
- | `JWT_SECRET_KEY` | Secret key used to **sign JWT tokens** for API access | `my-test-key` | string |
1065
- | `JWT_ALGORITHM` | Algorithm used to sign the JWTs (`HS256` is default, HMAC-based) | `HS256` | PyJWT algs |
1066
- | `JWT_AUDIENCE` | JWT audience claim for token validation | `mcpgateway-api` | string |
1067
- | `JWT_ISSUER` | JWT issuer claim for token validation | `mcpgateway` | string |
1068
- | `TOKEN_EXPIRY` | Expiry of generated JWTs in minutes | `10080` | int > 0 |
1069
- | `REQUIRE_TOKEN_EXPIRATION` | Require all JWT tokens to have expiration claims | `false` | bool |
1070
- | `AUTH_ENCRYPTION_SECRET` | Passphrase used to derive AES key for encrypting tool auth headers | `my-test-salt` | string |
1071
- | `OAUTH_REQUEST_TIMEOUT` | OAuth request timeout in seconds | `30` | int > 0 |
1072
- | `OAUTH_MAX_RETRIES` | Maximum retries for OAuth token requests | `3` | int > 0 |
1058
+ | Setting | Description | Default | Options |
1059
+ |-----------------------------|------------------------------------------------------------------------------|---------------------|-------------|
1060
+ | `BASIC_AUTH_USER` | Username for Admin UI login and HTTP Basic authentication | `admin` | string |
1061
+ | `BASIC_AUTH_PASSWORD` | Password for Admin UI login and HTTP Basic authentication | `changeme` | string |
1062
+ | `PLATFORM_ADMIN_EMAIL` | Email for bootstrap platform admin user (auto-created with admin privileges) | `[email protected] ` | string |
1063
+ | `AUTH_REQUIRED` | Require authentication for all API routes | `true` | bool |
1064
+ | `JWT_ALGORITHM` | Algorithm used to sign the JWTs (`HS256` is default, HMAC-based) | `HS256` | PyJWT algs |
1065
+ | `JWT_SECRET_KEY` | Secret key used to **sign JWT tok(empty)or API access | `my-test-key` | string |
1066
+ | `JWT_PUBLIC_KEY_PATH` | If an asymmetric algorithm is used, a public key is required | (empty) | path to pem |
1067
+ | `JWT_PRIVATE_KEY_PATH` | If an asymmetric algorithm is used, a private key is required | (empty) | path to pem |
1068
+ | `JWT_AUDIENCE` | JWT audience claim for token validation | `mcpgateway-api` | string |
1069
+ | `JWT_AUDIENCE_VERIFICATION` | Disables jwt audience verification (useful for DCR) | `true` | boolean |
1070
+ | `JWT_ISSUER` | JWT issuer claim for token validation | `mcpgateway` | string |
1071
+ | `TOKEN_EXPIRY` | Expiry of generated JWTs in minutes | `10080` | int > 0 |
1072
+ | `REQUIRE_TOKEN_EXPIRATION` | Require all JWT tokens to have expiration claims | `false` | bool |
1073
+ | `AUTH_ENCRYPTION_SECRET` | Passphrase used to derive AES key for encrypting tool auth headers | `my-test-salt` | string |
1074
+ | `OAUTH_REQUEST_TIMEOUT` | OAuth request timeout in seconds | `30` | int > 0 |
1075
+ | `OAUTH_MAX_RETRIES` | Maximum retries for OAuth token requests | `3` | int > 0 |
1073
1076
1074
1077
> 🔐 `BASIC_AUTH_USER`/`PASSWORD` are used for:
1075
1078
>
0 commit comments