{"record":{"id":"6e27fb96eea5ad1b","repo":"googleapis/mcp-toolbox","slug":"unsupported-operator-s-valid-operators-are-v","errorCode":null,"errorMessage":"unsupported operator: %s. Valid operators are: %v","messagePattern":"unsupported operator: (.+?)\\. Valid operators are: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/tools/firestore/firestorequerycollection/firestorequerycollection.go","lineNumber":217,"sourceCode":"// FilterConfig represents a filter for the query\ntype FilterConfig struct {\n\tField string      `json:\"field\"`\n\tOp    string      `json:\"op\"`\n\tValue interface{} `json:\"value\"`\n}\n\n// Validate checks if the filter configuration is valid\nfunc (f *FilterConfig) Validate() error {\n\tif f.Field == \"\" {\n\t\treturn fmt.Errorf(\"filter field cannot be empty\")\n\t}\n\n\tif !validOperators[f.Op] {\n\t\tops := make([]string, 0, len(validOperators))\n\t\tfor op := range validOperators {\n\t\t\tops = append(ops, op)\n\t\t}\n\t\treturn fmt.Errorf(errInvalidOperator, f.Op, ops)\n\t}\n\n\tif f.Value == nil {\n\t\treturn fmt.Errorf(errMissingFilterValue, f.Field)\n\t}\n\n\treturn nil\n}\n\n// OrderByConfig represents ordering configuration\ntype OrderByConfig struct {\n\tField     string `json:\"field\"`\n\tDirection string `json:\"direction\"`\n}\n\n// GetDirection returns the Firestore direction constant\nfunc (o *OrderByConfig) GetDirection() firestoreapi.Direction {\n\tif strings.EqualFold(o.Direction, \"DESCENDING\") {","sourceCodeStart":199,"sourceCodeEnd":235,"githubUrl":"https://github.com/googleapis/mcp-toolbox/blob/8cc6e09de2ad7b8bffc77751799585a1401a48eb/internal/tools/firestore/firestorequerycollection/firestorequerycollection.go#L199-L235","documentation":"Filter-validation guard in FilterConfig.Validate: the filter's `op` is not one of the supported Firestore query operators (==, <, <=, >, >=, !=, in, array-contains, array-contains-any); the message lists the accepted set.","triggerScenarios":"Thrown at internal/tools/firestore/firestorequerycollection/firestorequerycollection.go:217 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use one of the operators listed in the error message","Check for typos such as 'equals' instead of '=='"],"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"}