🚀 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 文件。