UNPKG

eventpulse-mcp

Version:

EventPulse MCP Server - Hyper-local event-driven marketing campaigns for small businesses

162 lines (126 loc) • 6.02 kB
#!/usr/bin/env node // Demo script showing actual EventPulse MCP server responses const campaignGenerator = require('./src/campaign-generator'); const { validateRequest, formatResponse } = require('./src/utils'); async function showDemo() { console.log('šŸŽ‰ EventPulse MCP Server - Live Demo Output\n'); console.log('This shows exactly what your running server produces:\n'); console.log('=' .repeat(60)); // Demo 1: Diwali Sweet Shop Campaign (Hindi) console.log('\nšŸŖ” DEMO 1: Diwali Sweet Shop Campaign (Hindi)'); console.log('=' .repeat(60)); const diwaliRequest = { business_type: 'sweet_shop', event: 'diwali', language: 'hindi', location: 'Mumbai', goal: 'increase_sales' }; console.log('šŸ“ API Request to: POST /v1/generate-campaign'); console.log(JSON.stringify(diwaliRequest, null, 2)); try { const validation = validateRequest(diwaliRequest); console.log('\nāœ… Validation:', validation.valid ? 'PASSED' : 'FAILED'); const campaign = await campaignGenerator.generateCampaign(diwaliRequest); const response = formatResponse(campaign, diwaliRequest); console.log('\nšŸ“¤ API Response:'); console.log('šŸ†” Campaign ID:', response.campaign_id); console.log('ā° Generated at:', response.timestamp); console.log('\nšŸ“± WhatsApp Message:'); console.log(' "' + response.campaign_content.whatsapp_message + '"'); console.log('\nšŸ“± Social Media Posts:'); response.campaign_content.social_media_posts.forEach((post, i) => { console.log(` ${i + 1}. "${post}"`); }); console.log('\nšŸ·ļø Hashtags (' + response.campaign_content.hashtags.length + ' total):'); console.log(' ' + response.campaign_content.hashtags.join(' ')); console.log('\nšŸŽ Promotional Offers:'); response.campaign_content.promotional_offers.forEach((offer, i) => { console.log(` ${i + 1}. ${offer}`); }); console.log('\nšŸ“… Scheduling Suggestions:'); console.log(' Optimal time:', response.scheduling_suggestions.optimal_time); console.log(' Campaign duration:', response.scheduling_suggestions.campaign_duration); console.log(' Peak engagement:', response.scheduling_suggestions.peak_engagement); } catch (error) { console.log('āŒ Error:', error.message); } // Demo 2: Navratri Clothing Store (Gujarati) console.log('\n\nšŸ’ƒ DEMO 2: Navratri Clothing Store Campaign (Gujarati)'); console.log('=' .repeat(60)); const navratriRequest = { business_type: 'clothing_store', event: 'navratri', language: 'gujarati', location: 'Ahmedabad', goal: 'brand_awareness' }; console.log('šŸ“ API Request:'); console.log(JSON.stringify(navratriRequest, null, 2)); try { const campaign = await campaignGenerator.generateCampaign(navratriRequest); const response = formatResponse(campaign, navratriRequest); console.log('\nšŸ“¤ API Response:'); console.log('šŸ“± WhatsApp Message:'); console.log(' "' + response.campaign_content.whatsapp_message + '"'); console.log('\nšŸ·ļø Hashtags:'); console.log(' ' + response.campaign_content.hashtags.slice(0, 10).join(' ')); console.log('\nšŸŽ Sample Offers:'); response.campaign_content.promotional_offers.slice(0, 2).forEach((offer, i) => { console.log(` ${i + 1}. ${offer}`); }); } catch (error) { console.log('āŒ Error:', error.message); } // Demo 3: Eid Restaurant (English) console.log('\n\nšŸŒ™ DEMO 3: Eid Restaurant Campaign (English)'); console.log('=' .repeat(60)); const eidRequest = { business_type: 'restaurant', event: 'eid', language: 'english', location: 'Delhi', goal: 'customer_engagement' }; try { const campaign = await campaignGenerator.generateCampaign(eidRequest); const response = formatResponse(campaign, eidRequest); console.log('šŸ“± WhatsApp Message:'); console.log(' "' + response.campaign_content.whatsapp_message + '"'); console.log('\nšŸ“± Social Media Post:'); console.log(' "' + response.campaign_content.social_media_posts[0] + '"'); } catch (error) { console.log('āŒ Error:', error.message); } // Demo 4: Error Handling console.log('\n\nāš ļø DEMO 4: Error Handling'); console.log('=' .repeat(60)); const invalidRequest = { business_type: 'invalid_business', event: 'invalid_event', language: 'invalid_language' }; console.log('šŸ“ Invalid API Request:'); console.log(JSON.stringify(invalidRequest, null, 2)); const validation = validateRequest(invalidRequest); console.log('\nšŸ“¤ API Response:'); console.log('āœ… Validation:', validation.valid ? 'PASSED' : 'FAILED'); console.log('šŸ“ Error message:', validation.message); console.log('šŸ”¢ HTTP Status: 400 Bad Request'); // Summary console.log('\n\nšŸŽÆ DEMO SUMMARY'); console.log('=' .repeat(60)); console.log('āœ… Multi-language support: Hindi, Gujarati, English'); console.log('āœ… Festival-specific content: Diwali, Navratri, Eid'); console.log('āœ… Business-specific offers: Sweet shop, Clothing, Restaurant'); console.log('āœ… Cultural intelligence: Regional hashtags and greetings'); console.log('āœ… Error handling: Proper validation and error messages'); console.log('āœ… Complete campaigns: WhatsApp + Social + Hashtags + Offers'); console.log('\nšŸš€ Your EventPulse MCP Server is generating authentic,'); console.log(' culturally-aware marketing campaigns successfully!'); console.log('\nšŸ“– Server running at: http://localhost:3001'); console.log('šŸ“– API docs at: http://localhost:3001/docs'); console.log('šŸŽÆ Campaign endpoint: http://localhost:3001/v1/generate-campaign'); } // Run demo showDemo().catch(console.error);