I think MDCFilter should simply refuse to start if either MDCKey or value are missing. It seems more coherent with what other components do when mandatory properties are missing.
As attested by the following unit test, when your patch is applied, in the absence of the "value" property and no MDC value for the specified key, MDCFilter filter matches null values which is quite unexpected.