Files
CyberStrikeAI/cmd/test-config/main.go
2025-11-15 17:50:47 +08:00

58 lines
1.2 KiB
Go

package main
import (
"fmt"
"os"
"cyberstrike-ai/internal/config"
)
func main() {
if len(os.Args) < 2 {
fmt.Println("Usage: go run cmd/test-config/main.go <config.yaml>")
os.Exit(1)
}
configPath := os.Args[1]
cfg, err := config.Load(configPath)
if err != nil {
fmt.Printf("Error loading config: %v\n", err)
os.Exit(1)
}
if cfg.ExternalMCP.Servers == nil {
fmt.Println("No external MCP servers configured")
os.Exit(0)
}
fmt.Printf("Found %d external MCP server(s):\n\n", len(cfg.ExternalMCP.Servers))
for name, srv := range cfg.ExternalMCP.Servers {
fmt.Printf("Name: %s\n", name)
fmt.Printf(" Transport: %s\n", getTransport(srv))
fmt.Printf(" Command: %s\n", srv.Command)
if len(srv.Args) > 0 {
fmt.Printf(" Args: %v\n", srv.Args)
}
fmt.Printf(" URL: %s\n", srv.URL)
fmt.Printf(" Description: %s\n", srv.Description)
fmt.Printf(" Timeout: %d seconds\n", srv.Timeout)
fmt.Printf(" Enabled: %v\n", srv.Enabled)
fmt.Printf(" Disabled: %v\n", srv.Disabled)
fmt.Println()
}
}
func getTransport(srv config.ExternalMCPServerConfig) string {
if srv.Transport != "" {
return srv.Transport
}
if srv.Command != "" {
return "stdio"
}
if srv.URL != "" {
return "http"
}
return "unknown"
}