Sinch Engage / MessageMedia MCP server
официальныйSinch Engage (Sinch MessageMedia in AU) MCP server, which provides Sinch Engage APIs as MCP tools.
Документация
Sinch Engage MCP-сервер
Этот репозиторий содержит исходный код MCP-сервера Sinch Engage (Sinch MessageMedia в Австралии), который предоставляет API Sinch Engage в виде инструментов 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
Для использования API, задействованных в инструментах MCP, вам потребуются следующие учетные данные:
SINCH_ENGAGE_API_KEYиSINCH_ENGAGE_API_SECRETУчетные данные Sinch Engage
Конфигурация 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, чтобы выбрать только те инструменты, которые могут читать, записывать или удалять данные, либо любую их комбинацию.