Sinch Engage / MessageMedia MCP server

公式

Sinch Engage(オーストラリアではSinch MessageMedia)MCPサーバー。Sinch Engage APIをMCPツールとして提供します。

ドキュメント

Sinch Engage MCPサーバー

Latest Release

このリポジトリには、Sinch Engage(オーストラリアではSinch MessageMedia)のAPIをMCPツールとして提供するMCPサーバーのソースコードが含まれています。

ツール概要

以下は、MCPサーバーで利用可能なツールの一覧です(すべての電話番号はE.164形式で指定する必要があります。例:オーストラリアの場合 +61400000000)。

メッセージング

ツール説明カテゴリモード
sendMessage携帯電話番号へSMSを送信しますmessagingwrite

レポート

ツール説明カテゴリモード
getDetailedMessageReport指定された日付範囲の送受信メッセージの詳細レポートを生成します。方向、アカウント、メタデータ、グループ化によるオプションのフィルタが利用可能です。reportingread
getSummaryMessageReport指定された日付範囲の送受信メッセージのサマリーレポートを生成します。方向、アカウント、グループ化によるオプションのフィルタが利用可能です。reportingread
getSummaryInsightMessageReport指定された日付範囲の送受信メッセージの事前にコンパイルされたサマリーレポートを取得します。方向、アカウント、グループ化によるオプションのフィルタが利用可能です。reportingread
getAsyncReportStatusreport_idによって非同期レポートリクエストのステータスを取得します。reportingread
getAsyncReportFields非同期詳細レポートエクスポートで利用可能なフィールドの一覧を取得します。reportingread
requestAsyncDetailedMessageReport指定された日付範囲の送受信メッセージの非同期詳細レポートをリクエストします。レポート形式と送信先の配信オプションがあります。reportingread

連絡先

ツール説明カテゴリモード
getContactGroupsアカウントに関連付けられた連絡先グループ(リスト)のページネーションされた一覧を取得します。reportingread
getContactGroupDetailsgroup_idで識別される特定の連絡先グループ(リスト)の詳細を取得します。reportingread
getContactWithSearchグループ、電話番号、名前、チャネルタイプでフィルタ可能な連絡先の一覧を取得します。reportingread
createContactGroup指定された名前とオプションのエイリアスで新しい連絡先グループ(リスト)を作成します。reportingwrite
createContact指定された詳細で新しい連絡先を作成します。reportingwrite
updateContactcontact_idで識別される既存の連絡先を新しい詳細で更新します。reportingwrite
deleteContactGroupgroup_idで識別される特定の連絡先グループ(リスト)を削除します。reportingdelete

はじめに

前提条件

  • Node.js >= 16.0
  • プロビジョニングされたSinch Engageアカウント
  • Claude Desktop(またはその他のMCPクライアント)。このREADMEはClaude Desktopに焦点を当てていますが、MCPサーバーは任意のMCPクライアントで使用できます。

API認証情報

MCPツールで使用されるAPIを利用するには、以下の認証情報が必要です:

MCPサーバー設定

Sinch Engage MCPサーバーは、実行可能なNPMパッケージとして利用可能です。以下は、Claude Desktop設定ファイル(claude_desktop_config.json)でのセットアップ方法です。環境変数に自身の認証情報とリージョン(現在サポートされているのは EUAU)を忘れずに入力してください:

{
  "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 を使用して、データの読み取り、書き込み、削除、またはそれらの組み合わせが可能なツールのみを選択できます。