UNPKG

@_odbo_/calmag-mcp-server

Version:

Model Context Protocol server for Webklex CalMag nutrient calculator

289 lines (288 loc) 10.9 kB
/** * 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 }; }