MCPcopy Index your code
hub / github.com/github/github-mcp-server / GenerateToolsetsHelp

Function GenerateToolsetsHelp

pkg/github/tools.go:353–413  ·  view source on GitHub ↗

GenerateToolsetsHelp generates the help text for the toolsets flag

()

Source from the content-addressed store, hash-verified

351
352// GenerateToolsetsHelp generates the help text for the toolsets flag
353func GenerateToolsetsHelp() string {
354 // Get toolset group to derive defaults and available toolsets
355 // Build() can only fail if WithTools specifies invalid tools - not used here
356 r, _ := NewInventory(stubTranslator).Build()
357
358 // Format default tools from metadata using strings.Builder
359 var defaultBuf strings.Builder
360 defaultIDs := r.DefaultToolsetIDs()
361 for i, id := range defaultIDs {
362 if i > 0 {
363 defaultBuf.WriteString(", ")
364 }
365 defaultBuf.WriteString(string(id))
366 }
367
368 // Get all available toolsets (excludes context for display)
369 allToolsets := r.AvailableToolsets("context")
370 var availableBuf strings.Builder
371 const maxLineLength = 70
372 currentLine := ""
373
374 for i, toolset := range allToolsets {
375 id := string(toolset.ID)
376 switch {
377 case i == 0:
378 currentLine = id
379 case len(currentLine)+len(id)+2 <= maxLineLength:
380 currentLine += ", " + id
381 default:
382 if availableBuf.Len() > 0 {
383 availableBuf.WriteString(",\n\t ")
384 }
385 availableBuf.WriteString(currentLine)
386 currentLine = id
387 }
388 }
389 if currentLine != "" {
390 if availableBuf.Len() > 0 {
391 availableBuf.WriteString(",\n\t ")
392 }
393 availableBuf.WriteString(currentLine)
394 }
395
396 // Build the complete help text using strings.Builder
397 var buf strings.Builder
398 buf.WriteString("Comma-separated list of tool groups to enable (no spaces).\n")
399 buf.WriteString("Available: ")
400 buf.WriteString(availableBuf.String())
401 buf.WriteString("\n")
402 buf.WriteString("Special toolset keywords:\n")
403 buf.WriteString(" - all: Enables all available toolsets\n")
404 buf.WriteString(" - default: Enables the default toolset configuration of:\n\t ")
405 buf.WriteString(defaultBuf.String())
406 buf.WriteString("\n")
407 buf.WriteString("Examples:\n")
408 buf.WriteString(" - --toolsets=actions,gists,notifications\n")
409 buf.WriteString(" - Default + additional: --toolsets=default,actions,gists\n")
410 buf.WriteString(" - All tools: --toolsets=all")

Callers 2

initFunction · 0.92
TestGenerateToolsetsHelpFunction · 0.85

Calls 5

NewInventoryFunction · 0.85
BuildMethod · 0.80
DefaultToolsetIDsMethod · 0.80
AvailableToolsetsMethod · 0.80
StringMethod · 0.45

Tested by 1

TestGenerateToolsetsHelpFunction · 0.68