Sinch Engage / MessageMedia MCP server

официальный

Sinch Engage (Sinch MessageMedia in AU) MCP server, which provides Sinch Engage APIs as MCP tools.

Документация

Sinch Engage MCP-сервер

Latest Release

Этот репозиторий содержит исходный код MCP-сервера Sinch Engage (Sinch MessageMedia в Австралии), который предоставляет API Sinch Engage в виде инструментов MCP.

Обзор инструментов

Ниже представлен список инструментов, доступных на MCP-сервере (все номера телефонов должны быть указаны в формате E.164, например, +61400000000 для Австралии).

Обмен сообщениями

ИнструментОписаниеКатегорияРежим
sendMessageОтправка SMS на мобильный номерmessagingwrite

Отчетность

ИнструментОписаниеКатегорияРежим
getDetailedMessageReportФормирует детальный отчет об отправленных и полученных сообщениях за указанный период с возможностью фильтрации по направлению, аккаунтам, метаданным и группировке.reportingread
getSummaryMessageReportФормирует сводный отчет об отправленных и полученных сообщениях за указанный период с возможностью фильтрации по направлению, аккаунтам и группировке.reportingread
getSummaryInsightMessageReportПолучает предварительно скомпилированный сводный отчет об отправленных и полученных сообщениях за указанный период с возможностью фильтрации по направлению, аккаунтам и группировке.reportingread
getAsyncReportStatusПолучает статус асинхронного запроса отчета по report_id.reportingread
getAsyncReportFieldsПолучает список доступных полей для асинхронного экспорта детального отчета.reportingread
requestAsyncDetailedMessageReportЗапрашивает асинхронный детальный отчет об отправленных и полученных сообщениях за указанный период с параметрами доставки для формата отчета и назначения.reportingread

Контакты

ИнструментОписаниеКатегорияРежим
getContactGroupsПолучает постраничный список групп контактов (списков), связанных с аккаунтом.reportingread
getContactGroupDetailsПолучает детали конкретной группы контактов (списка), идентифицируемой по group_id.reportingread
getContactWithSearchПолучает список контактов с возможностью фильтрации по группе, номеру телефона, имени и типу канала.reportingread
createContactGroupСоздает новую группу контактов (список) с указанным именем и необязательным псевдонимом.reportingwrite
createContactСоздает новый контакт с указанными деталями.reportingwrite
updateContactОбновляет существующий контакт, идентифицируемый по contact_id, новыми данными.reportingwrite
deleteContactGroupУдаляет конкретную группу контактов (список), идентифицируемую по group_id.reportingdelete

Начало работы

Предварительные требования

  • Node.js >= 16.0
  • Подготовленный аккаунт Sinch Engage
  • Claude Desktop (или любой другой MCP-клиент). Это README ориентировано на Claude Desktop, но MCP-сервер можно использовать с любым MCP-клиентом.

Учетные данные API

Для использования API, задействованных в инструментах MCP, вам потребуются следующие учетные данные:

Конфигурация MCP-сервера

MCP-сервер Sinch Engage доступен для выполнения в виде пакета 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: Запуск MCP-сервера через stdio с использованием Claude Desktop

Для локального запуска 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

Вот пример настройки MCP-сервера в конфигурационном файле Claude Desktop (claude_desktop_config.json), где вы можете указать свои учетные данные 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 подходящего инструмента.
Вы можете отфильтровать инструменты, доступные на MCP-сервере, указав MCP_TOOL_CATEGORIES в параметрах конфигурации Claude Desktop.

Если вы хотите фильтровать инструменты по разрешениям, вы можете использовать MCP_TOOL_MODES, чтобы выбрать только те инструменты, которые могут читать, записывать или удалять данные, либо любую их комбинацию.