# OneSignal MCP

> OneSignal MCP lets you manage all customer push notifications directly from your AI agent. Send campaigns to segments, schedule messages, track delivery metrics (like open rates and failure reasons), and list specific player IDs—all without touching the OneSignal dashboard.

## Overview
- **Category:** growth-engine
- **Price:** Free
- **Tags:** push-notifications, customer-engagement, in-app-messaging, audience-segmentation, message-automation

## Description

Need to send an urgent announcement or check if a user actually saw that last promotion? This MCP connects your entire customer communication layer through natural conversation. You tell your agent what you need, and it handles the API calls for sending alerts across both mobile and web platforms. Need to target only high-value users who signed up in the last week? Just ask. The agent will manage complex segmentation rules before launching the message. When you're done with the launch, you don't have to leave your workflow just to check metrics; you can fetch detailed reports on delivery status and engagement levels for any campaign. If you prefer a central place to connect all your operational tools, Vinkius brings this MCP alongside thousands of others, giving your agent one command center for everything. It’s about getting immediate answers and executing complex comms strategies without ever opening the OneSignal web interface.

## Tools

### cancel_notification
Stops a scheduled alert from being delivered to users.

### create_notification
Sends an immediate or targeted OneSignal message.

### delete_player
Removes a specific device ID from the user's registered devices.

### get_app
Fetches detailed configuration information for one of your OneSignal apps.

### get_notification
Retrieves the current status and details of a specific notification ID.

### get_outcomes
Pulls overall outcome data for your entire OneSignal application.

### get_player
Retrieves comprehensive details about a specific player device ID.

### list_apps
Generates a list of every configured OneSignal application you have access to.

### list_notifications
Lists all historical notifications that were sent for your app.

### list_players
Provides a list of all registered device IDs currently tracked by OneSignal.

## Prompt Examples

**Prompt:** 
```
Send a push notification to all subscribed users saying 'Flash Sale: 50% off today only!'
```

**Response:** 
```
Notification sent successfully! It is being delivered to the 'Subscribed Users' segment. Notification ID: 493021-abcd-1234.
```

**Prompt:** 
```
Check the delivery status of notification 550e8400-e29b-41d4-a716-446655440000.
```

**Response:** 
```
I've retrieved the metrics. The notification reached 1,250 devices with a 98% success rate. 25 deliveries failed due to unsubscribed users.
```

**Prompt:** 
```
List the last 5 registered devices for our app.
```

**Response:** 
```
I've fetched the latest device registrations. Here are the 5 most recent players, including their device types (iOS/Android) and last active timestamps.
```

## Capabilities

### Launch targeted campaigns
Send push notifications to specific segments or individual device IDs.

### Manage notification schedules
Schedule future messages or instantly cancel notifications that need pulling back.

### Analyze delivery performance
Retrieve metrics and detailed reports on how many users received a message and if it failed, and why.

### Audit user records
List all registered devices or check specific player details to verify an ID is active.

## Use Cases

### The marketing team needs to send an emergency update.
A manager realizes a critical bug is affecting users. Instead of logging into the web portal, they simply prompt their agent: 'Send a message about the outage now.' The agent uses `create_notification` and targets the 'All Users' segment instantly.

### Support needs to prove delivery failure.
A user complains they never got a welcome email. A support specialist asks their agent to check the status of that notification using `get_notification`. The system replies with the exact metrics, confirming if it was sent and where it failed.

### Developer needs to clean up old accounts.
A developer identifies a defunct testing account. They ask their agent to delete that player's record using `delete_player` so the test data doesn't clutter the active user list.

### Product owner wants an infrastructure overview.
The PO needs to know what notification types exist. They prompt: 'List all connected apps and their details.' The agent runs `list_apps` and `get_app`, giving them a full, clean inventory.

## Benefits

- Launch messages instantly: Use the `create_notification` tool to send campaigns or alerts to any defined segment without leaving your chat environment.
- Stop wasted effort: If a promotion needs pulling back, simply ask the agent to execute `cancel_notification`. It handles the scheduling logic immediately.
- Know who saw it: Check delivery status for specific comms using `get_notification` or audit player details with `get_player`, providing immediate accountability.
- Targeting made simple: The MCP allows you to run complex queries, such as listing all registered devices via `list_players`, ensuring your campaigns hit the right people.
- Audit everything: Need a full picture of your comms infrastructure? Use `list_apps` and `get_outcomes` to review every configuration point in one chat session.

## How It Works

The bottom line is: you use natural language prompts to trigger complex communication actions and data retrievals managed by this MCP.

1. Subscribe to this MCP and provide your OneSignal REST API Key and App ID.
2. Optionally, supply a User Auth Key if you need full account control for listing all apps or managing configurations.
3. Start chatting with your AI client. You can then ask the agent to send an alert, check a user's status, or pull delivery reports.

## Frequently Asked Questions

**Can the OneSignal MCP send messages globally?**
Yes, it supports sending alerts to both mobile and web platforms. You only need to specify the target segment or user ID when calling `create_notification`.

**What is the difference between list_players and get_player in OneSignal MCP?**
`list_players` returns a broad inventory of all registered device IDs. If you know the specific ID, use `get_player` to pull detailed metadata for that single player.

**Does this MCP support scheduling future notifications?**
Yes. You can schedule messages using the capabilities exposed through `create_notification`, allowing you to plan campaigns days or weeks ahead of time.

**How do I check if a user was successfully reached?**
You use the agent to fetch specific data by requesting the notification ID with `get_notification`. This gives you real-time status and delivery metrics for accountability.

**Is there a way to mass delete users via OneSignal MCP?**
The toolset provides `delete_player`, which deletes one registered device at a time. You must list the players first using `list_players` and then pass them individually for deletion.