googleapis/mcp-toolbox · error

error parsing parameters: %w

Error message

error parsing parameters: %w

What it means

parseParamFromDelayedUnmarshaler failed to unmarshal a raw parameter entry from tools.yaml into a generic map. This is a wrapping error: the underlying cause is malformed YAML (wrong indentation, invalid scalar, type mismatch) inside a tool's 'parameters' or 'templateParameters' block, surfaced with %w context during config parsing.

Source

Thrown at internal/util/parameters/parameters.go:388

		return err
	}
	for _, u := range rawList {
		p, err := parseParamFromDelayedUnmarshaler(ctx, &u)
		if err != nil {
			return err
		}
		(*c) = append((*c), p)
	}
	return nil
}

// parseParamFromDelayedUnmarshaler is a helper function that is required to parse
// parameters because there are multiple different types
func parseParamFromDelayedUnmarshaler(ctx context.Context, u *util.DelayedUnmarshaler) (Parameter, error) {
	var p map[string]any
	err := u.Unmarshal(&p)
	if err != nil {
		return nil, fmt.Errorf("error parsing parameters: %w", err)
	}

	t, ok := p["type"]
	if !ok {
		return nil, fmt.Errorf("parameter is missing 'type' field")
	}

	typeStr, ok := t.(string)
	if !ok {
		return nil, fmt.Errorf("parameter 'type' field must be a string, got %T", t)
	}

	param, err := ParseParameter(ctx, p, typeStr)
	if err != nil {
		return nil, err
	}

	if err := validateParameter(param); err != nil {

View on GitHub (pinned to 8cc6e09de2)

Solutions

  1. Inspect the wrapped cause in the error chain to find the exact YAML issue
  2. Validate the tools.yaml parameter block against the documented parameter schema
  3. Check indentation and quoting of the failing parameter entry
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at internal/util/parameters/parameters.go:388 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/69f3c5e5b32a834b. Report an issue: GitHub.