diff --git a/internal/mcp/context.go b/internal/mcp/context.go index 442e343..6542a92 100644 --- a/internal/mcp/context.go +++ b/internal/mcp/context.go @@ -134,7 +134,7 @@ func resolveServiceReferences(flags []Flag) []Flag { func applySmartDefaults(cmd string, args []string, flags []Flag) []Flag { // Add JSON output for list commands if not specified - if len(args) > 0 && args[0] == "list" && !hasFlag(flags, "json") { + if len(args) > 0 && args[0] == "list" && cmd != "service" && !hasFlag(flags, "json") { if globalContext.PreferredFormat == "json" || globalContext.PreferredFormat == "" { flags = append(flags, Flag{Name: "json", Value: ""}) } diff --git a/internal/mcp/context_test.go b/internal/mcp/context_test.go index d1cc0c1..ce060f2 100644 --- a/internal/mcp/context_test.go +++ b/internal/mcp/context_test.go @@ -316,8 +316,8 @@ func TestApplySmartDefaults(t *testing.T) { }, }, { - name: "adds json flag for list commands", - cmd: "service", + name: "adds json flag for non-service list commands", + cmd: "kv-store", args: []string{"list"}, inputFlags: []Flag{}, checkFunc: func(t *testing.T, flags []Flag) { @@ -326,6 +326,17 @@ func TestApplySmartDefaults(t *testing.T) { } }, }, + { + name: "does not add json flag for service list commands", + cmd: "service", + args: []string{"list"}, + inputFlags: []Flag{}, + checkFunc: func(t *testing.T, flags []Flag) { + if hasFlag(flags, "json") { + t.Error("Expected json flag not to be added for service list command") + } + }, + }, } for _, tt := range tests {