Home / MCP / OneSignal MCP Server
Provides access to OneSignal REST API for apps, users, devices, messaging, templates, analytics, and more via MCP.
Configuration
View docs{
"mcpServers": {
"onesignal_mcp_http": {
"url": "https://mcp.onesignal.example/mcp"
}
}
}You can operate OneSignal through this MCP server, which exposes a comprehensive set of tools to manage apps, users, devices, messaging, templates, analytics, and more. With a single MCP server you can perform multi-channel communications, organize segments, handle API keys, and export data, all from an integrated, programmatic interface.
To use this MCP server, start the local Python process and connect to it with an MCP client. The server presents 57 tools you can call to manage OneSignal resources and actions, such as creating apps, sending push notifications, managing users and devices, building segments, handling templates, and exporting analytics.
Prerequisites you need before installing this MCP server:
Option 1 — Clone and install dependencies directly in your environment:
# Clone the repository
git clone https://github.com/weirdbrains/onesignal-mcp.git
cd onesignal-mcp
# Install dependencies
pip install -r requirements.txtOption 2 — Install as a package (when available):
pip install onesignal-mcpPrepare your environment file with credentials (see Configuration for details). After installation, you can start the server with the Python script provided in the project.
Configuration, security, and troubleshooting details are provided to help you run reliably in development or production. You will set up environment variables, start the server, and verify that all 57 tools are available for use.
Note the server will register itself with the MCP system when you start it, making all tools available to your MCP client.
Create a .env file in your project root with your OneSignal credentials. You can configure multiple app profiles for multi-app deployments.
# Default app credentials (optional)
ONESIGNAL_APP_ID=your_app_id_here
ONESIGNAL_API_KEY=your_rest_api_key_here
# Organization-level API key (for org-wide operations)
ONESIGNAL_ORG_API_KEY=your_organization_api_key_here
# Optional: Multiple app configurations
ONESIGNAL_MANDIBLE_APP_ID=mandible_app_id
ONESIGNAL_MANDIBLE_API_KEY=mandible_api_key
ONESIGNAL_WEIRDBRAINS_APP_ID=weirdbrains_app_id
ONESIGNAL_WEIRDBRAINS_API_KEY=weirdbrains_api_key
# Logging level
LOG_LEVEL=INFORun the server using the Python runtime. This starts the MCP server and exposes all configured tools for use by your MCP client.
python onesignal_server.pyProtect your API credentials and environment keys. Use secure storage for your .env file and restrict access to systems running the MCP server. Rotate keys periodically and apply principle of least privilege to your client applications.
When you build client code, reference the tools by their names, such as: view_user, create_app, send_push_notification, start_live_activity, and view_outcomes. Use the available methods to orchestrate multi-channel messages, manage users and devices, build segments, and export data for reporting.
If you encounter authentication errors, verify that ONESIGNAL_APP_ID and ONESIGNAL_API_KEY are correctly set in your environment. For connection or rate-limiting issues, review your request patterns and respect standard MCP rate limits. Check that the server process is running and that the .env file is accessible to the running process.
List all configured OneSignal apps
Add a new OneSignal app configuration locally
Update an existing local app configuration
Remove a local OneSignal app configuration
Switch the current app used for API requests
Send a push notification
Send an email through OneSignal
Send an SMS/MMS through OneSignal
Send immediate delivery messages
View recent messages sent
Get detailed information about a message
View message history/recipients
Cancel a scheduled message
View devices subscribed to your app
Get detailed information about a device
Add a new player/device
Edit an existing player/device
Delete a player/device record
Bulk edit tags by external ID
List all segments
Create a new segment
Delete a segment
List all templates
Get template details
Create a new template
Update an existing template
Delete a template
Copy template to another app
Get details about configured app
List all organization apps
Create a new OneSignal application
Update an existing application
View API keys for an app
Create a new API key
Delete an API key
Update an API key
Rotate an API key
Create a new user
View user details
Update user information
Delete a user
Get user identity information
Get identity by subscription
Create or update user alias
Delete a user alias
Create alias by subscription ID
Create a new subscription
Update a subscription
Delete a subscription
Transfer subscription between users
Unsubscribe using email token
Start iOS Live Activity
Update iOS Live Activity
End iOS Live Activity
View outcomes/conversion data
Export player data to CSV
Export messages to CSV