🚀 オーンシグナルMCPサーバー
このプロジェクトは、OneSignal APIを管理および操作するためのツールです。プッシュ通知、電子メール、SMSを送信でき、デバイス、セグメント、テンプレートの管理機能も提供します。
🚀 クイックスタート
このオーンシグナルMCPサーバーはOneSignal APIを管理するための便利なツールです。以下の手順に従って、サーバーをセットアップして使用しましょう。
✨ 主な機能
プッシュ通知管理
- 単一またはバッチでのプッシュ通知の送信
- スケジュール送信の設定が可能
- 送信済みメッセージの詳細情報の確認
デバイス管理
- すべての登録デバイスの一覧表示
- 特定のデバイスの詳細情報の取得
セグメント管理
- 新しいセグメントの作成
- 既存のセグメントの削除
- すべての利用可能なセグメントの確認
テンプレート管理
- カスタム通知または電子メールテンプレートの作成
- 既存のテンプレートの詳細情報の確認
📦 インストール
方法1:リポジトリのクローン
git clone https://github.com/your-repository-url.git
cd onesignal-mcp-server
pip install -r requirements.txt
方法2: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
基本的な使用例
プッシュ通知の送信
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) # ステータスコードを出力
複数アプリサポート
このサーバーは、複数のOneSignalアプリを同時に管理することができます。異なるアプリ設定を追加することで実現できます。
ログ記録
サーバーは詳細なログ記録機能を提供し、ログ出力形式は次のとおりです。
YYYY-MM-DD HH:MM:SS - onesignal-mcp-server - LEVEL - Message
デフォルトでは、ログはコンソールに出力されます。logging.basicConfig
呼び出しを変更することで、ログレベルを調整できます。
テスト
このプロジェクトには包括的なテストスイートが含まれており、Pythonの組み込みunittest
フレームワークを使用し、外部API呼び出しをモックすることでサーバーの動作をテストします。
テストの実行
python -m unittest discover tests
テスト範囲
- アプリケーション設定管理
- APIリクエスト処理と認証
- エラー処理と回復
- 複数アプリサポート
- 組織レベルの操作
トラブルシューティング
一般的な問題
利用可能なアプリ設定がない
「アプリ設定が利用できません」というエラーが発生した場合は、以下を確認してください。
.env
ファイルが正しく設定されていること、またはadd_app
ツールを使用してアプリ設定が追加されていること
APIキーエラー
認証エラーが発生した場合は、以下を確認してください。
- あなたのAPIキーが正しいこと
- 正しいキーを使用して操作していること(REST APIキーと組織レベルのAPIキー)
- キーに必要な権限があること
レート制限
OneSignalはAPIリクエストに制限があります。レート制限に遭遇した場合は、以下を行ってください。
- リクエスト頻度を減らす
- 指数関数的なバックオフを伴うリトライロジックを実装する
ヘルプの取得
解決できない問題がある場合は、OneSignal APIドキュメントを参照するか、GitHubリポジトリで問題を開いてください。
貢献ガイド
OneSignal MCPサーバーの改善に貢献することを歓迎します!詳細なガイドについては、CONTRIBUTING.mdを参照してください。
📄 ライセンス
このプロジェクトはMITライセンスの下で公開されています。詳細はLICENSEファイルを参照してください。
謝辞
オープンソースコミュニティへのサポートと貢献に感謝します。







