🚀 OneSignal MCP 服务器
OneSignal MCP(推送通知管理平台)服务器是一款强大的工具,用于管理和发送推送通知。它支持与 OneSignal 的 REST API 集成,能帮助用户轻松实现推送通知的管理、设备信息查看、用户分段管理以及模板管理等功能。
🚀 快速开始
OneSignal MCP 服务器可帮助您高效管理和发送推送通知。下面将为您介绍使用前的需求、安装、配置等步骤。
✨ 主要特性
- 功能丰富:支持发送推送通知、查看设备信息、管理用户分段以及模板管理等多种功能。
- 多应用支持:能够管理多个 OneSignal 应用程序。
- 详细日志记录:提供详细的日志记录功能,方便问题排查。
- 全面测试套件:附带全面的测试套件,确保所有功能正常运行。
📦 安装指南
方案 1: 克隆仓库
您可以通过以下步骤克隆该仓库:
git clone https://github.com/your-repository-url.git
cd onesignal-mcp-server
方案 2: 使用 pip 包(即将发布)
当包上线后,您可以使用以下命令进行安装:
pip install onesignal-mcp
🔧 配置
请在项目的根目录下创建一个名为 .env
的文件,并添加以下内容:
ONESIGNAL_APP_ID=your_app_id
ONESIGNAL_API_KEY=your_api_key
您可以在 OneSignal 控制台中找到这些信息。
若要支持多应用,可添加以下内容到 .env
文件中:
ONESIGNAL_APP_ID1=app_id_1
ONESIGNAL_API_KEY1=api_key_1
ONESIGNAL_APP_ID2=app_id_2
ONESIGNAL_API_KEY2=api_key_2
💻 使用示例
基础用法
发送通知
from onesignal_mcp.server import send_notification
message = {
"title": "测试",
"body": "这条消息是通过 MCP 服务器发送的。",
"sender_name": "测试用户"
}
response = send_notification(message)
print(response)
查看设备信息
from onesignal_mcp.server import view_devices
devices = view_devices()
for device in devices:
print(device)
高级用法
该服务器提供了丰富的功能,以下是一些高级用法示例:
查看最近发送的消息
from onesignal_mcp.server import view_messages
messages = view_messages()
for message in messages:
print(message)
查看所有可用的用户分段
from onesignal_mcp.server import view_segments
segments = view_segments()
for segment in segments:
print(segment)
创建新的用户分段
from onesignal_mcp.server import create_segment
segment_data = {
"name": "新用户分段",
"filters": [
{
"field": "tag",
"key": "new_user",
"relation": "=",
"value": "true"
}
]
}
new_segment = create_segment(segment_data)
print(new_segment)
列出所有模板
from onesignal_mcp.server import view_templates
templates = view_templates()
for template in templates:
print(template)
创建新的通知或电子邮件模板
from onesignal_mcp.server import create_template
template_data = {
"name": "新模板",
"contents": {
"en": "这是一个新的模板内容。"
}
}
new_template = create_template(template_data)
print(new_template)
🔧 技术细节
日志记录
该服务器提供详细的日志记录功能,日志输出格式如下:
YYYY-MM-DD HH:MM:SS - onesignal-mcp - LEVEL - 消息内容
默认情况下,日志输出到控制台。您可以通过修改 logging.basicConfig
的调用位置来调整日志级别。
测试
该服务器附带全面的测试套件,使用 Python 内置的 unittest
框架,并模拟外部 API 调用来测试服务器行为。使用以下命令运行测试:
python -m unittest discover tests
🚧 故障排除
常见问题
- 无应用配置可用:确保:
- 您的
.env
文件已正确设置。
- 使用
add_app
方法添加了应用程序。
- API 错误:检查 API 密钥和应用 ID 是否正确,确保网络连接正常。
🤝 贡献指南
我们欢迎社区贡献。请参考 CONTRIBUTING.md 文件了解如何参与。
📄 许可证
该服务器以 MIT 许可证发布,详情参见 LICENSE 文件。