tl;dr
Each engine reports a self-test status to the vehicle it's attached to. "MCF" is one of the possible statuses and indicates that the engine controller has detected a serious - but not catastrophic - failure within the engine.
Details
The Space Shuttle Main Engines (SSMEs) aka RS-25s transmit data to the vehicle they are attached to using a format called the Vehicle Data Table (VDT). One word in the VDT is the Engine Status Word (ESW), a 16 bit word containing much important information about the engine packed into it.
This graphic shows what information is contained in the ESW. I added a green arrow showing the MCF in the Engine Self-Test Status bits.
The SSME controller (SSMEC) sets the Self-Test Status based on the results of extensive tests that it continuously performs. The three levels of the Self-Test Status have the following meanings
- Engine OK: No failures detected
- Major Component Failure: Failure detected in a redundant component or other failure that does not necessarily preclude continued engine operation
- Engine Limit Exceeded: A potentially catastrophic failure has been detected and the engine should be shut down ASAP. (On shuttle, there was a crew station switch that controlled whether or not the engine would shut down; I do not know how this works on the Space Launch System (SLS))
Examples of failures that set MCF:
- Valve servoactuator command / position miscompare
- Fuel flowmeter sensor qualification
- Redundant computer or electronics unit failure
- Receipt of certain commands
- Failure of purge/ancillary system components
- Pneumatic shutdown entered
- Chamber pressure or fuel density sensor qualification
- Limit monitor sensor reasonableness failure
- Command voting channel failure
- Thrust Limiting mode entered
So just knowing that the engine set an MCF does not tell much about what failed. However, another word in the VDT provides information about the specifics of the failure that set the MCF.
- 7 bits of this 16-bit word encoded an octal number corresponding to the particular type of device that failed (for example, 015 indicated a servoactuator failure).
- The other 9 bits encoded an octal number corresponding to the specific subcomponent or failure cause (for example, an 001 appended to the previous 015 indicated Channel A on the Main Fuel Valve).
- The first octal number was called the Failure ID (FID) and the second one was called the Delimiter (DLM), although in practice the combination (for example 015 001) was referred to as a FID.
It would be very interesting to know what FID(s) accompanied the MCF on the SLS green run. I hope this information is forthcoming.
Additional notes as I learn stuff:
- This NASA article says the shutdown was initiated by onboard software.
- In this Space News article a manager mentions a "failure ID" but does not say what it is, and from the quote, may be confused about the difference between a MCF and a FID.
- All technical info in this answer is derived from shuttle sources and may not be completely relevant to the SLS.
Sources: