googleapis/mcp-toolbox · error
array item %d: %w
Error message
array item %d: %w
What it means
Recursive wrap in JSONToFirestoreValue for arrayValue: converting one element of the array failed; the index and the wrapped error identify the offending element and its specific problem.
Source
Thrown at internal/tools/firestore/util/converter.go:114
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 map
if mapMap, ok := val.(map[string]any); ok {
if fields, ok := mapMap["fields"].(map[string]any); ok {
result := make(map[string]any)
for k, v := range fields {
converted, err := JSONToFirestoreValue(v, client)
if err != nil {
return nil, fmt.Errorf("map field %q: %w", k, err)
}
result[k] = convertedView on GitHub (pinned to 8cc6e09de2)
Solutions
- Fix the array element named by the index according to the wrapped error
- Ensure every element carries a valid Firestore value tag
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at internal/tools/firestore/util/converter.go:114 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/fb00d41747788798.
Report an issue: GitHub.