What is MCP?
Model Context Protocol (MCP) is an open standard, originally created by Anthropic, for connecting AI applications to external systems. It is now supported by major AI clients including Claude, Cursor, GitHub Copilot, ChatGPT, and OpenAI Codex. OneSignal MCP Server lets any of these clients run OneSignal actions without switching dashboard pages.Why use OneSignal MCP Server
You can complete common OneSignal workflows faster with natural-language prompts.- Run multi-step tasks in one request, like finding a user, checking subscriptions, and sending a test message
- Reduce onboarding friction for teams that are new to the dashboard or REST API
- Manage day-to-day campaign and user operations directly in your AI client
Common use cases
You can ask your AI client to:- Send a message to a specific segment
- Look up a user and list all subscriptions
- Check delivery metrics for a recent message
- Create a segment from audience filters
- Create a user and attach email, SMS, or push subscriptions
- List apps you can access, or look up custom event definitions
- Export subscribers or audience activity to CSV
Set up OneSignal MCP Server
You can usually complete setup in about 5 minutes. How you connect depends on your AI client:Prerequisites
For Cursor and ChatGPT / Codex (marketplace plugins):- A OneSignal account with access to the apps you want to manage
- Permission to authorize OneSignal through the browser-based OAuth flow
- A OneSignal App ID from Settings > Keys & IDs, or from the URL when you’re logged into the OneSignal dashboard
- A OneSignal REST API key from Settings > Keys & IDs (not the Key ID)
- A supported AI client (see options below)
Connection details
Marketplace plugins (Cursor and OpenAI)
Official Cursor and OpenAI marketplace plugins connect to OneSignal’s hosted OAuth MCP endpoint:Smithery (Claude and other clients)
Claude and other MCP clients that are not yet on an official marketplace connect through Smithery:app_id. If you manage multiple OneSignal apps with Smithery, create one MCP configuration per app. Marketplace OAuth connections can work across apps your account can access (for example with list_apps).
Configure your AI client
Pick the section for your AI client and follow the steps.Cursor
Install OneSignal from the official Cursor Marketplace. This is the recommended path for Cursor.Open the OneSignal plugin listing
Install the plugin
Authenticate with OneSignal
Use OneSignal in Agent chat
onesignal_health or listing your apps.mcp.json setup is not required when you install from the marketplace. Prefer the marketplace plugin over adding the Smithery URL by hand.ChatGPT and Codex (OpenAI)
Install OneSignal from the official OpenAI / ChatGPT plugins marketplace. This is the recommended path for ChatGPT and Codex.Open the plugins directory
Install OneSignal
Authorize OneSignal
Use OneSignal in a new chat
@OneSignal), and try a read-only prompt such as checking server health or listing apps you can access.Claude (Claude Desktop and Claude.ai)
OneSignal is working toward listing in Claude’s official MCP registry. Until that listing is available, add OneSignal through Claude’s Connectors UI with the Smithery-hosted URL. Remote MCP servers cannot be added throughclaude_desktop_config.json, which is only for local stdio servers.
Open Connectors settings
Add a custom connector
- Name:
OneSignal - Remote MCP server URL:
https://server.smithery.ai/onesignal/onesignal
invalid_client.Then click Add (or Connect).Enter your OneSignal credentials
- App ID: your OneSignal App ID
- API key: your OneSignal REST API key
Use OneSignal in a new chat
Claude Code
Until Claude’s official registry listing is available, connect Claude Code through Smithery.Add OneSignal MCP Server
Authenticate from inside Claude Code
claude, then type /mcp to open the MCP panel. Select onesignal, then choose Authenticate to open the Connect OneSignal page in your browser.Enter your OneSignal credentials
claude mcp list or run /mcp inside Claude Code to view the tool count.
GitHub Copilot (VS Code)
Use the Smithery-hosted URL for GitHub Copilot and other clients without an official OneSignal marketplace listing.Add OneSignal to your VS Code MCP config
.vscode/mcp.json in your workspace to share with your team, or run MCP: Open User Configuration from the Command Palette to install for your user profile:Authenticate when prompted
Verify the connection
After setup, start a new chat and ask your AI client:Troubleshooting
If a request fails unexpectedly, try the following in order:- Marketplace plugins (Cursor / ChatGPT / Codex): Re-authenticate from the client’s plugin or MCP settings, confirm your OneSignal account can access the target app, then start a new chat.
- Smithery clients: Re-check that the server URL is exactly
https://server.smithery.ai/onesignal/onesignalwith no extra paths or trailing characters, then re-authenticate from your client’s MCP panel (/mcpin Claude Code, MCP view in VS Code). - Restart the AI client and start a new chat session. This resolves most transient connection and session issues.
invalid_client error in Claude
If Claude returns {"error":"invalid_client","error_description":"Invalid client_id"} when you connect, the custom connector was created with values in OAuth Client ID or OAuth Client Secret. OneSignal MCP Server does not use those fields. Disconnecting is not enough. You must remove the connector entirely and recreate it:
- In Claude, open Settings > Connectors, find the OneSignal connector, and click Remove (not just Disconnect).
- Click Add custom connector again and enter only the Name and Remote MCP server URL. Leave OAuth Client ID and OAuth Client Secret blank.
- Click Add, then complete the Connect OneSignal page with your App ID and API key.

