googleapis/mcp-toolbox · error
timestamp value must be a string
Error message
timestamp value must be a string
What it means
Type-check guard in JSONToFirestoreValue for timestampValue: the value is not a string, so it cannot be parsed as an RFC3339 timestamp.
Source
Thrown at internal/tools/firestore/util/converter.go:92
return float64(num), nil
}
return nil, fmt.Errorf("invalid double value: %v", val)
case "bytesValue":
// Decode base64 string to bytes
if str, ok := val.(string); ok {
return base64.StdEncoding.DecodeString(str)
}
return nil, fmt.Errorf("bytes value must be a base64 encoded string")
case "timestampValue":
// Parse timestamp
if str, ok := val.(string); ok {
t, err := time.Parse(time.RFC3339Nano, str)
if err != nil {
return nil, fmt.Errorf("invalid timestamp format: %w", err)
}
return t, nil
}
return nil, fmt.Errorf("timestamp value must be a string")
case "geoPointValue":
// Convert to LatLng
if geoMap, ok := val.(map[string]any); ok {
lat, latOk := geoMap["latitude"].(float64)
lng, lngOk := geoMap["longitude"].(float64)
if latOk && lngOk {
return &latlng.LatLng{
Latitude: lat,
Longitude: lng,
}, nil
}
}
return nil, fmt.Errorf("invalid geopoint value format")
case "arrayValue":
// Convert array
if arrayMap, ok := val.(map[string]any); ok {
if values, ok := arrayMap["values"].([]any); ok {
result := make([]any, len(values))View on GitHub (pinned to 8cc6e09de2)
Solutions
- Send the timestamp as an RFC3339-formatted string
- Use a different value tag if the value is numeric or boolean
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at internal/tools/firestore/util/converter.go:92 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/6ba2632778e0dbaf.
Report an issue: GitHub.