drio
Open app

OneSignal MCP Server

Source

A Model Context Protocol (MCP) server for interacting with the OneSignal API

Catalog onlyCatalog onlySTDIO

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.
  1. Sending targeted push notifications to specific user segments.
  2. Managing multiple applications from a single server instance.
  3. 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"}]]}]