9
9
"strings"
10
10
11
11
"github.com/docker/cli/cli-plugins/plugin"
12
+ "github.com/docker/cli/cli/command"
12
13
"github.com/spf13/cobra"
13
14
14
15
"github.com/docker/mcp-gateway/cmd/docker-mcp/backup"
@@ -43,7 +44,7 @@ Examples:
43
44
`
44
45
45
46
// rootCommand returns the root command for the init plugin
46
- func rootCommand (ctx context.Context , cwd string , docker docker. Client ) * cobra.Command {
47
+ func rootCommand (ctx context.Context , cwd string , dockerCli command. Cli ) * cobra.Command {
47
48
cmd := & cobra.Command {
48
49
Use : "mcp [OPTIONS]" ,
49
50
TraverseChildren : true ,
@@ -58,7 +59,14 @@ func rootCommand(ctx context.Context, cwd string, docker docker.Client) *cobra.C
58
59
}
59
60
60
61
if os .Getenv ("DOCKER_MCP_IN_CONTAINER" ) != "1" {
61
- return desktop .CheckFeatureIsEnabled (ctx , "enableDockerMCPToolkit" , "Docker MCP Toolkit" )
62
+ runningInDockerCE , err := docker .RunningInDockerCE (ctx , dockerCli )
63
+ if err != nil {
64
+ return err
65
+ }
66
+
67
+ if ! runningInDockerCE {
68
+ return desktop .CheckFeatureIsEnabled (ctx , "enableDockerMCPToolkit" , "Docker MCP Toolkit" )
69
+ }
62
70
}
63
71
64
72
return nil
@@ -73,15 +81,17 @@ func rootCommand(ctx context.Context, cwd string, docker docker.Client) *cobra.C
73
81
return []string {"--help" }, cobra .ShellCompDirectiveNoFileComp
74
82
})
75
83
76
- cmd .AddCommand (secret .NewSecretsCmd (docker ))
84
+ dockerClient := docker .NewClient (dockerCli )
85
+
86
+ cmd .AddCommand (secret .NewSecretsCmd (dockerClient ))
77
87
cmd .AddCommand (policy .NewPolicyCmd ())
78
88
cmd .AddCommand (oauth .NewOAuthCmd ())
79
89
cmd .AddCommand (client .NewClientCmd (cwd ))
80
90
cmd .AddCommand (catalog .NewCatalogCmd ())
81
91
cmd .AddCommand (versionCommand ())
82
- cmd .AddCommand (gatewayCommand (docker ))
83
- cmd .AddCommand (configCommand (docker ))
84
- cmd .AddCommand (serverCommand (docker ))
92
+ cmd .AddCommand (gatewayCommand (dockerClient ))
93
+ cmd .AddCommand (configCommand (dockerClient ))
94
+ cmd .AddCommand (serverCommand (dockerClient ))
85
95
cmd .AddCommand (toolsCommand ())
86
96
87
97
if os .Getenv ("DOCKER_MCP_SHOW_HIDDEN" ) == "1" {
0 commit comments