Add the following to your sms_def.mof file to get the McAfee information into your WMI:
//-----------------------------
//McAfee definition files
//-----------------------------
#pragma namespace("\\\\.\\root\\cimv2"
#pragma deleteclass("McAfee", NOFAIL)
[DYNPROPS]
class McAfee
{
[key] string KeyName="";
string szProductVer;
string szVirDefVer;
string szEngineVer;
string szVirDefDate;
};
////////
// Declare the instance
////////
[DYNPROPS]
instance of McAfee
{
KeyName="McAfee";
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Network Associates\\TVD\\VirusScan Enterprise\\CurrentVersion|szProductVer"

,
Dynamic, Provider("RegPropProv"

] szProductVer;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Network Associates\\TVD\\Shared Components\\VirusScan Engine\\4.0.xx|szVirDefVer"

,
Dynamic, Provider("RegPropProv"

] szVirDefVer;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Network Associates\\TVD\\Shared Components\\VirusScan Engine\\4.0.xx|szEngineVer"

,
Dynamic, Provider("RegPropProv"

] szEngineVer;
[PropertyContext("local|HKEY_LOCAL_MACHINE\\SOFTWARE\\Network Associates\\TVD\\Shared Components\\VirusScan Engine\\4.0.xx|szVirDefDate"

,
Dynamic, Provider("RegPropProv"

] szVirDefDate;
};
////////
// Change to the CIMV2\SMS Namespace and declare the Reporting Class
////////
#pragma namespace("\\\\.\\root\\cimv2\\SMS"
[SMS_Report(TRUE),
SMS_Group_Name("McAfee Virus Scan"

,
SMS_Class_ID("MICROSOFT|McAfee|1.0"

]
class McAfee : SMS_Class_Template
{
[SMS_Report(TRUE),key]
string KeyName;
[SMS_Report(TRUE)]
string szProductVer;
[SMS_Report(TRUE)]
string szVirDefVer;
[SMS_Report(TRUE)]
string szEngineVer;
[SMS_Report(TRUE)]
string szVirDefDate;
};
The keys may be different based on the version of McAfee you're running. You'll need to compile the MOF before verifying that data is on your WMI.
Now it's just a matter of getting the information from the WMI to the SQL table(s)...