Skip to content

Commit 3275f5c

Browse files
authored
fix(redis): stabilize faas startup defaults (#407)
Pin the Redis MCP server to a FastMCP and pydantic combination that works in ByteFaaS, and bind the HTTP server to 0.0.0.0 so streamable-http deployments can pass health checks while keeping stdio as the explicit default transport.
1 parent 69d102e commit 3275f5c

3 files changed

Lines changed: 95 additions & 92 deletions

File tree

server/mcp_server_redis/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ description = "MCP server for Redis"
55
readme = "README.md"
66
requires-python = ">=3.10"
77
dependencies = [
8-
"mcp[cli]",
9-
"mcp>=1.12.0",
8+
"mcp[cli]==1.12.4",
9+
"pydantic>=2.10,<2.11",
1010
"volcengine-python-sdk>=4.0.24",
1111
]
1212
[project.scripts]

server/mcp_server_redis/src/mcp_server_redis/server.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,23 @@
1111
from mcp_server_redis.resource.redis_resource import RedisSDK
1212
from mcp_server_redis.params import func_available_params_map
1313

14+
def _get_server_host() -> str:
15+
return os.getenv("MCP_SERVER_HOST") or os.getenv("FASTMCP_HOST") or "0.0.0.0"
16+
17+
18+
def _get_default_transport() -> str:
19+
transport = os.getenv("MCP_SERVER_TRANSPORT")
20+
if transport:
21+
return transport
22+
return "stdio"
23+
24+
1425
# Initialize the MCP service
15-
mcp_server = FastMCP("redis_mcp_server", port=int(os.getenv("MCP_SERVER_PORT", "8000")))
26+
mcp_server = FastMCP(
27+
"redis_mcp_server",
28+
host=_get_server_host(),
29+
port=int(os.getenv("MCP_SERVER_PORT", "8000")),
30+
)
1631
logger = logging.getLogger("mcp_server_redis")
1732

1833
VOLCENGINE_ACCESS_KEY_ENV_NAMES = ("VOLCENGINE_ACCESS_KEY",)
@@ -1832,7 +1847,7 @@ def main():
18321847
"--transport",
18331848
"-t",
18341849
choices=["streamable-http", "stdio"],
1835-
default="stdio",
1850+
default=_get_default_transport(),
18361851
help="Transport protocol to use (streamable-http or stdio)",
18371852
)
18381853

0 commit comments

Comments
 (0)