From 2ca2de767b316832fdcb96984dd53c5c4c80b3be Mon Sep 17 00:00:00 2001 From: ciccolo-anthropic Date: Tue, 20 May 2025 12:23:19 -0700 Subject: [PATCH] Change default binding from 0.0.0.0 to 127.0.0.1 to align with security recommendations (#738) --- examples/servers/simple-prompt/mcp_simple_prompt/server.py | 2 +- examples/servers/simple-resource/mcp_simple_resource/server.py | 2 +- .../mcp_simple_streamablehttp_stateless/server.py | 2 +- .../simple-streamablehttp/mcp_simple_streamablehttp/server.py | 2 +- examples/servers/simple-tool/mcp_simple_tool/server.py | 2 +- src/mcp/server/fastmcp/server.py | 2 +- src/mcp/server/sse.py | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/servers/simple-prompt/mcp_simple_prompt/server.py b/examples/servers/simple-prompt/mcp_simple_prompt/server.py index bc14b7cd..eca0bbcf 100644 --- a/examples/servers/simple-prompt/mcp_simple_prompt/server.py +++ b/examples/servers/simple-prompt/mcp_simple_prompt/server.py @@ -114,7 +114,7 @@ def main(port: int, transport: str) -> int: import uvicorn - uvicorn.run(starlette_app, host="0.0.0.0", port=port) + uvicorn.run(starlette_app, host="127.0.0.1", port=port) else: from mcp.server.stdio import stdio_server diff --git a/examples/servers/simple-resource/mcp_simple_resource/server.py b/examples/servers/simple-resource/mcp_simple_resource/server.py index 3e3adf10..85c29cb7 100644 --- a/examples/servers/simple-resource/mcp_simple_resource/server.py +++ b/examples/servers/simple-resource/mcp_simple_resource/server.py @@ -72,7 +72,7 @@ def main(port: int, transport: str) -> int: import uvicorn - uvicorn.run(starlette_app, host="0.0.0.0", port=port) + uvicorn.run(starlette_app, host="127.0.0.1", port=port) else: from mcp.server.stdio import stdio_server diff --git a/examples/servers/simple-streamablehttp-stateless/mcp_simple_streamablehttp_stateless/server.py b/examples/servers/simple-streamablehttp-stateless/mcp_simple_streamablehttp_stateless/server.py index f718df80..bbf3dc64 100644 --- a/examples/servers/simple-streamablehttp-stateless/mcp_simple_streamablehttp_stateless/server.py +++ b/examples/servers/simple-streamablehttp-stateless/mcp_simple_streamablehttp_stateless/server.py @@ -136,6 +136,6 @@ def main( import uvicorn - uvicorn.run(starlette_app, host="0.0.0.0", port=port) + uvicorn.run(starlette_app, host="127.0.0.1", port=port) return 0 diff --git a/examples/servers/simple-streamablehttp/mcp_simple_streamablehttp/server.py b/examples/servers/simple-streamablehttp/mcp_simple_streamablehttp/server.py index 1a76097b..bf6f51e5 100644 --- a/examples/servers/simple-streamablehttp/mcp_simple_streamablehttp/server.py +++ b/examples/servers/simple-streamablehttp/mcp_simple_streamablehttp/server.py @@ -164,6 +164,6 @@ def main( import uvicorn - uvicorn.run(starlette_app, host="0.0.0.0", port=port) + uvicorn.run(starlette_app, host="127.0.0.1", port=port) return 0 diff --git a/examples/servers/simple-tool/mcp_simple_tool/server.py b/examples/servers/simple-tool/mcp_simple_tool/server.py index 5f4e28bb..cd574ad5 100644 --- a/examples/servers/simple-tool/mcp_simple_tool/server.py +++ b/examples/servers/simple-tool/mcp_simple_tool/server.py @@ -84,7 +84,7 @@ def main(port: int, transport: str) -> int: import uvicorn - uvicorn.run(starlette_app, host="0.0.0.0", port=port) + uvicorn.run(starlette_app, host="127.0.0.1", port=port) else: from mcp.server.stdio import stdio_server diff --git a/src/mcp/server/fastmcp/server.py b/src/mcp/server/fastmcp/server.py index b6639e42..3282baae 100644 --- a/src/mcp/server/fastmcp/server.py +++ b/src/mcp/server/fastmcp/server.py @@ -87,7 +87,7 @@ class Settings(BaseSettings, Generic[LifespanResultT]): log_level: Literal["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"] = "INFO" # HTTP settings - host: str = "0.0.0.0" + host: str = "127.0.0.1" port: int = 8000 mount_path: str = "/" # Mount path (e.g. "/github", defaults to root path) sse_path: str = "/sse" diff --git a/src/mcp/server/sse.py b/src/mcp/server/sse.py index a6350a39..bae2bbf5 100644 --- a/src/mcp/server/sse.py +++ b/src/mcp/server/sse.py @@ -27,7 +27,7 @@ Example usage: # Create and run Starlette app starlette_app = Starlette(routes=routes) - uvicorn.run(starlette_app, host="0.0.0.0", port=port) + uvicorn.run(starlette_app, host="127.0.0.1", port=port) ``` Note: The handle_sse function must return a Response to avoid a "TypeError: 'NoneType'