GitHub Works with Claude, Cursor & ChatGPT

Unified web and app push. Five SDKs. One MCP server.

Native SDKs for Web, iOS, Android, Flutter, and React Native — one subscriber profile across every surface. A first-party MCP server and open-source Agent Skills let Claude, Cursor, and your own agents build segments, run campaigns, and pull analytics. Wire it once; retention ships without another ticket.

Built on infrastructure by:

Apple Google Cloud AWS
.mcp.json
// Claude Code, Cursor, Windsurf — any MCP client
{ "mcpServers": { "pushengage": {
    "command": "npx",
    "args": ["@pushengage/mcp"],
    "env": { "PUSHENGAGE_API_KEY": "pe_…" } } } }

// then just ask:
> Send a price-drop push to VIPs who browsed
  the Aeron Chair this week.

Output · campaign created by your assistant

yourstore.comnow

Price drop: Aeron Chair

Now $849 — the price you waited for.

// one snippet on your site — then the JS API
_peq.push(['add-to-segment', ['vip']]);

// fire the trigger — the campaign handles the rest
_peq.push(['send-trigger-event', {
  campaign: 'cart_abandoned',
  data: { product: 'Aeron Chair', value: 1041 },
}]);

Output · delivered to 4,182 subscribers

yourstore.comnow

Still thinking it over?

Your Aeron Chair ships free tonight.

// once, at launch
PushEngage.setAppId(key: "YOUR_APP_ID")
PushEngage.requestNotificationPermission { granted, _ in }

// anywhere in your app
PushEngage.addSegments(["vip"])
PushEngage.sendTriggerEvent(triggerCampaign: cartAbandoned)

Output · delivered on lock screen

YourStorenow

Your cart’s waiting

Aeron Chair — 20% off for 1 more hour.

// once, in your Application class
PushEngage.setAppId(this, "YOUR_APP_ID")
PushEngage.requestNotificationPermission()

// anywhere in your app
PushEngage.addSegment("vip")
PushEngage.sendTriggerEvent(cartAbandoned)

Output · delivered in the tray

YourStorenow

Your cart’s waiting

Aeron Chair — 20% off for 1 more hour.

// once, at startup
await PushEngage.setAppId('YOUR_APP_ID');
await PushEngage.requestNotificationPermission();

// anywhere in your app
await PushEngage.addSegment('vip');
await PushEngage.sendTriggerEvent(cartAbandoned);

Output · delivered on both stores

YourStorenow

Your cart’s waiting

Aeron Chair — 20% off for 1 more hour.

import PushEngage from '@pushengage/react-native-sdk';

PushEngage.setAppId('YOUR_APP_ID');
await PushEngage.requestNotificationPermission();

PushEngage.addSegment('vip');
PushEngage.sendTriggerEvent(cartAbandoned);

Output · one codebase, both platforms

YourStorenow

Your cart’s waiting

Aeron Chair — 20% off for 1 more hour.

Retention teams at brands shipping at scale — retail · Direct-to-Consumer · travel · gaming

Domino's TUI HP AJIO Shop LC Charlton Athletic Harvard Business Review FunnelKit Domino's TUI HP AJIO Shop LC Charlton Athletic Harvard Business Review FunnelKit

PushEngage MCPNEW

Connect once. Then just ask for the campaign.

The PushEngage MCP server gives Claude, Cursor, and any MCP-compatible agent real hands on your account: segments, campaigns, A/B tests, analytics. You describe the outcome. It does the clicking.

1

Install with one command

Add the command below to your MCP client’s server config — Claude Desktop, Claude Code, or Cursor. Node.js 18+ is all it needs.

npx -y @pushengage/mcp
2

Sign in once in your browser

First run opens a secure PushEngage sign-in. No API keys to paste — your token never travels in a URL and stays in a local file only your user can read.

How sign-in works
3

Ask for your first campaign

Try: “Send tonight’s flash-sale push to the VIP segment.” Works in Claude, Claude Code, Cursor, Windsurf, and any MCP client.

Read the MCP docs
Try asking

Works with your favorite AI assistant

Anthropic Antigravity Cline Continue Cursor OpenAI Windsurf Anthropic Antigravity Cline Continue Cursor OpenAI Windsurf

Channels

One subscriber profile. Four delivery surfaces.

Register a subscriber once, then deliver over web push, native app push, WhatsApp, and on-site chat — same segments, same triggers, same analytics. No per-channel rebuild.

Native SDKs

A composable platform — every capability behind an API.

Five native SDKs — web, iOS, Android, Flutter, React Native — plus the REST API, webhooks, and server-side triggers. Wire events once; campaign logic stays server-side config, out of your codebase.

Quickstart

Five steps from install to your first conversion event.

Every SDK follows the same shape: install, initialize with your App ID, identify the subscriber, wire your triggers, measure revenue. One afternoon, every platform.

Platform features

Every campaign type, triggerable from your code.

Everything the dashboard does — campaign types, rich media, goal tracking, campaign analytics — is the same engine your SDK events and API calls drive. Wire the trigger; everything downstream is config, not code.

Scale your procurement team will sign

100B+

Notifications delivered across 150 countries at 99.99% uptime. General Data Protection Regulation and California Consumer Privacy Act compliant. Built for the security review you’ll have to pass.

5
native SDKs · one subscriber profile
109M+
monthly active users
150+
countries reached
99.99%
platform uptime Service Level Agreement

Built for your stack

Native integrations for the stack you already run.

First-party plugins and apps — not middleware. Events flow from your platform into PushEngage workflows with no glue code to maintain.

Chrome extension

One-off sends, no integration ticket.

The Chrome extension is the zero-code lane for the rest of your team: it reads the page, drafts the notification, pre-fills tracking, and ships the send — no API call, no deploy, nothing in your ticket queue.

Free plan · No credit card · Live in minutes

Ship your first push today. Scale when it pays.

Every plan includes all five SDKs, the REST API, and the full workflow builder. Integrate this afternoon, watch the first recovered conversion land this week.