diff --git a/sundynix-mcp-py/src/sundynix_mcp_py/mcp_gateway.py b/sundynix-mcp-py/src/sundynix_mcp_py/mcp_gateway.py index 0801dff..60d1c09 100644 --- a/sundynix-mcp-py/src/sundynix_mcp_py/mcp_gateway.py +++ b/sundynix-mcp-py/src/sundynix_mcp_py/mcp_gateway.py @@ -62,9 +62,12 @@ class McpGateway: async def serve(self, url: str | None = None) -> None: url = url or os.getenv("NATS_URL", "nats://localhost:4222") + # NATS_URL 可为逗号分隔的多节点(集群);Go 客户端能识别逗号串,Python nats.py 不会, + # 须拆成列表传给 servers,否则把整串当单 URL 解析端口时报 "invalid connect url"。 + servers = [u.strip() for u in url.split(",") if u.strip()] # 容忍服务先于 NATS 启动:无限重连 + 等待间隔。 self._nc = await nats.connect( - url, + servers, allow_reconnect=True, max_reconnect_attempts=-1, reconnect_time_wait=1,