OneSignal

OneSignal

🚀 一个信号MCP服务器

本项目是一个用于管理和操作OneSignal API的工具。它能让您发送推送通知、电子邮件和短信,还提供对设备、段落和模板的管理功能。

🚀 快速开始

需求

  • Python 3.6或更高版本
  • 必须安装以下库:python-dotenvrequests
  • 必须拥有一个OneSignal账号并获取相应的API凭证

安装

方案一:克隆仓库

git clone https://github.com/your-repository-url.git
cd onesignal-mcp-server
pip install -r requirements.txt

方案二:作为Python包安装(即将推出)

pip install onesignal-mcp-server

配置

创建一个.env文件,并添加以下内容:

ONESIGNAL_APP_ID=your_app_id_here
ONESIGNAL_API_KEY=your_api_key_here
# 可选:设置日志级别,默认为INFO
LOG_LEVEL=DEBUG

获取API凭证请参考OneSignal文档

运行服务器

python -m onesignal_mcp_server.runserver

✨ 主要特性

推送通知管理

  • 发送单个或批量推送通知
  • 支持设置定时发送
  • 查看已发送消息的详细信息

设备管理

  • 列出所有注册设备
  • 获取特定设备的详细信息

段落管理

  • 创建新的段落
  • 删除现有的段落
  • 查看所有可用段落

模板管理

  • 创建自定义通知或电子邮件模板
  • 查看现有模板的详细信息

多应用支持

该服务器支持同时管理多个OneSignal应用。您可以通过添加不同的应用配置来实现。

💻 使用示例

基础用法

发送推送通知

from onesignal_mcp_server import NotificationSender

sender = NotificationSender()
response = sender.send_push_notification(
title="Hello",
body="World",
user_ids=["user1", "user2"]
)
print(response.status_code)  # 输出状态码

📚 详细文档

日志记录

服务器提供详细的日志记录功能,日志输出格式如下:

YYYY-MM-DD HH:MM:SS - onesignal-mcp-server - LEVEL - Message

默认情况下,日志输出到控制台。您可以通过修改logging.basicConfig调用调整日志级别。

测试

项目包含全面的测试套件,使用Python内置的unittest框架,并通过模拟外部API调用来测试服务器行为。

运行测试

python -m unittest discover tests

测试范围

  • 应用配置管理
  • API请求处理与身份验证
  • 错误处理与恢复
  • 多应用支持
  • 组织级操作

故障排除

常见问题

无可用应用配置

如果出现错误“无应用配置可用”,请确保:

  1. 您的.env文件设置正确,或
  2. 已使用add_app工具添加了应用配置
API密钥错误

如遇身份验证错误,请检查:

  1. 您的API密钥是否正确
  2. 您是否在使用正确的密钥进行操作(REST API密钥与组织级API密钥)
  3. 密钥是否具有相应的权限
速率限制

OneSignal对API请求有限制。遇到速率限制时,请:

  1. 减少请求频率
  2. 实现带有指数回退的重试逻辑

获取帮助

如遇未解决的问题,请参考OneSignal API文档或在GitHub仓库打开问题。

贡献指南

欢迎为改进OneSignal MCP服务器做出贡献!请查阅CONTRIBUTING.md以获取详细指南。

📄 许可证

本项目根据MIT许可证发布,具体请参阅LICENSE文件。

致谢

感谢您对开源社区的支持与贡献。

  • 0 关注
  • 0 收藏,28 浏览
  • system 提出于 2025-10-05 08:03

相似服务问题

相关AI产品