OneSignal MCP Server
A Model Context Protocol (MCP) server for interacting with the OneSignal API
Overview
OneSignal MCP Server is a Model Context Protocol (MCP) server designed for seamless interaction with the OneSignal API, enabling users to manage push notifications, emails, SMS, user devices, segments, templates, and more through a convenient REST API interface.
To use the OneSignal MCP Server, clone the repository from GitHub, install the required dependencies, configure your OneSignal credentials in a .env file, and run the server using Python. You can then utilize various API tools to manage notifications and user segments.
- Send push notifications, emails, and SMS messages. - Manage user devices and subscriptions. - Create and manage user segments and templates. - View app information and analytics. - Support for multiple OneSignal applications.
- Sending targeted push notifications to specific user segments.
- Managing multiple applications from a single server instance.
- Automating email campaigns and SMS notifications.
Add to your AI client
Use these steps to connect OneSignal MCP Server in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.
Cursor
Add this to your .cursor/mcp.json file in your project root, then restart Cursor.
.cursor/mcp.json
{
"mcpServers": {
"onesignal-mcp-weirdbrains": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-onesignal-mcp-weirdbrains"
]
}
}
}Claude Desktop
Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
{
"mcpServers": {
"onesignal-mcp-weirdbrains": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-onesignal-mcp-weirdbrains"
]
}
}
}Claude Code
Add this to your project's .mcp.json file. Claude Code will detect it automatically.
.mcp.json (project root)
{
"mcpServers": {
"onesignal-mcp-weirdbrains": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-onesignal-mcp-weirdbrains"
]
}
}
}VS Code (Copilot)
Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.
.vscode/mcp.json
{
"servers": {
"onesignal-mcp-weirdbrains": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-onesignal-mcp-weirdbrains"
]
}
}
}Windsurf
Add this to your Windsurf MCP config file, then restart Windsurf.
~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"onesignal-mcp-weirdbrains": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-onesignal-mcp-weirdbrains"
]
}
}
}Cline
Open Cline settings, navigate to MCP Servers, and add this server configuration.
Cline MCP Settings (via UI)
{
"mcpServers": {
"onesignal-mcp-weirdbrains": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-onesignal-mcp-weirdbrains"
]
}
}
}FAQ
**What are the requirements to run the server?**
You need Python 3.7 or higher and the `python-dotenv` and `requests` packages.
**Is there support for multiple OneSignal applications?**
Yes! The server supports managing multiple OneSignal applications and allows switching between them easily.
**How can I troubleshoot common issues?**
Common issues include API key errors and rate limiting. Ensure your credentials are correct and adhere to OneSignal's rate limits.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":2116,"uuid":"07fa7d10-91d3-4dc6-b139-994d13cca172","name":"onesignal-mcp","title":"OneSignal MCP Server","description":"A Model Context Protocol (MCP) server for interacting with the OneSignal API","avatar_url":"https://avatars.githubusercontent.com/u/97304617?v=4","created_at":"2025-03-09T03:36:21.802Z","updated_at":"2025-03-12T10:18:22.367Z","status":"created","author_name":"WeirdBrains","author_avatar_url":"https://avatars.githubusercontent.com/u/97304617?v=4","tags":"[]","category":"developer-tools","is_featured":false,"sort":1,"url":"https://github.com/WeirdBrains/onesignal-mcp","target":"_self","content":"$29","summary":"$2a","img_url":"https://camo.githubusercontent.com/6cd0120cc4c5ac11d28b2c60f76033b52db98dac641de3b2644bb054b449d60c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d79656c6c6f772e737667","type":null,"metadata":"{\"star\":\"0\",\"license\":\"MIT license\",\"language\":\"Python\",\"is_official\":false,\"latest_commit_time\":\"2025-04-07 13:33:46\"}","user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]