Token导航 LogoToken导航TokenDH.com
OneSignal MCP logo
数据服务stdio官方级别未说明来源级核验

OneSignal MCP

MCP Server

OneSignal MCP服务器是一个全面的多通道消息推送平台,提供推送通知、电子邮件、短信发送、用户设备管理及高级分析功能。

工具数

57

提示词数

0

GitHub Stars

3

资源数

0
API集成Python数据分析

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

WeirdBrains

提供方

WeirdBrains

最后核验

2026/5/17 20:45

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -r requirements.txt

详细介绍

OneSignal MCP服务器

用于与OneSignal API交互的综合模型上下文协议(MCP)服务器。该服务器提供了一个完整的界面,用于通过OneSignal的REST API管理推送通知、电子邮件、SMS、用户、设备、细分市场、模板、分析等。

![License: MIT](https://opensource.org/licenses/MIT) ](https://github.com/weirdbrains/onesignal-mcp) ![Tools](https://github.com/weirdbrains/onesignal-mcp)

概述

此MCP服务器提供对 OneSignal REST API,提供 57工具 涵盖所有主要的OneSignal操作:

🚀 主要特点

  • 多通道消息传递:发送推送通知、电子邮件、短信和事务消息
  • 用户和设备管理:完成用户、设备和订阅的CRUD操作
  • 高级细分:使用复杂的过滤器创建和管理用户细分
  • 模板系统:创建、更新和管理邮件模板
  • iOS直播活动:完全支持iOS直播活动
  • 分析和导出:查看结果数据并导出到CSV
  • 多应用支持:无缝管理多个OneSignal应用程序
  • API密钥管理:创建、更新、旋转和删除API密钥
  • 组织级运营:管理整个组织中的应用程序

需求

  • Python 3.7或更高版本
  • python-dotenv 包裹
  • requests 包裹
  • mcp 包裹
  • 具有API证书的OneSignal帐户

安装

选项1:从GitHub克隆

# Clone the repository
git clone https://github.com/weirdbrains/onesignal-mcp.git
cd onesignal-mcp

# Install dependencies
pip install -r requirements.txt

选项2:打包安装(即将推出)

pip install onesignal-mcp

配置

  1. 创建 .env 根目录中的文件,其中包含您的OneSignal凭据:
   # Default app credentials (optional, you can also add apps via the API)
   ONESIGNAL_APP_ID=your_app_id_here
   ONESIGNAL_API_KEY=your_rest_api_key_here

   # Organization API key (for org-level operations)
   ONESIGNAL_ORG_API_KEY=your_organization_api_key_here

   # Optional: Multiple app configurations
   ONESIGNAL_AIBOOKCRAFT_APP_ID=aibookcraft_app_id
   ONESIGNAL_AIBOOKCRAFT_API_KEY=aibookcraft_api_key

   ONESIGNAL_WEIRDBRAINS_APP_ID=weirdbrains_app_id
   ONESIGNAL_WEIRDBRAINS_API_KEY=weirdbrains_api_key

   # Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)
   LOG_LEVEL=INFO
  1. 查找您的OneSignal凭据:

- 应用程序ID:设置>按键和ID>OneSignal应用程序ID - REST API密钥:设置>密钥和ID>REST API密钥 - 组织API密钥:组织设置>API密钥

用法

运行服务器

python onesignal_server.py

服务器将启动并向MCP系统注册,使所有57个工具可供使用。

完整工具参考(57个工具)

📱 应用程序管理(5个工具)

  • list_apps -列出所有已配置的OneSignal应用程序
  • add_app -在本地添加新的OneSignal应用程序配置
  • update_local_app_config -更新现有的本地应用程序配置
  • remove_app -删除本地OneSignal应用程序配置
  • switch_app -将当前应用程序切换为用于API请求

📨 消息传递(8个工具)

  • send_push_notification -发送推送通知
  • send_email -通过OneSignal发送电子邮件
  • send_sms -通过OneSignal发送短信/彩信
  • send_transactional_message -发送即时送达消息
  • view_messages -查看最近发送的消息
  • view_message_details -获取有关邮件的详细信息
  • view_message_history -查看邮件历史记录/收件人
  • cancel_message -取消已安排的消息

📱 设备/播放器(6个工具)

  • view_devices -查看订阅您应用程序的设备
  • view_device_details -获取设备的详细信息
  • add_player -添加新玩家/设备
  • edit_player -编辑现有播放器/设备
  • delete_player -删除玩家/设备记录
  • edit_tags_with_external_user_id -按外部ID批量编辑标签

🎯 分段(3个工具)

  • view_segments -列出所有分段
  • create_segment -创建新分段
  • delete_segment -删除分段

📄 模板(6个工具)

  • view_templates -列出所有模板
  • view_template_details -获取模板详细信息
  • create_template -创建新模板
  • update_template -更新现有模板
  • delete_template -删除模板
  • copy_template_to_app -将模板复制到另一个应用程序

🏢 应用程序(6个工具)

  • view_app_details -获取已配置应用程序的详细信息
  • view_apps -列出所有组织应用程序
  • create_app -创建新的OneSignal应用程序
  • update_app -更新现有应用程序
  • view_app_api_keys -查看应用程序的API密钥
  • create_app_api_key -创建新的API密钥

🔑 API密钥管理(3个工具)

  • delete_app_api_key -删除API密钥
  • update_app_api_key -更新API密钥
  • rotate_app_api_key -旋转API键

👤 用户(6工具)

  • create_user -创建新用户
  • view_user -查看用户详细信息
  • update_user -更新用户信息
  • delete_user -删除用户
  • view_user_identity -获取用户身份信息
  • view_user_identity_by_subscription -通过订阅获取身份

🏷️ 别名(3个工具)

  • create_or_update_alias -创建或更新用户别名
  • delete_alias -删除用户别名
  • create_alias_by_subscription -按订阅ID创建别名

📬 订阅(5个工具)

  • create_subscription -创建新订阅
  • update_subscription -更新订阅
  • delete_subscription -删除订阅
  • transfer_subscription -在用户之间转移订阅
  • unsubscribe_email -使用电子邮件令牌取消订阅

🎯 现场活动(3个工具)

  • start_live_activity -启动iOS实时活动
  • update_live_activity -更新iOS实时活动
  • end_live_activity -结束iOS实时活动

📊 分析和导出(3个工具)

  • view_outcomes -查看结果/转换数据
  • export_players_csv -将玩家数据导出到CSV
  • export_messages_csv -将邮件导出到CSV

用法示例

多通道消息传递

# Send a push notification
await send_push_notification(
    title="Hello World",
    message="This is a test notification",
    segments=["Subscribed Users"]
)

# Send an email
await send_email(
    subject="Welcome!",
    body="Thank you for joining us",
    email_body="
Welcome!
",
    include_emails=["user@example.com"]
)

# Send an SMS
await send_sms(
    message="Your verification code is 12345",
    phone_numbers=["+15551234567"]
)

# Send a transactional message
await send_transactional_message(
    channel="email",
    content={"subject": "Order Confirmation", "body": "Your order has been confirmed"},
    recipients={"include_external_user_ids": ["user123"]}
)

用户和设备管理

# Create a user
user = await create_user(
    name="John Doe",
    email="john@example.com",
    external_id="user123",
    tags={"plan": "premium", "joined": "2024-01-01"}
)

# Add a device
device = await add_player(
    device_type=1,  # Android
    identifier="device_token_here",
    language="en",
    tags={"app_version": "1.0.0"}
)

# Update user tags across all devices
await edit_tags_with_external_user_id(
    external_user_id="user123",
    tags={"last_active": "2024-01-15", "purchases": "5"}
)

iOS直播活动

# Start a Live Activity
await start_live_activity(
    activity_id="delivery_123",
    push_token="live_activity_push_token",
    subscription_id="user_subscription_id",
    activity_attributes={"order_number": "12345"},
    content_state={"status": "preparing", "eta": "15 mins"}
)

# Update the Live Activity
await update_live_activity(
    activity_id="delivery_123",
    name="delivery_update",
    event="update",
    content_state={"status": "on_the_way", "eta": "5 mins"}
)

分析和导出

# View conversion outcomes
outcomes = await view_outcomes(
    outcome_names=["purchase", "session_duration"],
    outcome_time_range="7d",
    outcome_platforms=["ios", "android"]
)

# Export player data
export = await export_players_csv(
    start_date="2024-01-01T00:00:00Z",
    end_date="2024-01-31T23:59:59Z",
    segment_names=["Active Users"]
)

测试

服务器包括一个全面的测试套件。要运行测试,请执行以下操作:

# Run the test script
python test_onesignal_mcp.py

# Or use unittest
python -m unittest discover tests

错误处理

服务器提供一致的错误处理:

  • 所有错误均以标准格式返回
  • 详细的错误消息有助于识别问题
  • 瞬态故障的自动重试逻辑
  • 正确的身份验证错误消息

速率限制

OneSignal对API请求强制执行速率限制:

  • 标准限制:每秒10个请求
  • 批量操作:可能有较低的限制
  • 服务器包括关于处理速率限制的指导

贡献

我们欢迎捐款!请看 贡献.md 作为指导方针。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

致谢

  • OneSignal 感谢他们出色的通知服务
  • 模型上下文协议的MCP社区
  • 此项目的所有贡献者

目录标签

目录标签

API集成Python数据分析消息推送本地部署用户管理多通道通信

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

api-key

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

57

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdioapi-keyremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP