(value *string)
| 430 | return out |
| 431 | case "array": |
| 432 | items := mapFromAny(schema["items"]) |
| 433 | if len(items) == 0 { |
| 434 | return value |
| 435 | } |
| 436 | switch typed := value.(type) { |
| 437 | case []any: |
| 438 | out := make([]any, 0, len(typed)) |
| 439 | for _, item := range typed { |
| 440 | out = append(out, coerceMCPValueForSchema(item, items, root)) |