Wraps json as received. The map is copied, so later changes to the caller's map do not reach the model.
json
McpObject.fromJson(Map<String, Object?> json) : _json = _copyMap(json);