Serveur MCP
Le serveur Model Context Protocol de seven permet à des assistants IA comme Claude Desktop, Claude Code et Cursor d'interagir directement avec l'API seven.io. Il expose les SMS, le RCS, la voix, les recherches, les contacts et la gestion de compte sous forme de plus de 40 outils répartis en 12 catégories.
Vous disposez de deux façons de connecter le serveur :
- Serveur hébergé (URL) - connexion directe à
https://mcp.seven.io/mcpsans aucune installation. Transport Streamable HTTP, connexion OAuth automatique dans le navigateur. - Installation locale (npx) - le paquet npm
@seven.io/mcplancé vianpxsur le transport stdio de MCP. Le code source se trouve sur GitHub.
| Propriété | Hébergé (URL) | Local (npx) |
|---|---|---|
| Transport | Streamable HTTP | stdio |
| Authentification | OAuth 2.0 (PKCE) | OAuth 2.0 ou clé API |
| Installation | aucune | npx télécharge à la volée |
| Mises à jour | côté serveur, automatiques | à chaque démarrage de npx |
| Compatibilité headless | oui | uniquement avec clé API |
| Stockage des tokens | dans le client MCP | trousseau du système |
Serveur hébergé (URL)
Ajoutez l'URL https://mcp.seven.io/mcp à votre client MCP. Le serveur utilise le transport Streamable HTTP (pas SSE) et OAuth 2.0 avec PKCE via la découverte du serveur d'autorisation.
Claude Code
claude mcp add --transport http seven https://mcp.seven.io/mcp
Cursor
Ajoutez le serveur au fichier .cursor/mcp.json de votre projet :
{
"mcpServers": {
"seven": {
"url": "https://mcp.seven.io/mcp"
}
}
}
Claude Desktop
La méthode la plus simple est l'interface : Paramètres → Connectors → Add custom connector, saisissez l'URL https://mcp.seven.io/mcp. Claude ouvre ensuite la connexion OAuth dans votre navigateur.
Vous pouvez aussi ajouter l'extrait suivant à votre claude_desktop_config.json via le pont mcp-remote :
{
"mcpServers": {
"seven": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.seven.io/mcp"]
}
}
}
Authentification
Lors de la première connexion, le client MCP détecte automatiquement le point d'accès OAuth, ouvre votre navigateur, demande les scopes nécessaires (SMS, Voix, RCS, …) et stocke les jetons. Aucune étape de connexion manuelle n'est nécessaire.
Installation locale (npx)
Le paquet npm @seven.io/mcp est lancé par votre client MCP via npx. Une installation globale n'est pas obligatoire - npx télécharge la dernière version à la demande. Si vous la souhaitez tout de même :
npm install -g @seven.io/mcp
Claude Code
claude mcp add seven npx @seven.io/mcp
Cursor
Ajoutez le serveur au fichier .cursor/mcp.json de votre projet :
{
"mcpServers": {
"seven": {
"command": "npx",
"args": ["@seven.io/mcp"]
}
}
}
Claude Desktop
Modifiez votre fichier claude_desktop_config.json :
| OS | Chemin |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
{
"mcpServers": {
"seven": {
"command": "npx",
"args": ["@seven.io/mcp"]
}
}
}
Authentification
La variante locale prend en charge deux méthodes. OAuth 2.0 avec PKCE est recommandé - rafraîchissement automatique des jetons, scopes fins et stockage sécurisé des jetons dans le trousseau de votre système d'exploitation. Si les deux méthodes sont configurées, OAuth est prioritaire.
OAuth 2.0 (recommandé)
Exécutez la commande de connexion une seule fois. Elle ouvre votre navigateur, demande les scopes nécessaires et stocke les jetons.
npx @seven.io/mcp login
Autres commandes CLI :
# Vérifier votre statut de connexion
npx @seven.io/mcp status
# Supprimer les jetons stockés
npx @seven.io/mcp logout
Clé API (héritée)
Définissez la variable d'environnement SEVEN_API_KEY. Créez votre clé dans le tableau de bord seven.io.
export SEVEN_API_KEY="votre-cle-api"
Dans la configuration du client :
{
"mcpServers": {
"seven": {
"command": "npx",
"args": ["@seven.io/mcp"],
"env": {
"SEVEN_API_KEY": "votre-cle-api"
}
}
}
}
Configurations headless ou distantes
Le flux de connexion OAuth nécessite un navigateur sur la même machine, capable d'atteindre 127.0.0.1:7177 / 9437 / 8659. Si vous exécutez le serveur MCP sur un système sans interface graphique ou via SSH sans redirection de ports, repliez-vous sur le serveur hébergé (URL) ou utilisez la variante avec clé API - les deux voies fonctionnent sans navigateur local.
Outils disponibles
Le serveur fournit plus de 40 outils regroupés par fonctionnalité.
Messagerie
| Outil | Description |
|---|---|
send_sms | Envoyer un SMS |
delete_sms | Supprimer un SMS programmé |
send_rcs | Envoyer un message RCS |
delete_rcs | Supprimer un message RCS |
rcs_events | Gérer les événements RCS |
send_voice | Lancer un appel vocal de synthèse vocale |
hangup_voice | Mettre fin à un appel vocal en cours |
Compte
| Outil | Description |
|---|---|
get_balance | Consulter le solde du compte |
get_pricing | Obtenir les tarifs par pays |
get_analytics | Consulter les statistiques du compte |
Recherche
| Outil | Description |
|---|---|
lookup_format | Valider le format d'un numéro de téléphone |
lookup_hlr | Home Location Register (réseau, roaming) |
lookup_mnp | Mobile Number Portability (opérateur) |
lookup_cnam | Recherche du nom de l'appelant |
lookup_rcs | Vérifier si un numéro prend en charge RCS |
Statut et journal
| Outil | Description |
|---|---|
get_status | Vérifier le statut de livraison |
get_logbook_sent | Consulter les messages envoyés |
get_logbook_received | Consulter les SMS reçus |
get_logbook_voice | Consulter l'historique des appels |
Numéros de téléphone
| Outil | Description |
|---|---|
get_available_numbers | Lister les numéros disponibles à la commande |
order_number | Acheter un numéro de téléphone |
get_active_numbers | Lister vos numéros actifs |
get_number | Obtenir les détails d'un numéro |
update_number | Mettre à jour la configuration d'un numéro |
delete_number | Résilier un numéro |
Contacts
| Outil | Description |
|---|---|
list_contacts | Lister tous les contacts |
create_contact | Créer un nouveau contact |
get_contact | Obtenir un contact par ID |
update_contact | Mettre à jour un contact |
delete_contact | Supprimer un contact |
Groupes
| Outil | Description |
|---|---|
list_groups | Lister tous les groupes |
create_group | Créer un nouveau groupe |
get_group | Obtenir un groupe par ID |
update_group | Mettre à jour un groupe |
delete_group | Supprimer un groupe |
Sous-comptes
| Outil | Description |
|---|---|
list_subaccounts | Lister tous les sous-comptes |
create_subaccount | Créer un nouveau sous-compte |
update_subaccount | Mettre à jour un sous-compte |
transfer_credits | Transférer des crédits vers un sous-compte |
delete_subaccount | Supprimer un sous-compte |
Webhooks
| Outil | Description |
|---|---|
list_webhooks | Lister les webhooks enregistrés |
create_webhook | Enregistrer un nouveau webhook |
delete_webhook | Supprimer un webhook |
Expéditeur
| Outil | Description |
|---|---|
validate_sender | Valider un identifiant d'expéditeur |
Exemples
Une fois le serveur connecté, vous pouvez interroger l'assistant en langage naturel. Le client MCP choisit automatiquement le bon outil.
Envoyer un SMS :
Envoie un SMS au +49170123456789 avec le texte 'Commande expédiée, suivi sur example.com/t/abc123'.
L'assistant appelle send_sms.
Vérifier le solde :
Quel est le solde de mon compte seven.io ?
L'assistant appelle get_balance.
Tarifs par pays :
Combien coûte un SMS vers la France, l'Espagne et les États-Unis ?
L'assistant appelle get_pricing et filtre les résultats.
Recherche d'opérateur et vérification RCS :
Trouve l'opérateur du +49170123456789 et dis-moi si le numéro prend en charge RCS.
L'assistant enchaîne lookup_mnp et lookup_rcs.
Vérifier la disponibilité, puis envoyer :
Vérifie via HLR si +49170123456789 est joignable. Si oui, envoie un SMS avec le texte 'Réunion demain à 10h'.
L'assistant appelle lookup_hlr et décide selon le résultat s'il exécute send_sms.
Créer un sous-compte et transférer du crédit :
Crée un sous-compte pour notre nouvelle équipe et transfère 50 EUR de crédit dessus.
L'assistant enchaîne create_subaccount et transfer_credits.
Dépannage
Journalisation de débogage
Définissez SEVEN_LOG_FILE pour enregistrer chaque requête et réponse API dans un fichier. Utile lorsqu'un appel d'outil ne se comporte pas comme prévu.
{
"mcpServers": {
"seven": {
"command": "npx",
"args": ["@seven.io/mcp"],
"env": {
"SEVEN_API_KEY": "votre-cle-api",
"SEVEN_LOG_FILE": "/tmp/mcp-seven-debug.log"
}
}
}
}
Suivez ensuite le fichier de log en direct :
tail -f /tmp/mcp-seven-debug.log