@_odbo_/calmag-mcp-server
Version:
Model Context Protocol server for Webklex CalMag nutrient calculator
289 lines (288 loc) • 10.9 kB
JavaScript
/**
* Complete fertilizer database based on CalMag PHP configuration
*/
/**
* Calculate Ca/Mg from CaO/MgO values
* CaO to Ca: multiply by 0.7143
* MgO to Mg: multiply by 0.6032
*/
function convertOxides(elements) {
const converted = { ...elements };
if (elements.calcium?.CaO) {
converted.calcium = elements.calcium.CaO * 0.7143;
}
if (elements.magnesium?.MgO) {
converted.magnesium = elements.magnesium.MgO * 0.6032;
}
// Handle nitrogen arrays
if (elements.nitrogen?.NO3 && elements.nitrogen?.NH4) {
converted.nitrogen = elements.nitrogen.NO3 + elements.nitrogen.NH4;
}
else if (elements.nitrogen?.NO3) {
converted.nitrogen = elements.nitrogen.NO3;
}
else if (elements.nitrogen?.organic && elements.nitrogen?.NO3) {
converted.nitrogen = elements.nitrogen.organic + elements.nitrogen.NO3;
}
return converted;
}
export function getCompleteFertilizerDatabase() {
const brands = [
{
key: 'canna',
name: 'Canna',
website: { de: 'https://www.canna-de.com/', us: 'https://www.canna-uk.com/' },
products: [
{
key: 'calmag_agent',
name: 'CalMag Agent',
brandName: 'Canna',
fullName: 'Canna - CalMag Agent',
elements: convertOxides({ calcium: 5.6, magnesium: 1.7, nitrogen: 3.28 }),
density: 1.258,
ph: 7.0
}
]
},
{
key: 'biobizz',
name: 'BioBizz',
website: { de: 'https://www.biobizz.com/de/', us: 'https://www.biobizz.com/' },
products: [
{
key: 'calmag',
name: 'CalMag',
brandName: 'BioBizz',
fullName: 'BioBizz - CalMag',
elements: convertOxides({ calcium: { CaO: 4.2 }, magnesium: { MgO: 1.7 } }),
density: 1.087,
ph: 7.0
}
]
},
{
key: 'terra_aquatica',
name: 'Terra Aquatica',
website: { de: 'https://www.terraaquatica.com/de/', us: 'https://www.terraaquatica.com/' },
products: [
{
key: 'calcium_magnesium_supplement',
name: 'Calcium-Magnesium Supplement',
brandName: 'Terra Aquatica',
fullName: 'Terra Aquatica - Calcium-Magnesium Supplement',
elements: convertOxides({ calcium: 4.0, magnesium: 1.0 }),
density: 1.0,
ph: 7.0
}
]
},
{
key: 'atami',
name: 'Atami',
website: { de: 'https://atami.com/de/', us: 'https://atami.com/' },
products: [
{
key: 'calmag',
name: 'ATA CalMag',
brandName: 'Atami',
fullName: 'Atami - ATA CalMag',
elements: convertOxides({ calcium: { CaO: 6.8 }, magnesium: { MgO: 2.5 }, nitrogen: 5.8, iron: 0.03 }),
density: 1.0,
ph: 7.0
}
]
},
{
key: 'plagron',
name: 'Plagron',
website: { de: 'https://plagron.com/de/hobby', us: 'https://plagron.com/en/hobby' },
products: [
{
key: 'calmag_pro',
name: 'CalMag Pro',
brandName: 'Plagron',
fullName: 'Plagron - CalMag Pro',
elements: convertOxides({ calcium: { CaO: 5.7 }, magnesium: { MgO: 3.3 }, nitrogen: 5.1 }),
density: 1.0,
ph: 7.0
}
]
},
{
key: 'mills_nutrients',
name: 'Mills Nutrients',
website: { de: 'https://mills-nutrients.com/', us: 'https://mills-nutrients.com/' },
products: [
{
key: 'calmag',
name: 'CalMag',
brandName: 'Mills Nutrients',
fullName: 'Mills Nutrients - CalMag',
elements: convertOxides({ calcium: 13.1, magnesium: 2.5, nitrogen: 8.3 }),
density: 1.0,
ph: 7.0
}
]
},
{
key: '420flow',
name: '420Flow',
website: { de: 'https://420flow.de/', us: 'https://420flow.de/' },
products: [
{
key: 'calmag',
name: 'Das Bio CalMag',
brandName: '420Flow',
fullName: '420Flow - Das Bio CalMag',
elements: convertOxides({ calcium: { CaO: 2.0 }, magnesium: { MgO: 1.41 }, humic_acids: 0.018 }),
density: 1.0,
ph: 7.0
}
]
},
{
key: 'xpert',
name: 'Xpert',
website: { de: 'https://www.xpert-fertilizer.com/', us: 'https://www.xpert-fertilizer.com/' },
products: [
{
key: 'calmag_amino',
name: 'Cal-Mag Amino',
brandName: 'Xpert',
fullName: 'Xpert - Cal-Mag Amino',
elements: convertOxides({ calcium: 3.4, magnesium: 1.1, nitrogen: { NO3: 3.8, NH4: 0.2 }, iron: 0.1, manganese: 0.05, zinc: 0.05 }),
density: 1.0,
ph: 7.0
}
]
},
{
key: 'aptus',
name: 'Aptus Plant Tech',
website: { de: 'https://aptus-holland.com/de/', us: 'https://aptus-holland.com/' },
products: [
{
key: 'camg_boost',
name: 'CaMg-BOOST',
brandName: 'Aptus Plant Tech',
fullName: 'Aptus Plant Tech - CaMg-BOOST',
elements: convertOxides({ calcium: { CaO: 9.0 }, magnesium: { MgO: 2.0 }, nitrogen: { NO3: 7.0, organic: 3.0 } }),
density: 1.1,
ph: 7.0
}
]
},
{
key: 'fmax',
name: 'F-Max',
website: { de: 'https://f-max.eu/?lang=de', us: 'https://f-max.eu/?lang=en' },
products: [
{
key: 'calmag',
name: 'CalMag',
brandName: 'F-Max',
fullName: 'F-Max - CalMag',
elements: convertOxides({ calcium: { CaO: 5.0 }, magnesium: { MgO: 1.5 }, nitrogen: { NO3: 5.0 }, iron: { Fe: 0.015 }, boron: { B: 0.002 } }),
density: 1.0,
ph: 7.0
}
]
},
{
key: 'advanced_nutrients',
name: 'Advanced Nutrients',
website: { de: 'https://www.advancednutrients.com/de-de/', us: 'https://www.advancednutrients.com/' },
products: [
{
key: 'sensi_cal_mag_xtra',
name: 'Sensi Cal Mag Xtra®',
brandName: 'Advanced Nutrients',
fullName: 'Advanced Nutrients - Sensi Cal Mag Xtra®',
elements: convertOxides({ calcium: 3.2, magnesium: 1.1, nitrogen: { NO3: 4.0 }, iron: 0.09, manganese: 0.05, zinc: 0.05 }),
density: 1.0,
ph: 7.0
},
{
key: 'og_sensi_cal_mag_xtra',
name: 'OG Organics™ Sensi Cal Mag Xtra®',
brandName: 'Advanced Nutrients',
fullName: 'Advanced Nutrients - OG Organics™ Sensi Cal Mag Xtra®',
elements: convertOxides({ calcium: 1.5, magnesium: 1.1, sulfur: 1.8, iron: 0.1, zinc: 0.07 }),
density: 1.0,
ph: 7.0
}
]
},
{
key: 'athena',
name: 'Athena',
website: { de: 'https://www.athenaag.com/', us: 'https://www.athenaag.com/' },
products: [
{
key: 'camg',
name: 'CaMg',
brandName: 'Athena',
fullName: 'Athena - CaMg',
elements: convertOxides({ calcium: 2.1, magnesium: 1.1, nitrogen: 2.0, iron: 0.06 }),
density: 1.0,
ph: 7.0
}
]
},
{
key: 'hy_pro',
name: 'Hy-Pro',
website: { de: 'https://hy-pro.nl/de/', us: 'https://www.hy-pro.nl/' },
products: [
{
key: 'calmag',
name: 'Cal-Mag',
brandName: 'Hy-Pro',
fullName: 'Hy-Pro - Cal-Mag',
elements: convertOxides({ calcium: 2.1978, magnesium: 0.4917, nitrogen: { NO3: 9.3105 } }),
density: 1.05,
ph: 7.0
}
]
},
{
key: 'organicsnutrients',
name: 'Organics Nutrients',
website: { de: 'https://www.organicsnutrients.com/de/', us: 'https://www.organicsnutrients.com/en/' },
products: [
{
key: 'calmag',
name: 'CalMag Alga',
brandName: 'Organics Nutrients',
fullName: 'Organics Nutrients - CalMag Alga',
elements: convertOxides({ calcium: 80.0 * 0.40, magnesium: 12.0 * 0.288 }),
density: 1.0,
ph: 7.0
}
]
},
{
key: 'homegrow24',
name: 'Homegrow24',
website: { de: 'https://homegrow24.store', us: 'https://homegrow24.store' },
products: [
{
key: 'calcium_magnesium_supplement',
name: 'CALMAG',
brandName: 'Homegrow24',
fullName: 'Homegrow24 - CALMAG',
elements: convertOxides({ calcium: { CaO: 4.0 }, magnesium: { MgO: 1.0 }, nitrogen: { NO3: 2.36, NH4: 0.14 } }),
density: 1.0,
ph: 7.0
}
]
}
];
// Flatten all products for easy access
const fertilizers = brands.flatMap(brand => brand.products);
return {
brands,
fertilizers,
totalCount: fertilizers.length
};
}