npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

eventpulse-mcp

v1.0.0

Published

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

Readme

EventPulse MCP Server

🎉 Hyper-local event-driven marketing campaigns for small businesses using AI

EventPulse is a Model Context Protocol (MCP) server that generates culturally-aware marketing campaigns for festivals and events. Perfect for small businesses looking to engage their local communities with authentic, multilingual content.

🚀 Features

  • 🌍 Multi-language Support: Generate campaigns in Hindi, Gujarati, English, Tamil, Bengali, and Marathi
  • 🎭 Cultural Intelligence: Leverages regional insights and cultural nuances
  • 🎊 Festival-Specific Content: Optimized for Indian festivals and celebrations
  • 🏪 Business-Specific Offers: Tailored promotional content for different business types
  • 📱 Social Media Ready: Content optimized for WhatsApp, Instagram, Facebook, and Twitter
  • ⚡ Real-time Generation: Fast AI-powered campaign creation
  • 🔧 MCP Compatible: Works with any MCP-compatible client (Claude, etc.)

🎊 Supported Festivals

  • 🪔 Diwali
  • 🌈 Holi
  • 🌙 Eid
  • 💃 Navratri
  • 🎗️ Raksha Bandhan
  • 🐘 Ganesh Chaturthi
  • 👫 Karva Chauth
  • 🎄 Christmas

🏪 Supported Business Types

  • 🍬 Sweet Shops
  • 👗 Clothing Stores
  • 🍽️ Restaurants
  • 💎 Jewelry Shops
  • 📱 Electronics Stores
  • 💄 Beauty Salons
  • 🌸 Flower Shops
  • 🎁 Gift Shops

📦 Installation

Prerequisites

  • Node.js 18+
  • npm or yarn
  • OpenAI API key (optional - works with mock data for testing)

Setup

  1. Clone the repository

    git clone <repository-url>
    cd eventpulse-mcp
  2. Install dependencies

    npm install
  3. Configure environment

    cp .env.example .env
    # Edit .env with your OpenAI API key (optional)
  4. Test the installation

    npm run test:manual

🔧 Usage

As MCP Server

  1. Start the MCP server

    npm run mcp
  2. Configure in your MCP client (e.g., Claude Desktop)

    {
      "mcpServers": {
        "eventpulse": {
          "command": "node",
          "args": ["path/to/eventpulse-mcp/src/mcp-server.js"],
          "env": {
            "OPENAI_API_KEY": "your-key-here"
          }
        }
      }
    }

As REST API Server

  1. Start the API server

    npm start
  2. Make requests to the API

    curl -X POST http://localhost:3000/v1/generate-campaign \
      -H "Content-Type: application/json" \
      -d '{
        "business_type": "sweet_shop",
        "event": "diwali",
        "language": "hindi",
        "location": "Mumbai",
        "goal": "increase_sales"
      }'

🛠️ MCP Tools

generate_festival_campaign

Generate a complete marketing campaign for a festival.

Parameters:

  • business_type (required): Type of business
  • event (required): Festival or event name
  • language (required): Content language
  • location (optional): Business location
  • goal (optional): Marketing objective
  • budget (optional): Budget level

Example:

{
  "business_type": "sweet_shop",
  "event": "diwali",
  "language": "hindi",
  "location": "Mumbai",
  "goal": "increase_sales"
}

get_festival_insights

Get cultural insights and best practices for festival marketing.

Parameters:

  • event (required): Festival name
  • region (optional): Regional context

📊 API Endpoints

GET /

Health check and server information

POST /v1/generate-campaign

Generate marketing campaign

GET /docs

API documentation

Example Response

{
  "campaign_id": "ep_1704123456_abc123def",
  "timestamp": "2024-01-01T10:00:00.000Z",
  "campaign_content": {
    "whatsapp_message": "🪔 दीपावली की शुभकामनाएं! Special Diwali offers at our sweet shop! 🍬✨",
    "social_media_posts": [
      "🪔✨ Celebrating the Festival of Lights with traditional sweets and joy! Visit us for authentic Diwali treats. #Diwali #TraditionalSweets",
      "🎊 Special Diwali collection now available! Don't miss our exclusive festive offers. #DiwaliOffers #SweetTreats"
    ],
    "hashtags": ["#Diwali", "#FestivalOfLights", "#TraditionalSweets", "#Mumbai"],
    "promotional_offers": [
      "Special Diwali collection: traditional sweets",
      "Buy 2 get 1 free on selected items",
      "Free gift wrapping with festive packaging"
    ]
  },
  "scheduling_suggestions": {
    "optimal_time": "10:00 AM",
    "campaign_duration": "5-7 days before festival",
    "peak_engagement": "morning and evening hours"
  }
}

🧪 Testing

# Run all tests
npm run test:all

# Test core functionality
npm run test:manual

# Test API server
npm test

# Test MCP functionality
npm run test:mcp

🔧 Development

Project Structure

eventpulse-mcp/
├── src/
│   ├── server.js          # REST API server
│   ├── mcp-server.js      # MCP protocol server
│   ├── campaign-generator.js # Core campaign logic
│   ├── content-enhancer.js   # Content enhancement
│   └── utils.js           # Utility functions
├── data/
│   ├── festivals.json     # Festival data
│   ├── templates.json     # Content templates
│   └── regional-hashtags.json # Hashtag data
├── test/
│   ├── test-manual.js     # Manual functionality tests
│   ├── test-server.js     # API server tests
│   └── test-mcp-simple.js # MCP functionality tests
└── package.json

Adding New Festivals

  1. Add festival data to data/festivals.json
  2. Add templates to data/templates.json
  3. Update validation in src/utils.js
  4. Add test cases

Adding New Languages

  1. Add language templates to data/templates.json
  2. Add cultural context to festival data
  3. Update validation in src/utils.js
  4. Test with sample campaigns

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests
  5. Submit a pull request

📄 License

MIT License - see LICENSE file for details

🆘 Support

  • 📖 Check the /docs endpoint for API documentation
  • 🧪 Run tests to verify functionality
  • 📝 Check logs for debugging information

Made with ❤️ for small businesses and festival celebrations