I think the idea is fine. I'd prefer slightly different naming however. ParameterMetadataInterpreter or ParameterMetadataRecognizer. To me, provider is something else entirely.