@@ -15,8 +15,8 @@ type topLevel struct {
1515// MCP Servers
1616
1717type Server struct {
18- Name string `yaml:"name,omitempty" json:"name,omitempty"`
19- Type string `yaml:"type" json:"type"`
18+ Name string `yaml:"name,omitempty" json:"name,omitempty" validate:"required,min=1" `
19+ Type string `yaml:"type" json:"type" validate:"required,oneof=server remote poci" `
2020 Image string `yaml:"image" json:"image"`
2121 Description string `yaml:"description,omitempty" json:"description,omitempty"`
2222 Title string `yaml:"title,omitempty" json:"title,omitempty"`
@@ -33,7 +33,7 @@ type Server struct {
3333 DisableNetwork bool `yaml:"disableNetwork,omitempty" json:"disableNetwork,omitempty"`
3434 AllowHosts []string `yaml:"allowHosts,omitempty" json:"allowHosts,omitempty"`
3535 ExtraHosts []string `yaml:"extraHosts,omitempty" json:"extraHosts,omitempty"`
36- Tools []Tool `yaml:"tools,omitempty" json:"tools,omitempty"`
36+ Tools []Tool `yaml:"tools,omitempty" json:"tools,omitempty" validate:"dive" `
3737 Config []any `yaml:"config,omitempty" json:"config,omitempty"`
3838 Prefix string `yaml:"prefix,omitempty" json:"prefix,omitempty"`
3939 Metadata * Metadata `yaml:"metadata,omitempty" json:"metadata,omitempty"`
@@ -107,7 +107,7 @@ type ToolGroup struct {
107107}
108108
109109type Tool struct {
110- Name string `yaml:"name" json:"name"`
110+ Name string `yaml:"name" json:"name" validate:"required,min=1" `
111111 Description string `yaml:"description" json:"description"`
112112 Container Container `yaml:"container" json:"container"`
113113 Parameters Parameters `yaml:"parameters" json:"parameters"`
0 commit comments