diff --git a/cmd/sketch/main.go b/cmd/sketch/main.go
index 938a784..54fd904 100644
--- a/cmd/sketch/main.go
+++ b/cmd/sketch/main.go
@@ -435,6 +435,28 @@
 	return flags
 }
 
+func skabandMcpConfiguration(flags CLIFlags) string {
+	skabandaddr, err := skabandclient.LocalhostToDockerInternal(flags.skabandAddr)
+	if err != nil {
+		skabandaddr = flags.skabandAddr
+	}
+	config := mcp.ServerConfig{
+		Name: "sketchdev",
+		Type: "http",
+		URL:  skabandaddr + "/api/mcp",
+		Headers: map[string]string{
+			"Session-Id":     flags.sessionID,
+			"Public-Key":     "env:SKETCH_PUB_KEY",
+			"Session-Secret": "env:SKETCH_MODEL_API_KEY",
+		},
+	}
+	out, err := json.Marshal(&config)
+	if err != nil {
+		panic("programming error" + err.Error())
+	}
+	return string(out)
+}
+
 // runInHostMode handles execution on the host machine, which typically involves
 // checking host requirements and launching a Docker container.
 func runInHostMode(ctx context.Context, flags CLIFlags) error {
@@ -534,28 +556,6 @@
 	return nil
 }
 
-func skabandMcpConfiguration(flags CLIFlags) string {
-	skabandaddr, err := skabandclient.LocalhostToDockerInternal(flags.skabandAddr)
-	if err != nil {
-		skabandaddr = flags.skabandAddr
-	}
-	config := mcp.ServerConfig{
-		Name: "sketchdev",
-		Type: "http",
-		URL:  skabandaddr + "/api/mcp",
-		Headers: map[string]string{
-			"Session-Id":     flags.sessionID,
-			"Public-Key":     "env:SKETCH_PUB_KEY",
-			"Session-Secret": "env:SKETCH_MODEL_API_KEY",
-		},
-	}
-	out, err := json.Marshal(&config)
-	if err != nil {
-		panic("programming error" + err.Error())
-	}
-	return string(out)
-}
-
 // runInContainerMode handles execution inside the Docker container.
 // The inInsideSketch parameter indicates whether we're inside the sketch container
 // with access to outside environment variables.