Leave OAuth Client ID and OAuth Client Secret blank. Filling either field causes the invalid_client error.
MCP tool capabilities
OneSignal MCP Server currently supports 34 tools across 9 categories.Apps (1 tool)
list_apps requires an OAuth connection (for example Cursor or ChatGPT / Codex marketplace plugins).
Messaging (3 tools)
Users and subscriptions (12 tools)
Templates (4 tools)
Segments (4 tools)
Live Activities (2 tools)
Exports (2 tools)
Custom events (2 tools)
get_custom_events requires an OAuth connection (for example Cursor or ChatGPT / Codex marketplace plugins).
Analytics and utility (4 tools)
Safety and guardrails
OneSignal MCP Server includes built-in protections for high-impact actions.send_message protections
- Compatible AI clients treat
send_messageas a high-impact action and ask for confirmation before execution send_messagehas a lower rate limit (30 requests per minute) than other tools- Targeting is validated before send (single targeting method, capped filters, recipient limits)
- Inputs are validated before execution, including identifiers and contact fields
Additional controls
- Access is controlled per app and can be enabled or disabled by OneSignal
- Per-session rate limits help prevent runaway tool loops
- The MCP server is stateless and does not store your customer data (subscribers, messages, exports)
Known limitations
- Smithery configurations support one OneSignal app (
app_id) per MCP server entry - Marketplace OAuth connections follow the signed-in user’s account permissions and can access multiple apps
- Sessions expire after inactivity and automatically re-establish on the next request
- During open beta, app access may require enablement before non-utility tools are available
- Some tools (
list_apps,get_custom_events) require OAuth and are not available on API-key / Smithery connections
FAQ
What AI clients can I use with OneSignal MCP Server?
You can use Cursor, ChatGPT, OpenAI Codex, Claude Desktop, Claude.ai, Claude Code, GitHub Copilot in VS Code, and any other MCP-compatible client that supports remote Streamable HTTP servers. Prefer the official marketplace plugins for Cursor and OpenAI clients.Does OneSignal MCP Server cost extra?
The MCP server is free. MCP tool calls still count against your normal OneSignal API usage limits, and your AI client may have separate usage costs.Why does my Key ID not work as api_key?
Key ID is an identifier, not the secret API key value. Smithery setup requires the REST API key value that is shown one time when the key is created. If you no longer have that value, create a new API key and use that key value in your MCP configuration. Cursor and ChatGPT / Codex marketplace plugins use OAuth instead and do not need a REST API key.
Can AI send notifications without my approval?
No.send_message is flagged as a high-impact action, and compatible AI clients ask for confirmation before running it.
Is customer data stored by the MCP server?
No. OneSignal MCP Server is stateless and does not store your customer data. For Smithery connections, your App ID and API key are stored on the Smithery-hosted bridge so the connection stays authenticated; they are not stored on OneSignal MCP Server itself. Marketplace plugins authenticate with OneSignal OAuth and do not store your REST API key in the MCP client config.How do I use MCP with multiple OneSignal apps?
- Marketplace OAuth (Cursor, ChatGPT / Codex): One connection can access the apps your OneSignal account is allowed to manage. Use
list_appswhen you need to discover app IDs. - Smithery: Create one MCP server configuration per app. Each configuration uses its own
app_idandapi_key.
Related pages
Keys and IDs
REST API overview
Create message API
send_message and other messaging tools.