Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CLIFlagHint ¶
type CanonicalProduct ¶
type CanonicalProduct struct {
ID string `json:"id"`
DisplayName string `json:"display_name"`
Description string `json:"description,omitempty"`
ServerKey string `json:"server_key"`
Endpoint string `json:"endpoint"`
SchemaURI string `json:"schema_uri,omitempty"`
NegotiatedProtocolVersion string `json:"negotiated_protocol_version,omitempty"`
Source string `json:"source,omitempty"`
Degraded bool `json:"degraded"`
Lifecycle *LifecycleInfo `json:"lifecycle,omitempty"`
CLI *ProductCLIMetadata `json:"cli,omitempty"`
Tools []ToolDescriptor `json:"tools"`
}
func (CanonicalProduct) FindTool ¶
func (p CanonicalProduct) FindTool(name string) (ToolDescriptor, bool)
type Catalog ¶
type Catalog struct {
Products []CanonicalProduct `json:"products"`
}
func BuildCatalog ¶
func BuildCatalog(runtimeServers []discovery.RuntimeServer) Catalog
func (Catalog) FindProduct ¶
func (c Catalog) FindProduct(id string) (CanonicalProduct, bool)
func (Catalog) FindTool ¶
func (c Catalog) FindTool(path string) (CanonicalProduct, ToolDescriptor, bool)
type FlagOverlay ¶ added in v1.0.15
type FlagOverlay struct {
Alias string `json:"alias,omitempty"`
Transform string `json:"transform,omitempty"`
TransformArgs map[string]any `json:"transform_args,omitempty"`
EnvDefault string `json:"env_default,omitempty"`
Default string `json:"default,omitempty"`
Hidden bool `json:"hidden,omitempty"`
}
FlagOverlay carries CLI-layer transformation metadata for a single MCP parameter: the flag alias the user types, the transform applied before dispatch, env-var fallback, default value, and whether the flag is hidden from help. Sourced from market.CLIToolOverride.Flags.
type LifecycleInfo ¶
type ProductCLIMetadata ¶
type ToolAnnotations ¶ added in v1.0.15
type ToolAnnotations struct {
DestructiveHint *bool `json:"destructive_hint,omitempty"`
ReadOnlyHint *bool `json:"read_only_hint,omitempty"`
IdempotentHint *bool `json:"idempotent_hint,omitempty"`
OpenWorldHint *bool `json:"open_world_hint,omitempty"`
}
ToolAnnotations mirrors MCP 2025+ tool annotations. All hints are nullable: absence means "unknown", not "false". Populate only when the source has a clear signal — don't guess.
type ToolDescriptor ¶
type ToolDescriptor struct {
RPCName string `json:"rpc_name"`
CLIName string `json:"cli_name,omitempty"`
Group string `json:"group,omitempty"`
Title string `json:"title,omitempty"`
Description string `json:"description,omitempty"`
InputSchema map[string]any `json:"input_schema,omitempty"`
OutputSchema map[string]any `json:"output_schema,omitempty"`
Sensitive bool `json:"sensitive"`
Annotations *ToolAnnotations `json:"annotations,omitempty"`
Hidden bool `json:"hidden,omitempty"`
FlagHints map[string]CLIFlagHint `json:"flag_hints,omitempty"`
FlagOverlay map[string]FlagOverlay `json:"flag_overlay,omitempty"`
SourceServerKey string `json:"source_server_key"`
CanonicalPath string `json:"canonical_path"`
}
Click to show internal directories.
Click to hide internal directories.