palette-usage-guide.js•4.31 kB
#!/usr/bin/env node
// Comprehensive demonstration of all get_color_palette features
console.log('🎨 Complete Guide to Enhanced get_color_palette Tool\n');
console.log('===================================================\n');
console.log(
'The enhanced get_color_palette tool now supports multiple ways to generate palettes:\n',
);
console.log('1️⃣ PREDEFINED THEMES');
console.log('====================');
console.log(
'Available themes: warm, cool, earth, ocean, autumn, spring, summer, winter, pastel, vibrant, monochrome, sunset, forest\n',
);
console.log('Examples:');
console.log('• { "theme": "summer", "palette_size": 3 }');
console.log('• { "theme": "winter", "palette_size": 5 }');
console.log('• { "theme": "vibrant", "palette_size": 4 }\n');
console.log('2️⃣ HARMONY-BASED PALETTES');
console.log('==========================');
console.log('Generate palettes based on color theory using a base color + harmony rule.\n');
console.log('Available harmony rules:');
console.log('• complementary: Base color + opposite color (2 colors)');
console.log('• analogous: Base color + adjacent colors (3 colors)');
console.log('• triadic: Base color + two equidistant colors (3 colors)');
console.log('• split-complementary: Base color + two colors adjacent to complement (3 colors)\n');
console.log('Examples:');
console.log('• { "theme": "#FF0000", "harmony": "complementary", "palette_size": 2 }');
console.log('• { "theme": "#0000FF", "harmony": "triadic", "palette_size": 3 }');
console.log('• { "theme": "#FF8000", "harmony": "split-complementary", "palette_size": 3 }\n');
console.log('3️⃣ CUSTOM COLOR PALETTES');
console.log('=========================');
console.log('Provide your own list of hex colors as comma-separated values.\n');
console.log('Examples:');
console.log('• { "theme": "#FF0000,#00FF00,#0000FF", "palette_size": 3 }');
console.log('• { "theme": "#FF6B35,#F7931E,#FFD700,#C23B23", "palette_size": 4 }\n');
console.log('4️⃣ ERROR HANDLING');
console.log('==================');
console.log('The tool now provides helpful error messages for invalid inputs:\n');
console.log('• Unknown theme: Lists all available themes');
console.log('• Invalid hex colors: Clear format guidance');
console.log('• Invalid harmony rules: Shows available options\n');
console.log('5️⃣ IMPROVEMENTS IMPLEMENTED');
console.log('============================');
console.log(
'✅ Added 7 new predefined themes (summer, winter, pastel, vibrant, monochrome, sunset, forest)',
);
console.log(
'✅ Implemented color harmony generation (complementary, analogous, triadic, split-complementary)',
);
console.log('✅ Added support for custom hex color palettes');
console.log('✅ Eliminated silent fallback - now shows proper error messages');
console.log('✅ Added ink deduplication to prevent same ink appearing multiple times');
console.log('✅ Added RGB ↔ HSL color space conversion functions');
console.log('✅ Improved tool description and parameter documentation\n');
console.log('6️⃣ USAGE EXAMPLES FOR TESTING');
console.log('===============================');
const examples = [
{
description: 'New summer theme',
args: { theme: 'summer', palette_size: 3 },
},
{
description: 'Monochrome theme (grayscale)',
args: { theme: 'monochrome', palette_size: 4 },
},
{
description: 'Complementary harmony from red',
args: { theme: '#FF0000', harmony: 'complementary', palette_size: 2 },
},
{
description: 'Triadic harmony from blue',
args: { theme: '#0000FF', harmony: 'triadic', palette_size: 3 },
},
{
description: 'Custom orange palette',
args: { theme: '#FF6B35,#F7931E,#FFD700', palette_size: 3 },
},
{
description: 'Error test - invalid theme',
args: { theme: 'invalidtheme', palette_size: 3 },
},
];
console.log('Copy these JSON arguments to test with your MCP client:\n');
examples.forEach((example, index) => {
console.log(`${index + 1}. ${example.description}:`);
console.log(` ${JSON.stringify(example.args)}\n`);
});
console.log('🎉 All features are working correctly!');
console.log('\nThe tool is now much more powerful and user-friendly, with proper');
console.log('error handling and extensive palette generation options.');