Used to load OneSignal API credentials from a .env configuration file for secure management of API keys and app IDs.
Referenced as the repository platform where the OneSignal MCP code is hosted and can be cloned from.
Required as the runtime environment for the MCP server, with version 3.7 or higher needed to run the OneSignal integration.
Provides comprehensive tools for managing OneSignal's push notification, email, and SMS services, including creating notifications, managing user devices, segments, templates, and supporting multiple OneSignal applications.
OneSignal MCP Server
A comprehensive Model Context Protocol (MCP) server for interacting with the OneSignal API. This server provides a complete interface for managing push notifications, emails, SMS, users, devices, segments, templates, analytics, and more through OneSignal's REST API.
Overview
This MCP server provides comprehensive access to the OneSignal REST API, offering 57 tools that cover all major OneSignal operations:
🚀 Key Features
- Multi-channel Messaging: Send push notifications, emails, SMS, and transactional messages
- User & Device Management: Complete CRUD operations for users, devices, and subscriptions
- Advanced Segmentation: Create and manage user segments with complex filters
- Template System: Create, update, and manage message templates
- iOS Live Activities: Full support for iOS Live Activities
- Analytics & Export: View outcomes data and export to CSV
- Multi-App Support: Manage multiple OneSignal applications seamlessly
- API Key Management: Create, update, rotate, and delete API keys
- Organization-level Operations: Manage apps across your entire organization
Requirements
- Python 3.7 or higher
python-dotenv
packagerequests
packagemcp
package- OneSignal account with API credentials
Installation
Option 1: Clone from GitHub
Option 2: Install as a Package (Coming Soon)
Configuration
- Create a
.env
file in the root directory with your OneSignal credentials: - Find your OneSignal credentials:
- App ID: Settings > Keys & IDs > OneSignal App ID
- REST API Key: Settings > Keys & IDs > REST API Key
- Organization API Key: Organization Settings > API Keys
Usage
Running the Server
The server will start and register itself with the MCP system, making all 57 tools available for use.
Complete Tools Reference (57 Tools)
📱 App Management (5 tools)
list_apps
- List all configured OneSignal appsadd_app
- Add a new OneSignal app configuration locallyupdate_local_app_config
- Update an existing local app configurationremove_app
- Remove a local OneSignal app configurationswitch_app
- Switch the current app to use for API requests
📨 Messaging (8 tools)
send_push_notification
- Send a push notificationsend_email
- Send an email through OneSignalsend_sms
- Send an SMS/MMS through OneSignalsend_transactional_message
- Send immediate delivery messagesview_messages
- View recent messages sentview_message_details
- Get detailed information about a messageview_message_history
- View message history/recipientscancel_message
- Cancel a scheduled message
📱 Devices/Players (6 tools)
view_devices
- View devices subscribed to your appview_device_details
- Get detailed information about a deviceadd_player
- Add a new player/deviceedit_player
- Edit an existing player/devicedelete_player
- Delete a player/device recordedit_tags_with_external_user_id
- Bulk edit tags by external ID
🎯 Segments (3 tools)
view_segments
- List all segmentscreate_segment
- Create a new segmentdelete_segment
- Delete a segment
📄 Templates (6 tools)
view_templates
- List all templatesview_template_details
- Get template detailscreate_template
- Create a new templateupdate_template
- Update an existing templatedelete_template
- Delete a templatecopy_template_to_app
- Copy template to another app
🏢 Apps (6 tools)
view_app_details
- Get details about configured appview_apps
- List all organization appscreate_app
- Create a new OneSignal applicationupdate_app
- Update an existing applicationview_app_api_keys
- View API keys for an appcreate_app_api_key
- Create a new API key
🔑 API Key Management (3 tools)
delete_app_api_key
- Delete an API keyupdate_app_api_key
- Update an API keyrotate_app_api_key
- Rotate an API key
👤 Users (6 tools)
create_user
- Create a new userview_user
- View user detailsupdate_user
- Update user informationdelete_user
- Delete a userview_user_identity
- Get user identity informationview_user_identity_by_subscription
- Get identity by subscription
🏷️ Aliases (3 tools)
create_or_update_alias
- Create or update user aliasdelete_alias
- Delete a user aliascreate_alias_by_subscription
- Create alias by subscription ID
📬 Subscriptions (5 tools)
create_subscription
- Create a new subscriptionupdate_subscription
- Update a subscriptiondelete_subscription
- Delete a subscriptiontransfer_subscription
- Transfer subscription between usersunsubscribe_email
- Unsubscribe using email token
🎯 Live Activities (3 tools)
start_live_activity
- Start iOS Live Activityupdate_live_activity
- Update iOS Live Activityend_live_activity
- End iOS Live Activity
📊 Analytics & Export (3 tools)
view_outcomes
- View outcomes/conversion dataexport_players_csv
- Export player data to CSVexport_messages_csv
- Export messages to CSV
Usage Examples
Multi-Channel Messaging
User and Device Management
iOS Live Activities
Analytics and Export
Testing
The server includes a comprehensive test suite. To run tests:
Error Handling
The server provides consistent error handling:
- All errors are returned in a standardized format
- Detailed error messages help identify issues
- Automatic retry logic for transient failures
- Proper authentication error messages
Rate Limiting
OneSignal enforces rate limits on API requests:
- Standard limit: 10 requests per second
- Bulk operations: May have lower limits
- The server includes guidance on handling rate limits
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgements
- OneSignal for their excellent notification service
- The MCP community for the Model Context Protocol
- All contributors to this project
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A Model Context Protocol server that wraps the OneSignal REST API, enabling management of push notifications, emails, SMS, user devices, and segments across multiple OneSignal applications.
Related MCP Servers
- AsecurityFlicenseAqualityA Model Context Protocol server implementation that provides endpoints for wallet-based authentication, cluster management, and name registration services.Last updated -1
- -securityAlicense-qualityA server that implements the Model Context Protocol, providing a standardized way to connect AI models to different data sources and tools.Last updated -49MIT License
- -securityAlicense-qualityA Model Context Protocol server that allows interaction with RSS feeds, enabling users to import subscriptions via OPML files, fetch and update articles automatically, and filter content by source and status.Last updated -9MIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that connects to AppSignal, allowing users to fetch, list, and analyze incident information from their AppSignal monitoring.Last updated -313MIT License