Skip to main content
Glama
README.md
# πŸ”” PushNotif MCP Server (`pushnotif-mcp-server`)

[![Listed on mcpservers.org](https://mcpservers.org/badge.svg)](https://mcpservers.org/servers/aarsydesign/pushnotif-mcp)
[![AllMCPs Verified](https://allmcps.com/api/badge/pushnotif-official-mcp-server?metric=upvotes)](https://allmcps.com/mcp/pushnotif-official-mcp-server?verify=5d7c8dc2-8647-4fdb-ad21-2415caabb320)
[![AgentShield Security](https://merx.help/badge/A+.svg)](https://merx.help/shield)

[![MCP Protocol](https://img.shields.io/badge/MCP-2024--11--05-2563eb?style=flat-square)](https://modelcontextprotocol.io)
[![Node.js](https://img.shields.io/badge/Node.js-%3E%3D18-10b981?style=flat-square)](https://nodejs.org)
[![License: MIT](https://img.shields.io/badge/License-MIT-f59e0b?style=flat-square)](LICENSE)

Official open-source **Model Context Protocol (MCP) Server** implementation for **[PushNotif.biz.id](https://pushnotif.biz.id)** β€” allowing AI coding assistants (**Claude Desktop, Claude Code, Cursor, Windsurf, Cline, and Glama**) to register accounts, generate SDK snippets, broadcast Web Push (VAPID) & Mobile Push (Android FCM / iOS APNs), configure In-App Popup Banners, Social Proof Toasts, Transactional Email OTP, and manage QRIS credits.

---

## πŸ“¦ Repository Architecture (Open-Source MCP Server Implementation)

This repository contains the complete, runnable MCP Server implementation built on `@modelcontextprotocol/sdk`:

- **`src/index.js`** β€” Full Stdio MCP Server implementation (`@modelcontextprotocol/sdk`) exposing all **19 PushNotif tools** (`ListToolsRequestSchema` & `CallToolRequestSchema`).
- **`Dockerfile`** β€” Containerized build for Glama.ai automated inspection and local Docker execution.
- **`package.json`** β€” Node.js ES Module package (`bin: pushnotif-mcp`).
- **`glama.json` & `smithery.yaml`** β€” Registry metadata manifests.

---

## πŸš€ Quick Start (Local Stdio MCP Server)

### Option 1: Run via Node.js / `npx` (Stdio)

Clone and install dependencies:
```bash
git clone https://github.com/AarsyDesign/pushnotif-mcp.git
cd pushnotif-mcp
npm install
```

Add to your `claude_desktop_config.json` or `.cursor/mcp.json`:
```json
{
  "mcpServers": {
    "pushnotif": {
      "command": "node",
      "args": ["/absolute/path/to/pushnotif-mcp/src/index.js"],
      "env": {
        "PUSHNOTIF_API_KEY": "pn_live_YOUR_API_KEY_HERE"
      }
    }
  }
}
```

### Option 2: Run via Docker (Stdio)

```bash
docker build -t pushnotif-mcp .
docker run -i --rm -e PUSHNOTIF_API_KEY=pn_live_YOUR_API_KEY_HERE pushnotif-mcp
```

### Option 3: Direct Streamable HTTP Endpoint

You can also connect directly via Streamable HTTP at `https://pushnotif.biz.id/mcp` with `Authorization: Bearer pn_live_YOUR_API_KEY_HERE`.

---

## πŸ› οΈ Available Tools (19 Full-Lifecycle Tools)

### Account Onboarding (No API Key Required)
1. **`register_new_account`** β€” Two-step onboarding to request a 6-digit email OTP or verify the OTP to create a new PushNotif account (+1,000 Free Quota Credits forever), register the first website, and return `api_key` (`pn_live_...`).
2. **`login_existing_account`** β€” Authenticate an existing account with email & password to retrieve its `api_key` and optionally update workspace profile name or password.

### Workspace, Web Push, Mobile Push, In-App & Transactional Email Automation
3. **`list_apps`** β€” List all registered websites/apps, active subscriber counts, credit balance, and optional ready-to-paste SDK snippets (`html`, `nextjs`, `laravel`, `wordpress`, `flutter`).
4. **`create_app`** β€” Register a new website or mobile app and generate VAPID keys.
5. **`update_app_branding`** β€” Update notification icon URL, automatic Welcome Push message, or upload Firebase FCM Service Account JSON / Apple APNs `.p8` credentials.
6. **`delete_app`** β€” Permanently delete a registered application along with its subscribers, campaigns, and logs.
7. **`send_push_notification`** β€” Broadcast instant Web Push (VAPID), Android (FCM), and iOS (APNs) notifications.
8. **`schedule_push_notification`** β€” Schedule one-time or recurring (`daily` / `weekly`) push campaigns.
9. **`configure_inapp_banner`** β€” Configure In-App Popup Modals, Top Sticky Bars, or Bottom Slide Cards.
10. **`configure_social_toast`** β€” Configure standalone on-site Live Activity Social Proof Toast popups.
11. **`configure_rss_autopush`** β€” Configure automated 24/7 RSS / Sitemap / Atom feed monitoring and auto-push.
12. **`configure_payment_webhook`** β€” Generate incoming webhook URLs for Midtrans, Xendit, Mayar, Lynk.id, Duitku, Tripay, WooCommerce, and GitHub, or trigger a live test event.
13. **`configure_email_automation`** β€” Configure per-app switches for Automated Transactional Emails (Order Paid Receipt, Welcome Email, Broadcast Mirror) and custom Reply-To.
14. **`send_transactional_email`** β€” Send 1-to-1 transactional emails (`otp_code`, `payment_invoice`, `order_status`, `security_alert`) via PushNotif's anti-phishing locked templates.
15. **`list_subscribers`** β€” View active subscriber device distribution and segment tags.
16. **`update_subscriber_tags`** β€” Assign, replace, or remove audience segment tags on subscriber devices.
17. **`get_campaign_analytics`** β€” Inspect campaign delivery, click-through rate (CTR), and conversion metrics.
18. **`create_qris_invoice`** β€” Generate a live QRIS payment invoice (starting from Rp 1,000 / 5,000 Credits).
19. **`check_billing_and_qris_status`** β€” Check real-time QRIS payment status (`PENDING` / `PAID`), credit ledger history, and downloadable PDF invoices.

---

## πŸ“„ License

MIT License β€” Copyright (c) 2026 PushNotif.biz.id (`AarsyDesign`)

TDQS

A4.4/5.0

Scored across 16 tools

Disambiguation4/5

Each tool targets a distinct resource+action and the descriptions include explicit 'do not use X, use Y instead' cross-references, making boundaries unusually clear. The only friction is that a few tools are multi-modal (schedule_push_notification creates, edits, and cancels campaigns; configure_rss_autopush and configure_payment_webhook take dispatch_now/simulate_test flags), so an agent must parse parameters to know which operation it is invoking.

Naming Consistency5/5

All 16 tools are snake_case and begin with a clear action verb followed by the resource (list_apps, create_app, update_app_branding, send_push_notification, check_billing_and_qris_status). The get_/list_ split reflects genuine read-shape differences rather than convention drift, and nothing mixes casing or verb style.

Tool Count4/5

16 tools is at the upper-but-reasonable end for a server spanning auth, app CRUD, push delivery, scheduling, in-app banners, RSS, payment webhooks, subscribers, analytics, and billing. Each tool maps to a real workflow step, though compressing the three schedule modes (create/edit/cancel) into one tool hints the surface could be tightened further.

Completeness4/5

Coverage is strong: full app lifecycle (list/create/update branding/delete), subscriber read+tag+unsubscribe, push send/schedule/analytics, and billing invoice+status. Minor gaps remainβ€”there is no way to rename an app or change its site_url outside branding, no per-campaign detail fetch, and no API-key rotation or logout operation.

Maintenance

ActivityMaintained
ResponsivenessLimited data