Omnichannel MCP
by FenrirDWolf
README.md
# Omnichannel MCP: The "One-to-Many" Merchant Rail
## What We Built
The Omnichannel MCP (Model Context Protocol) is an enterprise-grade AI dispatch system. It transforms a single natural language prompt into a synchronized distribution of localized marketing content across six channels (Email, WhatsApp, Push, Glance, PayU, Instagram). The system utilizes an MCP server to orchestrate LLM-powered generation (yielding 72 unique, culturally localized variants per deal) and dispatches them to a real-time Next.js Dashboard.
## Key Architecture Decisions
1. **Dual-Transport Synchronization**: Standard webhooks face payload size limits. We decoupled data transfer from signaling by persisting full heavy payloads (including rich Apple-grade HTML) to a **Redis Audit Trail**, then firing a lightweight "ping" to the UI. This ensures 100% atomic delivery and bypasses serverless 4KB limits.
2. **Resilience Engine (Exponential Backoff)**: To handle serverless cold-starts and network instability, the dispatcher uses strict retry logic with exponential backoff (2^n * 1000ms). Delivery attempts and recoveries are fully visible in the dashboard terminal.
3. **Zero-Config "Demo Mode"**: To ensure a frictionless evaluation experience, the MCP server gracefully falls back to a mocked "Zomato Gold" intelligence layer if API keys are omitted.
## How to Run It Locally
The system is optimized for a zero-friction setup. You do not need to clone the repository or install dependencies.
### Option A: Claude Desktop (Recommended)
1. **Update Config**
Open your `claude_desktop_config.json` and add the specific server configuration:
```json
{
"mcpServers": {
"grabon-omnichannel": {
"command": "npx",
"args": ["-y", "@santhoshramesh/grabon-mcp@1.1.5"],
"env": {
"GEMINI_API_KEY": "",
"UPSTASH_REDIS_REST_URL": "",
"UPSTASH_REDIS_REST_TOKEN": ""
}
}
}
}
```
*(Leaving the keys blank safely triggers Demo Mode for instant evaluation).*
2. **Open the Dashboard**
Navigate to the Live Dashboard: **[omnichannel-mcp-dashboard.vercel.app](https://omnichannel-mcp-dashboard.vercel.app/)**
3. **Test the Integration**
In Claude Desktop, prompt: *"Distribute the Zomato Gold deal."*
Watch the dashboard populate with real-time payload deliveries and variant matrices.
### Option B: Terminal / CLI Testing
If you prefer to test outside of Claude, you can instantly boot the server using the official MCP Inspector. Run this `npx` command in any terminal:
```bash
npx -y @modelcontextprotocol/inspector npx -y @santhoshramesh/grabon-mcp@1.1.5
```
*(Note: To test with live payload persistence, append your `GEMINI_API_KEY` and `UPSTASH` keys as environment variables before the command).*
## What I'd Do Differently With More Time
If given more time to scale this beyond an MVP, I would focus on:
1. **True Message Queuing**: Replace the lightweight `ntfy.sh` signaling with a production-grade broker like Apache Kafka or AWS SQS to handle millions of concurrent webhook dispatches with guaranteed ordering.
2. **End-to-End Testing**: Implement Cypress or Playwright test suites to automate the verification of all 72 variant UI renders across different viewports.
3. **A/B Test Analytics Integration**: Build an analytics pipeline to track the actual conversion rates of the "Urgency" vs. "Value" variants and feed that data back into the LLM context for continuous optimization.
4. **Authentication & Multi-Tenancy**: Wrap the dashboard in NextAuth to allow different marketing teams (e.g., Food vs. Travel) to have scoped, secure views of their specific deal distributions.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues