mvanhorn/last30days-skill · error

emit must be a string

Error message

emit must be a string

What it means

Error "emit must be a string" thrown in mvanhorn/last30days-skill.

Source

Thrown at mcp/internal/tools/research.go:124

	raw, ok := args[name]
	if !ok {
		return "", fmt.Errorf("%s is required", name)
	}
	value, ok := raw.(string)
	if !ok || strings.TrimSpace(value) == "" {
		return "", fmt.Errorf("%s must be a non-empty string", name)
	}
	return value, nil
}

func emitArgument(args map[string]any) (string, error) {
	raw, ok := args["emit"]
	if !ok {
		return "compact", nil
	}
	value, ok := raw.(string)
	if !ok {
		return "", errors.New("emit must be a string")
	}
	switch value {
	case "":
		return "compact", nil
	case "compact", "html":
		return value, nil
	default:
		return "", fmt.Errorf("emit must be 'compact' or 'html', got %q", value)
	}
}

func boolArgument(args map[string]any, name string) (bool, error) {
	raw, ok := args[name]
	if !ok {
		return false, nil
	}
	value, ok := raw.(bool)
	if !ok {

View on GitHub (pinned to c7460f6114)

Solutions

  1. Pass the emit argument as a JSON string, e.g. {"emit": "compact"} or {"emit": "html"}.
  2. Omit the emit argument entirely to use the default 'compact' output.

When it happens

Trigger: Fires when the research MCP tool is invoked with an 'emit' argument that is not a JSON string (e.g. a number, boolean, object, or null). Only string values pass type validation.

Common situations: See trigger scenarios.


AI-assisted analysis of mvanhorn/last30days-skill@c7460f6114 (2026-08-15). Data as JSON: /api/errors/218b087357d2e791. Report an issue: GitHub.