OneSignal Cursor Plugin
OneSignal workflows for Cursor. This plugin packages:
- The hosted OneSignal MCP server.
- OneSignal skills for messages, segments, templates, Journeys, custom events, and mobile SDK setup.
- A setup skill for Cursor/MCP authentication.
- Safety rules for sends, writes, production apps, and secrets.
- Commands for setup, test notification planning, and delivery debugging.
Requirements
- Cursor with plugin support.
- A OneSignal app.
- A OneSignal REST API key for that app.
This first version uses API-key authentication. OAuth can be added later after the OneSignal MCP OAuth route is verified end to end in Cursor.
Configure Authentication
Set the REST API key in the environment before opening Cursor:
export ONESIGNAL_REST_API_KEY=replace-with-your-rest-api-key
Do not commit real API keys. Do not paste real keys into chat.
The plugin MCP config sends the key as an api_key header to:
https://mcp.onesignal.com/mcp
Local Install for Testing
Symlink this repo into Cursor's local plugin folder:
mkdir -p ~/.cursor/plugins/local
ln -s /path/to/onesignal-cursor-plugin ~/.cursor/plugins/local/onesignal
Then restart Cursor or run Developer: Reload Window.
Verify:
- Cursor sees the OneSignal plugin.
- Cursor lists the OneSignal MCP server under MCP settings.
- Read-only tools such as
onesignal_health,onesignal_config, oronesignal_reference_overviewwork. - Domain skills appear and trigger for OneSignal setup, messaging, segments, templates, Journeys, custom events, and mobile SDK questions.
Validate Before Publishing
Run:
npm run validate
The validator checks:
.cursor-plugin/plugin.jsonmcp.json- relative component paths
- skill/rule/command frontmatter
- absence of committed REST API key values
Included Skills
onesignal-setuponesignal-messagesonesignal-segmentsonesignal-templatesonesignal-journeysonesignal-custom-eventsonesignal-mobile-sdk-setup
Included Commands
setup-onesignalsend-onesignal-test-notificationdebug-onesignal-delivery
Safety Model
The plugin includes an always-on OneSignal safety rule:
- Use environment variables for secrets.
- Prefer read-only checks before writes.
- Require explicit approval before sends, mutations, deletes, exports, transfers, or production actions.
- Ask for extra confirmation before large-audience or production blasts.
- Show app id, channel, audience, content, schedule, and expected effect before any send.
Cursor may also show MCP tool approval prompts. Do not bypass them.
Marketplace Submission
Before submitting:
- Run
npm run validate. - Test local install from
~/.cursor/plugins/local/onesignal. - Test with a non-production OneSignal app first.
- Confirm README setup instructions are current.
- Commit all files, including
assets/logo.svg. - Push to a public GitHub repo.
- Submit the repo at https://cursor.com/marketplace/publish.
Recommended repository:
https://github.com/OneSignal/onesignal-cursor-plugin
OAuth Roadmap
The OneSignal MCP service has an OAuth route at:
https://mcp.onesignal.com/mcp/oauth
Do not switch this plugin to OAuth until the Cursor OAuth flow has been tested end to end with the hosted route and OneSignal auth proxy. The likely future shape is a plugin update that changes mcp.json to use the OAuth route and Cursor MCP auth configuration.






