refactor(cmd): use net.JoinHostPort for host:port

Amolith created

Handles IPv6 addresses correctly and avoids redundant fmt.Sprintf calls.

Assisted-by: Claude Opus 4.5 via Crush

Change summary

cmd/lunatask-mcp-server.go | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)

Detailed changes

cmd/lunatask-mcp-server.go 🔗

@@ -8,7 +8,9 @@ import (
 	"context"
 	"fmt"
 	"log"
+	"net"
 	"os"
+	"strconv"
 
 	"github.com/BurntSushi/toml"
 	"github.com/mark3labs/mcp-go/mcp"
@@ -131,9 +133,10 @@ func main() {
 
 	mcpServer := NewMCPServer(&config)
 
-	baseURL := fmt.Sprintf("http://%s:%d", config.Server.Host, config.Server.Port)
+	hostPort := net.JoinHostPort(config.Server.Host, strconv.Itoa(config.Server.Port))
+	baseURL := "http://" + hostPort
 	sseServer := server.NewSSEServer(mcpServer, server.WithBaseURL(baseURL))
-	listenAddr := fmt.Sprintf("%s:%d", config.Server.Host, config.Server.Port)
+	listenAddr := hostPort
 	log.Printf("SSE server listening on %s (baseURL: %s)", listenAddr, baseURL)
 
 	if err := sseServer.Start(listenAddr); err != nil {