MCP App Store
Productivity
OneSignal icon

OneSignal

by OneSignal

Overview

The OneSignal MCP server gives AI agents direct access to OneSignal’s customer engagement platform. Agents can explore users, segments, messages, templates, and analytics; answer product and campaign questions; troubleshoot delivery and engagement issues; generate insights; and help create personalized omnichannel messaging across push, email, SMS, RCS, in-app messaging, and Live Activities.

Tools

create_alias_by_subscription

ChatGPT
Create or update identity aliases for the user who owns a given subscription. The onesignal_id alias is read-only and must not be included.

create_or_update_alias

ChatGPT
Create or update identity aliases for a user identified by alias. The onesignal_id alias is read-only and must not be included.

create_segment

ChatGPT
Create a new audience segment with filter conditions. Maximum 200 filter entries.

create_subscription

ChatGPT
Create a new subscription and attach it to a user. Set type to the channel ("Email", "SMS", "iOSPush", "AndroidPush", etc.) and token to the email address, E.164 phone number, or push token.

create_template

ChatGPT
Create a new notification template for a OneSignal app.

create_user

ChatGPT
Create a new user in a OneSignal app. Provide an identity (e.g. {"external_id": "user-123"}) so the user can be referenced later by alias. Optionally attach properties (tags, language, country) and subscriptions (email, SMS, or push channels). The identity field is required to prevent orphaned users.

export_audience_activity_csv

ChatGPT
Export audience activity for a notification to CSV. WARNING: Only 1 concurrent export is allowed per account — if a 409 or 429 is returned, a previous export is still running.

export_subscriptions_csv

ChatGPT
Export all subscriptions for a OneSignal app to CSV. WARNING: Only 1 concurrent export is allowed per account — if a 409 or 429 is returned, a previous export is still running.

get_segment

ChatGPT
Retrieve a single audience segment by ID. By default, includes full segment metadata and filters (payload object with id, name, created_at, source, and filters). Set include_segment_detail to false to return only the subscriber count. Note: the API returns 400 for user-based segments (those using custom_event or message_event filters).

get_template

ChatGPT
Retrieve a single notification template by ID.

get_user_identity

ChatGPT
Retrieve all identity aliases associated with a user. Identify the user by alias_label (typically "external_id") and alias_id.

get_user_identity_by_subscription

ChatGPT
Retrieve the identity aliases for the user who owns a given subscription.

list_apps

ChatGPT
List OneSignal apps accessible to the authenticated account.

list_messages

ChatGPT
List push notifications for a OneSignal app. Use limit (default 50, max ~250) and offset for pagination. Avoid large offsets — this endpoint has known performance degradation at high page numbers.

list_segments

ChatGPT
List audience segments for a OneSignal app. Maximum 300 segments per page.

list_templates

ChatGPT
List notification templates for a OneSignal app. Maximum 50 per page.

onesignal_config

ChatGPT
Return the current OneSignal MCP server configuration and connected app details.

onesignal_health

ChatGPT
Check the health status of the OneSignal MCP server.

onesignal_reference_overview

ChatGPT
Return an overview of the OneSignal REST API reference, including available endpoints and rate limits.

send_message

ChatGPT
Send a push notification, email, or SMS via the OneSignal API. TIER 3 — HIGH IMPACT: confirmation is required before sending. Rate limited to 10 requests per minute. The filters array is limited to 200 entries; max 20,000 users per call. For push: set contents. For email: set email_subject + email_body (or use template_id). For SMS: set contents + target_channel = "sms".

start_live_activity

ChatGPT
Start an iOS Live Activity and deliver it to a specific device subscription.

transfer_subscription

ChatGPT
Transfer a subscription to a different user within the same app. Cross-app transfers are not supported. Rate limited to 1 request per second per subscription.

unsubscribe_email

ChatGPT
Unsubscribe an email address using the token from an email unsubscribe link. This endpoint uses token-based auth (no REST API key required).

update_live_activity

ChatGPT
Update or end an active iOS Live Activity.

update_segment

ChatGPT
Update an existing audience segment's name and/or filter conditions. name is always required even if not changing it (max 128 characters). When filters is provided it replaces all existing filters; omit to keep existing filters intact. Maximum 200 filter entries.

update_subscription

ChatGPT
Update an existing subscription (token, enabled status, or test type).

update_subscription_by_token

ChatGPT
Update a subscription identified by its channel type and token. Provide subscription_type and token to identify the subscription, then pass the fields to update in subscription.

update_template

ChatGPT
Update an existing notification template. The name field is required even if you are not changing it.

update_user

ChatGPT
Update an existing user identified by alias. Use properties to set tags, language, or country. Use deltas to increment session counts or append purchase records (these add to existing values rather than overwriting). Returns 202 — the update is processed asynchronously.

view_message

ChatGPT
Retrieve a single notification by ID.

view_outcomes

ChatGPT
Retrieve outcome statistics for a OneSignal app (e.g. click counts, session duration). Note: data retention is approximately 30 days.

view_user

ChatGPT
Retrieve a user and their properties by alias. Use alias_label "external_id" with the user's external ID, or another alias label you have configured.

Capabilities

Writes

App Stats

32

Tools

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily