eventpulse-mcp
Version:
EventPulse MCP Server - Hyper-local event-driven marketing campaigns for small businesses
162 lines (126 loc) ⢠6.02 kB
JavaScript
// 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);