PushNotif Official MCP Server
io.github.AarsyDesign/pushnotif-mcpVersion 2.5.0Web Push (VAPID), Android (FCM), iOS (APNs), In-App Popup, Toast & Transactional Email OTP engine.
Status
Responds615 msAnswered our handshake without sign-in.- Last checked
- Nov 14, 2026, 14:35 UTC
- Latency
- 615 ms
- Remotes responding
- 1 of 1
- Sign-in
- No sign-in
- Hosting
- Hosted outside the EU (detected)
- Registry data as of
- Nov 14, 2026, 21:12 UTC
Data from the official MCP Registry, checked by run.zero. How we check
Connect
Streamable HTTP
https://pushnotif.biz.id/mcpResponds615 msNo sign-in
Claude Code
claude mcp add --transport http pushnotif-mcp https://pushnotif.biz.id/mcpClaude Desktop and claude.ai
Settings > Connectors > Add custom connector
Name: pushnotif-mcp
Remote MCP server URL: https://pushnotif.biz.id/mcpCursor
{
"mcpServers": {
"pushnotif-mcp": {
"url": "https://pushnotif.biz.id/mcp"
}
}
}VS Code
code --add-mcp '{"name":"pushnotif-mcp","type":"http","url":"https://pushnotif.biz.id/mcp"}'Built your own server? run.zero hosts MCP servers on European infrastructure.
Tools
19 tools
Read-only | Idempotent | Open world | ||
|---|---|---|---|---|
check_billing_and_qris_statusCheck QRIS top-up order payment status (PENDING or PAID), current workspace credit balance, credit mutation ledger history, and official downloadable PDF invoice URLs. Use this tool to verify whether an order from create_qris_invoice has settled or to audit credit consumption; do not use it to generate a new payment invoice (use create_qris_invoice instead) or view campaign click rates (use get_campaign_analytics instead). Read-only operation requiring PUSHNOTIF_API_KEY with 0 credit cost; pass order_id to inspect a single invoice or omit it to list recent orders and ledger entries. Returns JSON { credits_balance, orders: [{ id, amount_rp, credits_added, status, invoice_pdf_url, created_at }], recent_ledger: [{ id, delta, reason, created_at }] }. | No | Yes | Yes | No |
configure_email_automationConfigure per-app module switches (ON/OFF) for Transactional Email OTP, Automated Payment Webhook Email Receipts, Order Status Emails, and the Web Push Notification collector, plus sender brand name and Reply-To email address. Use this tool to enable or disable individual channels per website; do not use it to send an immediate email or OTP (use send_transactional_email instead). Requires PUSHNOTIF_API_KEY and costs 0 credits. Returns JSON { ok, app_id, push_enabled, email_otp_enabled, email_invoice_enabled, email_status_enabled, email_brand_name, email_reply_to }. | No | No | Yes | No |
configure_inapp_bannerConfigure and publish an on-site In-App Popup or Banner (center modal, top sticky bar, or bottom slide-in toast) rendered inside the website by the PushNotif SDK without requiring browser push permission. Use this tool for visual in-page promos and announcements; do not use it for OS lock-screen notifications (use send_push_notification instead). Prerequisite: call list_apps first to obtain app_id. Requires PUSHNOTIF_API_KEY; saving configuration is idempotent and costs 0 credits, while each live visitor display deducts 1 credit (inapp_trigger controls when the banner fires—such as 'scroll_50' for 50% page scroll or 'event:add_to_cart' for custom DOM events—combined with inapp_freq to cap repeat impressions per visitor). Returns JSON { ok, app_id, inapp_enabled, inapp_style, inapp_trigger, inapp_freq }. | No | No | Yes | No |
configure_payment_webhookGenerate the ready-to-paste Universal Incoming Webhook URL (POST /api/v1/apps/{app_id}/incoming-event) for 9 auto-detected formats (Midtrans, Xendit, Mayar, Lynk.id, Duitku, Tripay, Supabase Database/Auth, Saweria/Trakteer, Shopify, WooCommerce, GitHub, and Custom JSON), or trigger a live test event when simulate_test=true. Use this tool when connecting a payment gateway, Supabase backend, creator tipping page, or e-commerce store to automatically show a Live Activity Toast, broadcast a Web Push, and/or send a transactional receipt email upon settlement; do not use it for RSS blog feeds (use configure_rss_autopush instead) or manual push campaigns (use send_push_notification instead). Prerequisite: call list_apps first to obtain app_id. Requires PUSHNOTIF_API_KEY; generating the webhook URL costs 0 credits, while live or simulated push broadcasts deduct 1 credit per delivered device (toast_only mode costs 0 credits on display). Returns JSON { ok, app_id, mode, webhook_url, supported_platforms, setup_guides, simulation_result }. | No | No | Yes | Yes |
configure_rss_autopushConfigure automated 24/7 RSS, Atom, or XML Sitemap polling for an app_id, or trigger an immediate feed check and push broadcast via dispatch_now=true. Use this tool when a blog, news portal, or store wants newly published URLs automatically broadcast as push notifications; do not use it for manual one-off messages (use send_push_notification instead) or fixed-time calendar campaigns (use schedule_push_notification instead). Prerequisite: call list_apps first to obtain app_id. Requires PUSHNOTIF_API_KEY; feed URLs are validated against SSRF rules, deduplicated by item GUID/URL so each post is sent only once, and deduct 1 credit per delivered subscriber when a new item is broadcast (setting dispatch_now=true immediately fetches and broadcasts the newest feed entry even if rss_enabled=false). Returns JSON { ok, app_id, rss_enabled, rss_feed_url, rss_interval, dispatched_now, latest_item_title }. | No | No | Yes | Yes |
configure_social_toastConfigure the standalone on-site Live Activity Social Proof Toast (corner notification card showing recent subscriber joins, logins, and purchases) and its 3 automated DOM/webhook sensors for an app_id without overwriting the In-App Promo Banner. Use this tool to enable/disable social proof toasts, change visual theme or screen corner, or toggle auto-capture sensors; do not use it for promo popups (use configure_inapp_banner instead). Requires PUSHNOTIF_API_KEY and costs 0 credits. Returns JSON { ok, app_id, toast_enabled, toast_theme, toast_position, toast_action, sensors }. | No | No | Yes | No |
create_appRegister a new website domain or mobile application under the authenticated workspace and generate its unique ECDSA P-256 VAPID keypair and 1-line HTML SDK snippet. Use this tool when adding an additional website or app to an existing account; do not use it to modify an existing app's icon, welcome push, or mobile keys (use update_app_branding instead) or to remove an app (use delete_app instead). Requires PUSHNOTIF_API_KEY, costs 0 credits, and creates a persistent app record where site_url must be a valid HTTPS origin (or http://localhost for local testing). Returns JSON { ok, app: { id, site_name, site_url, vapid_public_key, created_at }, sdk_snippet }. | No | No | No | No |
create_qris_invoiceCreate a prepaid credit top-up invoice payable via Indonesian QRIS (all banks and e-wallets) at a flat rate of Rp 0.20 per credit (Rp 1,000 = 5,000 non-expiring credits). Use this tool when the user wants to purchase additional credits; do not use it to check whether an existing invoice has been paid (use check_billing_and_qris_status instead). Requires PUSHNOTIF_API_KEY, generates a PENDING order valid for 30 minutes at 0 fee, and automatically credits the workspace upon payment webhook confirmation; if both package_id and custom amount_rp are supplied, amount_rp takes precedence (minimum Rp 1,000). Returns JSON { ok, order: { id, amount_rp, credits_added, status, qris_checkout_url, expires_at } }. | No | No | No | Yes |
delete_appPermanently delete a registered application (app_id) along with all of its subscriber device tokens, scheduled campaigns, and delivery history. Use this tool only when a user explicitly asks to remove a duplicate or decommissioned app; do not use it to pause notifications or change app settings (use update_app_branding or configure_inapp_banner instead). Prerequisite: call list_apps first to verify the exact app_id and active subscriber count. Requires PUSHNOTIF_API_KEY, costs 0 credits, and is irreversibly destructive (confirm_delete must be set to true or the call is rejected). Returns JSON { ok, deleted_app_id, deleted_site_name, subscribers_removed }. | Yes | No | Yes | No |
get_campaign_analyticsRetrieve historical push campaign delivery metrics (delivered count, click count, CTR percentage, credits spent) and active scheduled queue items (cmp_sch_xxxx). Use this tool to audit campaign performance or look up scheduled campaign IDs before editing or canceling them with schedule_push_notification; do not use it to inspect QRIS payment invoices (use check_billing_and_qris_status instead) or subscriber device lists (use list_subscribers instead). Read-only operation requiring PUSHNOTIF_API_KEY with 0 credit cost; omitting app_id aggregates metrics across all workspace apps up to limit rows. Returns JSON { summary: { total_sent, total_clicks, avg_ctr_percent }, campaigns: [{ id, app_id, title, delivered_count, click_count, ctr_percent, created_at }], scheduled_queue: [{ id, app_id, title, scheduled_for, recurrence_rule, status }] }. | No | Yes | Yes | No |
list_appsList all registered websites and mobile apps in the workspace with active subscriber counts, current credit balance, and optional framework SDK installation snippets (when include_sdk_framework is set). Use this tool first as a prerequisite to obtain a valid app_id before calling send_push_notification, schedule_push_notification, update_app_branding, delete_app, configure_inapp_banner, or configure_rss_autopush; do not use it to inspect individual subscriber devices (use list_subscribers instead). Read-only operation requiring PUSHNOTIF_API_KEY with 0 credit cost; when include_sdk_framework is passed ('html', 'nextjs', 'laravel', 'wordpress', 'flutter'), each app entry also includes ready-to-paste SDK setup code. Returns JSON { tenant_name, credits_balance, total_apps, apps: [{ id, site_name, site_url, active_subscribers, sdk_guide }] }. | No | Yes | Yes | No |
list_subscribersRetrieve active subscriber device records, assigned segment tags, platform breakdown counts (Web VAPID, Android FCM, iOS APNs), or full CSV/JSON backup export for zero-downtime migration. Use this tool to inspect audience size, platform distribution, export subscriber tokens (export_format="csv" or "json"), or obtain a subscriber_id before calling update_subscriber_tags; do not use it to view campaign click metrics (use get_campaign_analytics instead) or modify/import subscribers (use update_subscriber_tags instead). Read-only operation requiring PUSHNOTIF_API_KEY with 0 credit cost; filter by app_id and optional tag to narrow results. Returns JSON { total_active, platform_breakdown: { web, android_fcm, ios_apns }, subscribers: [{ id, app_id, platform, tags, created_at }], export_data }. | No | Yes | Yes | No |
login_existing_accountAuthenticate an existing PushNotif account using email and password to retrieve its live API key and registered apps, with optional inline profile name or password update (when new_name or new_password is provided). Use this tool for existing users connecting from chat or updating account credentials; do not use it for new signups (use register_new_account instead) or app-level branding (use update_app_branding instead). Requires valid email and password (no prior API key needed), costs 0 credits, and is rate-limited against brute-force attempts; read-only unless new_name or new_password is supplied. Returns JSON { ok, tenant: { id, name, email, api_key, credits }, apps: [{ id, site_name, site_url }], profile_updated }. | No | No | Yes | No |
register_new_accountTwo-step onboarding tool to request a 6-digit email OTP (step 1: omit otp_code) or verify the OTP to create a new PushNotif account with 1,000 free lifetime credits, register the initial website, and return a live API key (step 2: pass otp_code, password, and name). Use this tool only for brand-new user signups; do not use it for existing accounts (use login_existing_account instead) or to add websites to an existing account (use create_app instead). Public endpoint requiring no API key; step 1 is rate-limited to 5 OTPs per 10 minutes per IP (valid 10 minutes), while step 2 irreversibly creates a tenant and ECDSA P-256 VAPID keypair. Returns JSON { ok, step, tenant: { id, name, email, api_key, credits }, app: { id, site_name, site_url, vapid_public_key } }. | No | No | No | Yes |
schedule_push_notificationCreate a new scheduled or recurring push notification campaign, edit an existing queued campaign (via update_campaign_id), or cancel a queued campaign before execution (via cancel_campaign_id). Use this tool for delayed, recurring, or editable future broadcasts; do not use it for immediate sending (use send_push_notification instead) or automated RSS feed polling (use configure_rss_autopush instead). Prerequisite: call list_apps to obtain app_id, or call get_campaign_analytics to obtain an existing cmp_sch_xxxx ID for editing or cancellation. Requires PUSHNOTIF_API_KEY; scheduling, editing, or canceling costs 0 credits up front, and 1 credit per delivered device is deducted only when the schedule fires (mutually exclusive modes: pass cancel_campaign_id to delete, update_campaign_id to modify fields in-place, or neither to create a new schedule). Returns JSON { ok, action, scheduled_campaign: { id, app_id, title, body, scheduled_for, recurrence_rule, status } }. | No | No | No | No |
send_push_notificationBroadcast an immediate push notification across Web Push (VAPID), Android (FCM), and iOS (APNs) to active subscribers of a specific app_id. Use this tool for instant real-time delivery; do not use it for future or recurring broadcasts (use schedule_push_notification instead) or on-site HTML popups (use configure_inapp_banner instead). Prerequisite: call list_apps first to obtain app_id. Requires PUSHNOTIF_API_KEY, deducts 1 credit (Rp 0.20) per successfully delivered device (0 credits charged for 404/410 dead tokens, which are auto-pruned), and is irreversible once dispatched; when segment is set to a custom tag (from update_subscriber_tags) instead of 'all', only subscribers carrying that tag receive the broadcast, and omitting url defaults the tap action to the app's registered site_url. Returns JSON { ok, campaign_id, total_targeted, total_delivered, total_gone_pruned, credits_deducted, credits_remaining }. | No | No | No | Yes |
send_transactional_emailSend a 1-to-1 locked transactional email (6-digit OTP challenge, paid invoice receipt, or order shipping status update) or verify a 6-digit OTP code entered by a user. Use this tool for transactional 1-to-1 emails and managed OTP verification; bulk marketing or promotional blasts are strictly prohibited. Requires PUSHNOTIF_API_KEY; sending an email or OTP deducts 25 credits (Rp 5), while verifying an OTP code (action=verify_otp) costs 0 credits. Returns JSON delivery receipt or OTP verification token. | No | No | No | Yes |
update_app_brandingUpdate an existing application's notification icon URL, automated welcome push message (including drip delay welcome_delay_sec and promo target URL welcome_url), zero-downtime custom VAPID keys (vapid_public_key & vapid_private_key for migrating from OneSignal/LaraPush), and optional native mobile push credentials (Android FCM HTTP v1 service account JSON and iOS APNs .p8 key). Use this tool to configure app-level branding, onboarding welcome alerts, custom VAPID key migration, or native mobile credentials; do not use it to create a new app (use create_app instead) or configure on-site HTML popups (use configure_inapp_banner instead). Prerequisite: call list_apps first to obtain app_id. Requires PUSHNOTIF_API_KEY and idempotently updates only the fields provided at 0 configuration cost (when welcome_enabled=true, each new subscriber welcome push deducts 1 credit; APNs requires apns_key_id, apns_team_id, apns_bundle_id, and apns_p8_key together). Returns JSON { ok, app_id, icon_url, welcome_enabled, welcome_url, welcome_delay_sec, custom_vapid_updated, android_fcm_configured, ios_apns_configured }. | No | No | Yes | No |
update_subscriber_tagsAssign or remove audience segment tags on a subscriber device (subscriber_id), permanently unsubscribe a device (unsubscribe=true), or bulk-import existing Web Push subscribers via CSV or JSON array (import_app_id + import_csv or import_subscribers) at 0 credit cost. Use this tool to manage subscriber segmentation, remove a device, or migrate subscribers from OneSignal/LaraPush/Webpushr; do not use it to list or export subscribers (use list_subscribers instead). Requires PUSHNOTIF_API_KEY and costs 0 credits. Returns JSON { ok, subscriber_id, action, tags, removed, imported, updated }. | No | No | Yes | No |
Details
- Registry status
- Active
- Published
- Oct 25, 2026
- Updated
- Oct 25, 2026
- Categories (suggested)
- Invoicing and accountingCommunicationDeveloper toolsSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
- GDPR
- Not declared