googleapis/mcp-toolbox · error

description is required for tool %q

Error message

description is required for tool %q

What it means

Initialize refuses to construct the execute-sql-many tool because cfg.Description is empty — the tool has no default description and cannot be exposed to the LLM without one.

Source

Thrown at internal/tools/cloudsqladmin/cloudsqladminsqlmany/cloudsqladminsqlmany.go:68

type Config struct {
	tools.ConfigBase   `yaml:",inline"`
	Type               string                 `yaml:"type" validate:"required"`
	Source             string                 `yaml:"source" validate:"required"`
	Statement          string                 `yaml:"statement" validate:"required"`
	Parameters         parameters.Parameters  `yaml:"parameters"`
	TemplateParameters parameters.Parameters  `yaml:"templateParameters"`
	Annotations        *tools.ToolAnnotations `yaml:"annotations,omitempty"`
}

var _ tools.ToolConfig = Config{}

func (cfg Config) ToolConfigType() string {
	return resourceType
}

func (cfg Config) Initialize(context.Context) (tools.Tool, error) {
	if cfg.Description == "" {
		return nil, fmt.Errorf("description is required for tool %q", cfg.Name)
	}

	infraParams := parameters.Parameters{
		parameters.NewStringParameter("project", "The GCP project ID."),
		parameters.NewStringParameter("instanceId", "The Cloud SQL instance ID."),
		parameters.NewStringParameter("database", "The database name."),
	}

	allParams, _, err := parameters.ProcessParameters(cfg.TemplateParameters, cfg.Parameters)
	if err != nil {
		return nil, fmt.Errorf("failed to process parameters: %v", err)
	}

	finalParams := append(infraParams, allParams...)
	paramManifest := finalParams.Manifest()

	return Tool{
		BaseTool: tools.NewBaseTool(

View on GitHub (pinned to 8cc6e09de2)

Solutions

  1. Add a `description` field to the tool entry in tools.yaml
  2. Check YAML indentation so description is parsed
  3. Ensure the description is non-empty
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at internal/tools/cloudsqladmin/cloudsqladminsqlmany/cloudsqladminsqlmany.go:68 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of googleapis/mcp-toolbox@8cc6e09de2 (2026-09-05). Data as JSON: /api/errors/903f08ca47dac6fd. Report an issue: GitHub.