Sinch Engage / MessageMedia MCP server
oficialServidor MCP Sinch Engage (Sinch MessageMedia na Austrália), que fornece as APIs do Sinch Engage como ferramentas MCP.
Documentação
Servidor MCP Sinch Engage
Este repositório contém o código-fonte do servidor MCP Sinch Engage (Sinch MessageMedia na AU), que disponibiliza as APIs do Sinch Engage como ferramentas MCP.
Visão Geral das Ferramentas
Aqui está a lista de ferramentas disponíveis no servidor MCP (todos os números de telefone devem ser fornecidos no formato E.164, por exemplo, +61400000000 para a Austrália).
Mensagens
| Ferramenta | Descrição | Categoria | Modo |
|---|---|---|---|
| sendMessage | Envia SMS para um número de celular | messaging | write |
Relatórios
| Ferramenta | Descrição | Categoria | Modo |
|---|---|---|---|
| getDetailedMessageReport | Gera um relatório detalhado de mensagens enviadas e recebidas para um intervalo de datas especificado, com filtros opcionais para direção, contas, metadados e agrupamento. | reporting | read |
| getSummaryMessageReport | Gera um relatório resumido de mensagens enviadas e recebidas para um intervalo de datas especificado, com filtros opcionais para direção, contas e agrupamento. | reporting | read |
| getSummaryInsightMessageReport | Busca um relatório resumido pré-compilado de mensagens enviadas e recebidas para um intervalo de datas especificado, com filtros opcionais para direção, contas e agrupamento. | reporting | read |
| getAsyncReportStatus | Recupera o status de uma solicitação de relatório assíncrono pelo report_id. | reporting | read |
| getAsyncReportFields | Recupera a lista de campos disponíveis para exportação de relatório detalhado assíncrono. | reporting | read |
| requestAsyncDetailedMessageReport | Solicita um relatório detalhado assíncrono de mensagens enviadas e recebidas para um intervalo de datas especificado, com opções de entrega para formato e destino do relatório. | reporting | read |
Contatos
| Ferramenta | Descrição | Categoria | Modo |
|---|---|---|---|
| getContactGroups | Recupera uma lista paginada de grupos de contatos (listas) associados à conta. | reporting | read |
| getContactGroupDetails | Recupera detalhes de um grupo de contatos (lista) específico identificado por group_id. | reporting | read |
| getContactWithSearch | Recupera uma lista de contatos, filtrável por grupo, número de telefone, nome e tipo de canal. | reporting | read |
| createContactGroup | Cria um novo grupo de contatos (lista) com o nome especificado e alias opcional. | reporting | write |
| createContact | Cria um novo contato com os detalhes especificados. | reporting | write |
| updateContact | Atualiza um contato existente identificado por contact_id com novos detalhes. | reporting | write |
| deleteContactGroup | Exclui um grupo de contatos (lista) específico identificado por group_id. | reporting | delete |
Primeiros Passos
Pré-requisitos
- Node.js >= 16.0
- Uma conta Sinch Engage provisionada
- Claude Desktop (ou qualquer outro cliente MCP). Este README é focado no Claude Desktop, mas o servidor MCP pode ser usado com qualquer cliente MCP.
Credenciais da API
Para usar as APIs utilizadas pelas ferramentas MCP, você precisará das seguintes credenciais:
SINCH_ENGAGE_API_KEYeSINCH_ENGAGE_API_SECRETCredenciais Sinch Engage
Configuração do Servidor MCP
O servidor MCP Sinch Engage está disponível como um pacote NPM para execução. Veja como configurá-lo no arquivo de configuração do Claude Desktop (claude_desktop_config.json). Lembre-se de preencher as variáveis de ambiente com suas próprias credenciais e a região (atualmente com suporte EU e 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"
}
}
}
}
Executando o Servidor MCP Localmente
Opção 1: Iniciar o servidor MCP com stdio usando o Claude Desktop
Para executar o servidor MCP localmente com o Claude Desktop, você precisará clonar o repositório e compilar o servidor MCP. Esta opção é útil para desenvolvimento e testes locais.
Passo 1: Clonar o repositório
git clone https://github.com/messagemedia/sinch-engage-mcp-server.git
Passo 2: Instalar dependências
cd sinch-engage-mcp-server
npm install
Passo 3: Configurar o Claude Desktop
Aqui está um exemplo de como configurar o servidor MCP no arquivo de configuração do Claude Desktop (claude_desktop_config.json), onde você pode fornecer suas credenciais do Sinch Engage e a região (EU ou 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"
}
}
}
}
Passo 4: (Opcional) Filtrar as ferramentas disponíveis no servidor MCP
Muitas ferramentas significam um contexto maior, o que implica maior uso de tokens e mais confusão para o LLM selecionar a ferramenta correta a ser usada.
Você pode filtrar as ferramentas disponíveis no servidor MCP fornecendo MCP_TOOL_CATEGORIES nas opções de configuração do Claude Desktop.
Se você quiser filtrar ferramentas por permissões, pode usar MCP_TOOL_MODES para escolher apenas ferramentas que podem ler, escrever ou excluir dados, ou qualquer combinação delas.