Sinch Engage / MessageMedia MCP server
officielServeur MCP Sinch Engage (Sinch MessageMedia en Australie), qui fournit les API Sinch Engage en tant qu'outils MCP.
Documentation
Serveur MCP Sinch Engage
Ce dépôt contient le code source du serveur MCP Sinch Engage (Sinch MessageMedia en Australie), qui met à disposition les API Sinch Engage sous forme d'outils MCP.
Aperçu des outils
Voici la liste des outils disponibles dans le serveur MCP (tous les numéros de téléphone doivent être fournis au format E.164, par exemple +61400000000 pour l'Australie).
Messagerie
| Outil | Description | Catégorie | Mode |
|---|---|---|---|
| sendMessage | Envoyer un SMS à un numéro de mobile | messagerie | écriture |
Rapports
| Outil | Description | Catégorie | Mode |
|---|---|---|---|
| getDetailedMessageReport | Génère un rapport détaillé des messages envoyés et reçus pour une plage de dates spécifiée, avec des filtres optionnels pour la direction, les comptes, les métadonnées et le regroupement. | rapports | lecture |
| getSummaryMessageReport | Génère un rapport récapitulatif des messages envoyés et reçus pour une plage de dates spécifiée, avec des filtres optionnels pour la direction, les comptes et le regroupement. | rapports | lecture |
| getSummaryInsightMessageReport | Récupère un rapport récapitulatif pré-compilé des messages envoyés et reçus pour une plage de dates spécifiée, avec des filtres optionnels pour la direction, les comptes et le regroupement. | rapports | lecture |
| getAsyncReportStatus | Récupère le statut d'une demande de rapport asynchrone par report_id. | rapports | lecture |
| getAsyncReportFields | Récupère la liste des champs disponibles pour l'exportation de rapports détaillés asynchrones. | rapports | lecture |
| requestAsyncDetailedMessageReport | Demande un rapport détaillé asynchrone des messages envoyés et reçus pour une plage de dates spécifiée, avec des options de livraison pour le format et la destination du rapport. | rapports | lecture |
Contacts
| Outil | Description | Catégorie | Mode |
|---|---|---|---|
| getContactGroups | Récupère une liste paginée des groupes de contacts (listes) associés au compte. | rapports | lecture |
| getContactGroupDetails | Récupère les détails d'un groupe de contacts (liste) spécifique identifié par group_id. | rapports | lecture |
| getContactWithSearch | Récupère une liste de contacts, filtrable par groupe, numéro de téléphone, nom et type de canal. | rapports | lecture |
| createContactGroup | Crée un nouveau groupe de contacts (liste) avec le nom spécifié et un alias optionnel. | rapports | écriture |
| createContact | Crée un nouveau contact avec les détails spécifiés. | rapports | écriture |
| updateContact | Met à jour un contact existant identifié par contact_id avec de nouveaux détails. | rapports | écriture |
| deleteContactGroup | Supprime un groupe de contacts (liste) spécifique identifié par group_id. | rapports | suppression |
Pour commencer
Prérequis
- Node.js >= 16.0
- Un compte Sinch Engage provisionné
- Claude Desktop (ou tout autre client MCP). Ce README se concentre sur Claude Desktop, mais le serveur MCP peut être utilisé avec n'importe quel client MCP.
Identifiants API
Pour utiliser les API exploitées par les outils MCP, vous aurez besoin des identifiants suivants :
SINCH_ENGAGE_API_KEYetSINCH_ENGAGE_API_SECRETIdentifiants Sinch Engage
Configuration du serveur MCP
Le serveur MCP Sinch Engage est disponible sous forme de package NPM à exécuter. Voici comment le configurer dans le fichier de configuration de Claude Desktop (claude_desktop_config.json). N'oubliez pas de renseigner les variables d'environnement avec vos propres identifiants et la région (actuellement EU et AU sont supportées) :
{
"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"
}
}
}
}
Exécuter le serveur MCP localement
Option 1 : Démarrer le serveur MCP avec stdio en utilisant Claude Desktop
Pour exécuter le serveur MCP localement avec Claude Desktop, vous devrez cloner le dépôt et construire le serveur MCP. Cette option est utile pour le développement et les tests locaux.
Étape 1 : Cloner le dépôt
git clone https://github.com/messagemedia/sinch-engage-mcp-server.git
Étape 2 : Installer les dépendances
cd sinch-engage-mcp-server
npm install
Étape 3 : Configurer Claude Desktop
Voici un exemple de configuration du serveur MCP dans le fichier de configuration de Claude Desktop (claude_desktop_config.json) où vous pouvez fournir vos identifiants Sinch Engage et la région (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"
}
}
}
}
Étape 4 : (Optionnel) Filtrer les outils disponibles dans le serveur MCP
Trop d'outils signifie un contexte plus large, une utilisation de jetons plus élevée et plus de confusion pour le LLM afin de sélectionner le bon outil à utiliser.
Vous pouvez filtrer les outils disponibles dans le serveur MCP en fournissant MCP_TOOL_CATEGORIES dans les options de configuration de Claude Desktop.
Si vous souhaitez filtrer les outils par permissions, vous pouvez utiliser MCP_TOOL_MODES pour choisir uniquement les outils qui peuvent lire, écrire ou supprimer des données, ou toute combinaison de ceux-ci.