Skip to content

Commit 2a56e61

Browse files
committed
add enabledTools to StdioServerConfig
1 parent 1090290 commit 2a56e61

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

cmd/github-mcp-server/main.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,18 @@ var (
5050
enabledToolsets = []string{github.ToolsetMetadataDefault.ID}
5151
}
5252

53+
// Parse tools (similar to toolsets)
54+
var enabledTools []string
55+
if err := viper.UnmarshalKey("tools", &enabledTools); err != nil {
56+
return fmt.Errorf("failed to unmarshal tools: %w", err)
57+
}
58+
5359
stdioServerConfig := ghmcp.StdioServerConfig{
5460
Version: version,
5561
Host: viper.GetString("host"),
5662
Token: token,
5763
EnabledToolsets: enabledToolsets,
64+
EnabledTools: enabledTools,
5865
DynamicToolsets: viper.GetBool("dynamic_toolsets"),
5966
ReadOnly: viper.GetBool("read-only"),
6067
ExportTranslations: viper.GetBool("export-translations"),
@@ -75,6 +82,7 @@ func init() {
7582

7683
// Add global flags that will be shared by all commands
7784
rootCmd.PersistentFlags().StringSlice("toolsets", nil, github.GenerateToolsetsHelp())
85+
rootCmd.PersistentFlags().StringSlice("tools", nil, "Comma-separated list of specific tools to enable (takes priority over toolsets)")
7886
rootCmd.PersistentFlags().Bool("dynamic-toolsets", false, "Enable dynamic toolsets")
7987
rootCmd.PersistentFlags().Bool("read-only", false, "Restrict the server to read-only operations")
8088
rootCmd.PersistentFlags().String("log-file", "", "Path to log file")
@@ -85,6 +93,7 @@ func init() {
8593

8694
// Bind flag to viper
8795
_ = viper.BindPFlag("toolsets", rootCmd.PersistentFlags().Lookup("toolsets"))
96+
_ = viper.BindPFlag("tools", rootCmd.PersistentFlags().Lookup("tools"))
8897
_ = viper.BindPFlag("dynamic_toolsets", rootCmd.PersistentFlags().Lookup("dynamic-toolsets"))
8998
_ = viper.BindPFlag("read-only", rootCmd.PersistentFlags().Lookup("read-only"))
9099
_ = viper.BindPFlag("log-file", rootCmd.PersistentFlags().Lookup("log-file"))

0 commit comments

Comments
 (0)