Sinch Engage / MessageMedia MCP server
公式Sinch Engage(オーストラリアではSinch MessageMedia)MCPサーバー。Sinch Engage APIをMCPツールとして提供します。
ドキュメント
Sinch Engage MCPサーバー
このリポジトリには、Sinch Engage(オーストラリアではSinch MessageMedia)のAPIをMCPツールとして提供するMCPサーバーのソースコードが含まれています。
ツール概要
以下は、MCPサーバーで利用可能なツールの一覧です(すべての電話番号はE.164形式で指定する必要があります。例:オーストラリアの場合 +61400000000)。
メッセージング
| ツール | 説明 | カテゴリ | モード |
|---|---|---|---|
| sendMessage | 携帯電話番号へSMSを送信します | messaging | write |
レポート
| ツール | 説明 | カテゴリ | モード |
|---|---|---|---|
| getDetailedMessageReport | 指定された日付範囲の送受信メッセージの詳細レポートを生成します。方向、アカウント、メタデータ、グループ化によるオプションのフィルタが利用可能です。 | reporting | read |
| getSummaryMessageReport | 指定された日付範囲の送受信メッセージのサマリーレポートを生成します。方向、アカウント、グループ化によるオプションのフィルタが利用可能です。 | reporting | read |
| getSummaryInsightMessageReport | 指定された日付範囲の送受信メッセージの事前にコンパイルされたサマリーレポートを取得します。方向、アカウント、グループ化によるオプションのフィルタが利用可能です。 | reporting | read |
| getAsyncReportStatus | report_idによって非同期レポートリクエストのステータスを取得します。 | reporting | read |
| getAsyncReportFields | 非同期詳細レポートエクスポートで利用可能なフィールドの一覧を取得します。 | reporting | read |
| requestAsyncDetailedMessageReport | 指定された日付範囲の送受信メッセージの非同期詳細レポートをリクエストします。レポート形式と送信先の配信オプションがあります。 | reporting | read |
連絡先
| ツール | 説明 | カテゴリ | モード |
|---|---|---|---|
| getContactGroups | アカウントに関連付けられた連絡先グループ(リスト)のページネーションされた一覧を取得します。 | reporting | read |
| getContactGroupDetails | group_idで識別される特定の連絡先グループ(リスト)の詳細を取得します。 | reporting | read |
| getContactWithSearch | グループ、電話番号、名前、チャネルタイプでフィルタ可能な連絡先の一覧を取得します。 | reporting | read |
| createContactGroup | 指定された名前とオプションのエイリアスで新しい連絡先グループ(リスト)を作成します。 | reporting | write |
| createContact | 指定された詳細で新しい連絡先を作成します。 | reporting | write |
| updateContact | contact_idで識別される既存の連絡先を新しい詳細で更新します。 | reporting | write |
| deleteContactGroup | group_idで識別される特定の連絡先グループ(リスト)を削除します。 | reporting | delete |
はじめに
前提条件
- Node.js >= 16.0
- プロビジョニングされたSinch Engageアカウント
- Claude Desktop(またはその他のMCPクライアント)。このREADMEはClaude Desktopに焦点を当てていますが、MCPサーバーは任意のMCPクライアントで使用できます。
API認証情報
MCPツールで使用されるAPIを利用するには、以下の認証情報が必要です:
SINCH_ENGAGE_API_KEYとSINCH_ENGAGE_API_SECRETSinch Engage認証情報
MCPサーバー設定
Sinch Engage MCPサーバーは、実行可能なNPMパッケージとして利用可能です。以下は、Claude Desktop設定ファイル(claude_desktop_config.json)でのセットアップ方法です。環境変数に自身の認証情報とリージョン(現在サポートされているのは EU と AU)を忘れずに入力してください:
{
"mcpServers": {
"Sinch Engage": {
"command": "npx",
"args": [
"-y",
"@sinch-engage/mcp-server"
],
"env": {
"SINCH_ENGAGE_API_KEY": "<your-key>",
"SINCH_ENGAGE_API_SECRET": "<your-secret>",
"SINCH_ENGAGE_REGION": "<region>",
"MCP_TOOL_CATEGORIES": "reporting, contacts, messaging",
"MCP_TOOL_MODES": "read, write, delete"
}
}
}
}
MCPサーバーをローカルで実行する
オプション1: Claude Desktopでstdioを使用してMCPサーバーを起動する
MCPサーバーをClaude Desktopでローカル実行するには、リポジトリをクローンしてMCPサーバーをビルドする必要があります。このオプションは、ローカル開発やテストに役立ちます。
ステップ1: リポジトリをクローンする
git clone https://github.com/messagemedia/sinch-engage-mcp-server.git
ステップ2: 依存関係をインストールする
cd sinch-engage-mcp-server
npm install
ステップ3: Claude Desktop設定をセットアップする
以下は、Claude Desktop設定ファイル(claude_desktop_config.json)でMCPサーバーを設定する方法の例です。ここでSinch Engageの認証情報とリージョン(EU または AU)を提供できます:
{
"mcpServers": {
"Sinch Engage": {
"command": "node",
"args": ["/path/to/sinch-engage-mcp-server/src/index.js"],
"env": {
"SINCH_ENGAGE_API_KEY": "<your-key>",
"SINCH_ENGAGE_API_SECRET": "<your-secret>",
"SINCH_ENGAGE_REGION": "<region>",
"MCP_TOOL_CATEGORIES": "reporting, contacts, messaging",
"MCP_TOOL_MODES": "read, write, delete"
}
}
}
}
ステップ4: (オプション)MCPサーバーで利用可能なツールをフィルタリングする
ツールが多すぎるとコンテキストが大きくなり、トークン使用量が増加し、LLMが適切なツールを選択する際の混乱を招きます。
Claude Desktop設定オプションで MCP_TOOL_CATEGORIES を提供することで、MCPサーバーで利用可能なツールをフィルタリングできます。
権限によってツールをフィルタリングしたい場合は、MCP_TOOL_MODES を使用して、データの読み取り、書き込み、削除、またはそれらの組み合わせが可能なツールのみを選択できます。