YaVendió ツール 🧰
MCPベースのメッセージングおよび通知システム。AIシステムがモデルコンテキストプロトコル(MCP)を介して様々なメッセージングプラットフォームと連携できるようにします。このプロジェクトは、テキスト、画像、ドキュメント、ボタン、アラートを送信するためのメッセージングツールを公開するMCPサーバーを実装します。
目次
特徴
- メッセージング機能:
- WhatsAppやその他のプラットフォーム経由でテキストメッセージを送信する
- 画像やメディアを適切な形式で送信する
- 適切なメタデータを含む動画を送信する
- ファイル名とメタデータを含むドキュメントを送信する
- ユーザーエンゲージメントのためのインタラクティブなボタンを作成する
- WhatsAppクライアント管理:
- 異なる資格情報を持つ複数の WhatsApp クライアントを登録および管理します
- Infisicalを使用してトークンを安全に保管する
- クライアント管理のためのステートレスアーキテクチャ
- WhatsAppの各操作専用のツール
- 通知機能:
- 複数のチャネル(WhatsApp、メール、SMS)にわたるアラートを設定する
- 支払いボタンと取引通知のサポート
- 会話管理:
- メッセージの配信ステータスとメタデータを追跡する
- 追加ユーティリティ:
- 時間指定のインタラクションのためのスリープ/遅延機能
- 企業とユーザー向けの構成管理
- ステータス追跡によるリアルタイムメッセージ配信
MCPとは何ですか?
モデルコンテキストプロトコル(MCP)は、Anthropicが開発したオープンスタンダードであり、AIシステムと外部データソースまたはツールとのシームレスな統合を可能にします。MCPは、AIシステムとデータソースを接続するための普遍的なオープンスタンダードを提供し、断片化された統合を単一のプロトコルに置き換えます。
このプロジェクトは、様々なメッセージングツールを公開し、AIシステムが標準化された方法でアクセスできるようにするMCPサーバーを実装します。MCPを使用することで、AIアシスタントは以下のことが可能になります。
- WhatsAppメッセージをユーザーに直接送信する
- メディアファイルをアップロードして送信する
- ボタンを使ってインタラクティブな体験を創り出す
- 会話のコンテキストを効率的に管理する
- マルチチャネル通知をトリガーする
インストール
このプロジェクトではパッケージ管理にuv を使用します。
要件
- Python 3.13以上
- Docker と Docker Compose (コンテナ化されたデプロイメント用)
構成
ルート ディレクトリに構成を含む.env
ファイルを作成します。
Dockerで実行する
ローカルで実行
発達
このプロジェクトには、開発を効率化するための Makefile コマンドがいくつか含まれています。
プロジェクト構造
app/
: メインアプリケーションコードserver.py
: MCPサーバーの実装logging.py
: structlog を使用したログ設定lifespan.py
: アプリケーションのライフサイクル管理
tools/
: ツールの実装base_tool.py
: すべてのツールの抽象基本クラスtext_tool.py
: テキストメッセージを送信するためのツールimage_tool.py
: 画像を送信するためのツールvideo_tool.py
: ビデオを送信するためのツールdocument_tool.py
: ドキュメントを送信するためのツールbutton_tool.py
: インタラクティブボタンを送信するためのツールalert_tool.py
: マルチチャネルアラートを送信するためのツールsleep_tool.py
: ツール実行に遅延を追加するためのツール
services/
: サービス実装interfaces.py
: 契約を定義するサービスインターフェースmessage_service.py
: メッセージの保存と取得のためのサービスmessage_service_mock.py
: テスト用のモック実装whatsapp_service.py
: WhatsAppクライアント管理用のサービスwhatsapp_service_mock.py
: テスト用の模擬 WhatsApp サービス
tests/
: テスト実装app/
: アプリケーション構造のテストtools/
: 個々のツールのテストservices/
: サービスのテストserver/
: MCP サーバー統合のテスト
MCP統合
このサービスは、モデル コンテキスト プロトコルを通じて LLM アプリケーションと統合できます。
利用可能なMCPツール
send_text
WhatsApp 番号にテキスト メッセージを送信します。
パラメータ:
company_id
: 会社識別子phone_number
: 受信者の電話番号message
: 送信するテキスト
例:
send_image
1 つ以上の画像を WhatsApp 番号に送信します。
パラメータ:
company_id
: 会社識別子phone_number
: 受信者の電話番号image_urls
: 送信する画像URLのリスト
例:
send_video
1 つ以上のビデオを WhatsApp 番号に送信します。
パラメータ:
company_id
: 会社識別子phone_number
: 受信者の電話番号video_urls
: 送信するビデオURLのリスト
例:
send_document
ドキュメントファイルを WhatsApp 番号に送信します。
パラメータ:
company_id
: 会社識別子phone_number
: 受信者の電話番号files
: ドキュメントファイルのリスト ({"url": "...", "filename": "..."}
例:
send_alert
複数のチャネル (WhatsApp、電子メール、SMS) を通じてアラートを送信します。
パラメータ:
company_id
: 会社識別子phone_number
: 受信者の電話番号message
: 警告メッセージwhatsapp
: WhatsAppメッセージを送信するかどうかemail
: メール設定{"subject": "..."}
sms
: SMS 構成{"type": "...", "recipients": ["..."]}
pause_number
: 会話を一時停止するかどうかtrack_sale
: これを販売として追跡するかどうか
例:
sleep
指定された秒数だけ実行を一時停止します。
パラメータ:
company_id
: 会社識別子phone_number
: 受信者の電話番号seconds
: スリープする秒数
例:
send_button
インタラクティブボタンを送信します。
パラメータ:
company_id
: 会社識別子phone_number
: 受信者の電話番号body_text
: ボタンのメッセージ本文buttons
: ボタン設定のリスト[{"id": "...", "title": "..."}]
button_type
: 「返信」または「支払い」header
: オプションのヘッダー設定footer_text
: オプションのフッターテキストpayment_data
: 支払いボタンの支払いデータ
例(返信ボタン):
例(支払いボタン):
get_config
会社の構成を取得します。
パラメータ:
company_id
: 会社識別子
例:
update_config
会社の構成を更新します。
パラメータ:
company_id
: 会社識別子config
: 新しい設定
例:
テスト
テストの実行と記述の詳細については、 TEST.md を参照してください。
基本的なテストコマンド:
貢献
貢献を歓迎します!以下の手順に従ってください。
- リポジトリをフォークする
- 機能ブランチを作成する (
git checkout -b feature/amazing-feature
) - 変更を加える
- テストを実行して合格することを確認する (
make test
) - 変更をコミットします(
git commit -m 'Add amazing feature'
) - ブランチにプッシュする (
git push origin feature/amazing-feature
) - プルリクエストを開く
ライセンス
このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
MCP ベースのメッセージング システムにより、AI システムは、テキスト、画像、ドキュメント、ボタン、アラートを送信するための標準化されたツールを通じて、さまざまなメッセージング プラットフォームと対話できるようになります。
Related MCP Servers
- AsecurityFlicenseAqualityProvides a standardized way to integrate Perplexity AI's features like chat, search, and documentation access into MCP-based systems.Last updated -5JavaScript
- -securityAlicense-qualityAn MCP server that helps AI assistants access text content from websites that implement bot detection, bridging the gap between what you can see in your browser and what the AI can access.Last updated -1PythonApache 2.0
- AsecurityFlicenseAqualityAn MCP-based email tool that enables AI models to access email services through standardized interfaces, allowing AI assistants to perform various email operations like sending emails, reading inboxes, and handling attachments.Last updated -1716TypeScript
- -securityAlicense-qualityA Model Context Protocol (MCP) server that allows AI agents like Claude to interact with the Aligo SMS API to send text messages and retrieve related information.Last updated -JavaScriptMIT License