{"record":{"id":"623943d89d832ebe","repo":"googleapis/mcp-toolbox","slug":"invalid-or-missing-s-parameter","errorCode":null,"errorMessage":"invalid or missing '%s' parameter","messagePattern":"invalid or missing '(.+?)' parameter","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/tools/firestore/firestorequerycollection/firestorequerycollection.go","lineNumber":306,"sourceCode":"}\n\n// queryParameters holds all parsed query parameters\ntype queryParameters struct {\n\tCollectionPath string\n\tFilters        []FilterConfig\n\tOrderBy        *OrderByConfig\n\tLimit          int\n\tAnalyzeQuery   bool\n}\n\n// parseQueryParameters extracts and validates parameters from the input\nfunc (t Tool) parseQueryParameters(params parameters.ParamValues) (*queryParameters, error) {\n\tmapParams := params.AsMap()\n\n\t// Get collection path\n\tcollectionPath, ok := mapParams[collectionPathKey].(string)\n\tif !ok || collectionPath == \"\" {\n\t\treturn nil, fmt.Errorf(errMissingCollectionPath, collectionPathKey)\n\t}\n\n\t// Validate collection path\n\tif err := fsUtil.ValidateCollectionPath(collectionPath); err != nil {\n\t\treturn nil, fmt.Errorf(\"invalid collection path: %w\", err)\n\t}\n\n\tresult := &queryParameters{\n\t\tCollectionPath: collectionPath,\n\t\tLimit:          defaultLimit,\n\t\tAnalyzeQuery:   defaultAnalyze,\n\t}\n\n\t// Parse filters\n\tif filtersRaw, ok := mapParams[filtersKey]; ok && filtersRaw != nil {\n\t\tfilters, err := t.parseFilters(filtersRaw)\n\t\tif err != nil {\n\t\t\treturn nil, err","sourceCodeStart":288,"sourceCodeEnd":324,"githubUrl":"https://github.com/googleapis/mcp-toolbox/blob/8cc6e09de2ad7b8bffc77751799585a1401a48eb/internal/tools/firestore/firestorequerycollection/firestorequerycollection.go#L288-L324","documentation":"Parameter-parsing guard in parseQueryParameters: the named parameter (e.g. collection_path) is missing from the invocation or is not a string, so the target collection cannot be determined.","triggerScenarios":"Thrown at internal/tools/firestore/firestorequerycollection/firestorequerycollection.go:306 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass the parameter as a non-empty string","Check the parameter name spelling against the tool's manifest"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8cc6e09de2ad7b8bffc77751799585a1401a48eb","analyzedAt":"2026-09-05T01:10:36.887Z","contentChangedAt":"2026-09-05T01:10:36.887Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}