
PushEngage
io.github.awesomemotivePublished by GitHub account awesomemotivev1.0.0Updated Oct 24, 2026
Send push notifications, build audiences, and view campaign analytics from PushEngage.
The publisher's own server: TileSet
Overview
Connects an AI assistant to a PushEngage account so it can send and schedule web push notifications, build audiences, and read campaign analytics.
- What you can do
- Log in through the browser, check auth status, log out, list sites and pick the current site
- Read and update site settings, campaign defaults (UTM, fallback, expiry) and service worker settings
- List and create segments, audience groups and custom subscriber attributes
- List drip, triggered, RSS and workflow campaigns, with optional analytics, and list chat widgets
- Send or schedule notifications (now, one-shot, recurring) and run A/B tests with automatic winner roll-out
- Read lifetime analytics totals and per-day/week/month timeseries of subscribers, sends, views, clicks, CTR and unsubscribes
- When to use it
- Useful when you manage a PushEngage site and want to draft, schedule or A/B test push notifications, define targeting audiences, or pull subscriber and click performance without opening the dashboard.
- Requirements
- A PushEngage account (free or paid) with at least one site, Node.js 18 or newer to run the npm package via npx, and an MCP-capable client. Browser-based login on first run; optional PE_MCP_CLIENT_NAME and PE_MCP_CONFIG_PATH environment variables.
Installation
In SourceWeft
- Open PushEngage in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@pushengage/mcp
Manage your PushEngage account from any AI assistant, in plain language.
PushEngage is a push notification platform for web push, mobile app push, WhatsApp, and on-site chat widgets, used to grow subscribers and recover revenue (cart abandonment, price drops, back-in-stock, and more).
This package is a Model Context Protocol (MCP) server. It connects MCP-capable assistants such as Claude Desktop, Claude Code, and Cursor to your PushEngage account so you can send and schedule notifications, run A/B tests, build audiences, inspect analytics, and manage site settings just by asking, without leaving your chat.
You log in once through your browser; the assistant then acts on your behalf against whichever PushEngage site you select.
Contents
- What you can do
- Requirements
- Install
- First run: logging in
- Tools
- Configuration
- Security and token storage
- Troubleshooting
- License
What you can do
Once connected, just describe what you want. A few examples:
Send and schedule
- "Send a notification titled 'Sale ends tonight', message 'Last call, 50% off', linking to https://example.com/sale."
- "Schedule that for 9 AM in each subscriber's local timezone."
- "Set up a recurring digest every Monday and Thursday at 8 AM through the end of the month."
- "Run an A/B test of two headlines and auto-roll-out the winner by click rate."
Target the right people
- "Create a segment for visitors of /pricing."
- "Build an audience of gold-plan customers in the US and send only to them."
Understand performance
- "How many subscribers do I have, and what was my click rate over the last 30 days?"
- "List my active drip campaigns with their sent, seen, and clicked stats."
Configure a site
- "Set my default notification expiry to 7 days."
- "Change my site timezone to Asia/Kolkata and turn on geolocation."
Requirements
- A PushEngage account (free or paid) with at least one site.
- Node.js 18 or newer (the assistant runs the server via
npx). - An MCP-capable client (Claude Desktop, Claude Code, Cursor, or any other).
Install
Add the server to your client's MCP config. No global install is needed; npx fetches it on demand.
Claude Desktop (one-click bundle)
The easiest path on Claude Desktop is the MCP Bundle:
- Download the latest
pushengage-mcp-<version>.mcpbfile from the GitHub releases page. - Open it with Claude Desktop (double-click it, or drag it onto the window) and click Install.
Everything is bundled — no JSON editing needed. The install dialog optionally lets you set the label shown on the PushEngage authorize screen and a custom token file path (for running multiple accounts).
Claude Desktop (manual config)
Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or the equivalent on your platform:
Restart Claude Desktop. The "pushengage" server should appear in your tool list.
Cursor
Edit ~/.cursor/mcp.json:
Other MCP clients
Any client that speaks MCP over stdio works. Configure it to run the command npx -y @pushengage/mcp.
First run: logging in
Authentication is browser-based, so your credentials never touch the assistant.
- Ask: "Log me into PushEngage." The server opens a browser tab to the PushEngage authorize page.
- Click Authorize. The tab confirms success and an access token is saved locally.
- Ask: "Show my PushEngage sites," then "Use site 12345" to pick the site to work with. The selection is remembered across restarts.
Every site-scoped tool acts on this current site unless you pass an explicit site_id. When the token expires you will see an AUTH_EXPIRED message; just ask to log in again.
Tools
All site-scoped tools default to the current site.
Authentication and sites
Site settings
Audiences
Campaigns and automations
Chat widgets
Analytics
Sending notifications
Configuration
No configuration is required — the server talks to PushEngage's production API out of the box. These environment variables are available for less common setups:
Running multiple PushEngage accounts side by side
Register the server under two different names, each with its own PE_MCP_CONFIG_PATH so the tokens don't collide:
Ask the assistant to log in under each server name separately; each authorizes against whichever PushEngage account you choose in the browser.
Security and token storage
- Login is browser-based. The assistant never sees your PushEngage password.
- The dashboard sends the token to the server as a POST request, so it never appears in a URL, browser history, or access log.
- The token is stored at
~/.pushengage/mcp.jsonwith0600permissions (readable only by you). Its expiry is set by PushEngage and is shown bypushengage_auth_status. - To revoke it, run
pushengage_auth_logoutor log out of all sessions in PushEngage under Settings → Security.
Troubleshooting
The server won't connect at all ("Connection closed")
If npx -y @pushengage/mcp runs fine when you type it directly in a terminal, but your client (Claude Desktop, Cursor, etc.) shows the server as disconnected or logs something like MCP error -32000: Connection closed, this is almost always a PATH problem, not a bug in the server.
These clients are launched from your Dock/Finder, not from a terminal, so they never load your shell's startup files (.zshrc, .zprofile, etc). If Node was installed via a version manager (nvm, fnm, volta, ...), those tools only add node/npx to PATH from inside those startup files — so the client can't find npx at all, the server process never starts, and you get a generic connection error instead of a clear "command not found."
Fix: point the client at the absolute path to npx (this skips the PATH lookup for finding it) and also pass that same folder as PATH in env (so npx's own #!/usr/bin/env node shebang can find node when it re-execs). Run which npx in your terminal to get the path, then use it in your client's config:
Restart the client after editing. If which npx instead prints something under /usr/local/bin or /opt/homebrew/bin, your Node install isn't version-manager-based and this likely isn't your issue — check the client's own MCP logs for the actual error instead.
Other errors
AUTH_EXPIRED— your token expired. Ask the assistant to log you in again.NO_SITE_SELECTED— callpushengage_list_sitesand then ask to use one of the returned sites before using a site-scoped tool.- Browser doesn't open — this happens in headless or remote (e.g. SSH) sessions. The authorize URL is printed to the terminal running the server; open it manually.
- Something else — every error the server returns starts with a
[CODE]tag and a plain-language explanation; share that with support if you need help.
License
Source: README.md at commit fe25725
Tools
0Version history
1- v1.0.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts