transport_security
Request checks shared by the HTTP server transports: Host/Origin header validation and body size limits.
DEFAULT_MAX_REQUEST_BODY_SIZE
module-attribute
DEFAULT_MAX_REQUEST_BODY_SIZE: Final = 4 * 1024 * 1024
Default maximum HTTP request body size in bytes (4 MiB).
TransportSecuritySettings
Bases: BaseModel
Settings for MCP transport security features.
These settings help protect against DNS rebinding attacks by validating incoming request headers.
Source code in src/mcp/server/transport_security.py
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
enable_dns_rebinding_protection
class-attribute
instance-attribute
enable_dns_rebinding_protection: bool = True
Enable DNS rebinding protection (recommended for production).
allowed_hosts
class-attribute
instance-attribute
List of allowed Host header values.
Only applies when enable_dns_rebinding_protection is True.
TransportSecurityMiddleware
Middleware to enforce DNS rebinding protection for MCP transport endpoints.
Source code in src/mcp/server/transport_security.py
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | |
validate_request
async
validate_request(
request: Request, is_post: bool = False
) -> Response | None
Validate request headers for DNS rebinding protection.
Returns None if validation passes, or an error Response if validation fails.
Source code in src/mcp/server/transport_security.py
98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 | |
RequestBodyLimitMiddleware
Reject oversized HTTP request bodies before invoking an ASGI application.
Source code in src/mcp/server/transport_security.py
126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | |