@@ -23,6 +23,7 @@ def run_mcp_server(
2323 mode : Mode ,
2424 * ,
2525 http_port : int | None = None ,
26+ http_host : str | None = None ,
2627 dependencies : list [str ] | None = None ,
2728 return_mode : Literal ['json' , 'xml' ] = 'xml' ,
2829 deps_log_handler : LogHandler | None = None ,
@@ -34,6 +35,7 @@ def run_mcp_server(
3435 Args:
3536 mode: The mode to run the server in.
3637 http_port: The port to run the server on if mode is `streamable_http`.
38+ http_host: The host to run the server on if mode is `streamable_http`.
3739 dependencies: The dependencies to install.
3840 return_mode: The mode to return tool results in.
3941 deps_log_handler: Optional function to receive logs emitted while installing dependencies.
@@ -49,6 +51,7 @@ def run_mcp_server(
4951 mode ,
5052 dependencies = dependencies ,
5153 http_port = http_port ,
54+ http_host = http_host ,
5255 return_mode = return_mode ,
5356 deps_log_handler = deps_log_handler ,
5457 allow_networking = allow_networking ,
@@ -78,6 +81,7 @@ def prepare_deno_env(
7881 mode : Mode ,
7982 * ,
8083 http_port : int | None = None ,
84+ http_host : str | None = None ,
8185 dependencies : list [str ] | None = None ,
8286 return_mode : Literal ['json' , 'xml' ] = 'xml' ,
8387 deps_log_handler : LogHandler | None = None ,
@@ -92,6 +96,7 @@ def prepare_deno_env(
9296 Args:
9397 mode: The mode to run the server in.
9498 http_port: The port to run the server on if mode is `streamable_http`.
99+ http_host: The host to run the server on if mode is `streamable_http`.
95100 dependencies: The dependencies to install.
96101 return_mode: The mode to return tool results in.
97102 deps_log_handler: Optional function to receive logs emitted while installing dependencies.
@@ -126,6 +131,7 @@ def prepare_deno_env(
126131 args = _deno_run_args (
127132 mode ,
128133 http_port = http_port ,
134+ http_host = http_host ,
129135 dependencies = dependencies ,
130136 return_mode = return_mode ,
131137 allow_networking = allow_networking ,
@@ -141,6 +147,7 @@ async def async_prepare_deno_env(
141147 mode : Mode ,
142148 * ,
143149 http_port : int | None = None ,
150+ http_host : str | None = None ,
144151 dependencies : list [str ] | None = None ,
145152 return_mode : Literal ['json' , 'xml' ] = 'xml' ,
146153 deps_log_handler : LogHandler | None = None ,
@@ -151,6 +158,7 @@ async def async_prepare_deno_env(
151158 prepare_deno_env ,
152159 mode ,
153160 http_port = http_port ,
161+ http_host = http_host ,
154162 dependencies = dependencies ,
155163 return_mode = return_mode ,
156164 deps_log_handler = deps_log_handler ,
@@ -181,6 +189,7 @@ def _deno_run_args(
181189 mode : Mode ,
182190 * ,
183191 http_port : int | None = None ,
192+ http_host : str | None = None ,
184193 dependencies : list [str ] | None = None ,
185194 return_mode : Literal ['json' , 'xml' ] = 'xml' ,
186195 allow_networking : bool = True ,
@@ -197,11 +206,13 @@ def _deno_run_args(
197206 ]
198207 if dependencies is not None :
199208 args .append (f'--deps={ "," .join (dependencies )} ' )
200- if http_port is not None :
201- if mode in ( 'streamable_http' , 'streamable_http_stateless' ) :
209+ if mode in ( 'streamable_http' , 'streamable_http_stateless' ) :
210+ if http_port is not None :
202211 args .append (f'--port={ http_port } ' )
203- else :
204- raise ValueError ('Port is only supported for `streamable_http` modes' )
212+ if http_host is not None :
213+ args .append (f'--host={ http_host } ' )
214+ elif http_port is not None or http_host is not None :
215+ raise ValueError ('Port and host are only supported for `streamable_http` mode' )
205216 return args
206217
207218
0 commit comments