googleapis/mcp-toolbox · error
invalid geopoint value format
Error message
invalid geopoint value format
What it means
Shape guard in JSONToFirestoreValue for geoPointValue: the value is not a map containing numeric `latitude` and `longitude` fields, so a LatLng cannot be constructed.
Source
Thrown at internal/tools/firestore/util/converter.go:105
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))
for i, item := range values {
converted, err := JSONToFirestoreValue(item, client)
if err != nil {
return nil, fmt.Errorf("array item %d: %w", i, err)
}
result[i] = converted
}
return result, nil
}
}
return nil, fmt.Errorf("invalid array value format")
case "mapValue":
// Convert mapView on GitHub (pinned to 8cc6e09de2)
Solutions
- Send geopoints as {"latitude": <float>, "longitude": <float>}
- Ensure both coordinates are JSON numbers, not strings
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at internal/tools/firestore/util/converter.go:105 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/622385a74d2dcd9e.
Report an issue: GitHub.