Utiliser ThunderPhone comme serveur MCP
Connectez n’importe quel client MCP HTTP Streamable à ThunderPhone pour répertorier les agents, consulter les appels et les transcriptions, et passer des appels sortants avec une clé API d’organisation.
ThunderPhone expose un serveur Model Context Protocol à l’adresse suivante :
https://api.thunderphone.com/v1/mcpPointez un client MCP vers cet endpoint HTTP Streamable pour rendre les agents et appels de votre organisation disponibles comme outils. C’est l’inverse de la connexion d’un serveur MCP distant à un agent vocal :
| Direction | Résultat |
|---|---|
| Serveur MCP distant → agent ThunderPhone | Votre agent vocal peut appeler les outils du serveur distant. |
| ThunderPhone → votre client MCP | Votre client MCP peut appeler les outils ThunderPhone pour les agents et les appels. |
Authentification
Créez une clé sk_live_ dans Organisation → Clés et envoyez-la sous forme de jeton Bearer. L’endpoint MCP accepte les clés API d’organisation, et non les cookies de session du tableau de bord ni les clés de widget publiables.
{
"mcpServers": {
"thunderphone": {
"url": "https://api.thunderphone.com/v1/mcp",
"headers": {
"Authorization": "Bearer sk_live_YOUR_API_KEY"
}
}
}
}Outils disponibles
| Outil | Arguments | Fonction |
|---|---|---|
list_agents | aucun | Liste les agents de l’organisation avec leur id, nom, produit et voix. |
get_agent | agent_id | Récupère un agent. |
place_call | agent_id, from_number, to_number | Effectue un appel sortant avec les mêmes validations et contrôles de facturation que l’endpoint REST d’appel. |
get_call | call_id | Récupère le statut, le résumé et la note d’un appel. |
list_calls | limit facultatif (1–100), status facultatif | Liste les appels récents. |
get_call_transcript | call_id | Récupère la transcription complète d’un appel. |
Tous les outils sont limités à l’organisation associée à la clé API. Un id provenant d’une autre organisation est considéré comme indisponible.
Méthodes du protocole
L’endpoint implémente les méthodes MCP JSON-RPC nécessaires aux clients HTTP Streamable :
initializenotifications/initializedtools/listtools/call
Vous pouvez inspecter directement le catalogue d’outils :
curl -X POST https://api.thunderphone.com/v1/mcp \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
}'Appelez un outil avec son nom et ses arguments :
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "list_calls",
"arguments": { "limit": 20, "status": "completed" }
}
}Les résultats des outils sont des éléments de contenu texte MCP. Les échecs d’outils sont renvoyés dans le résultat avec isError: true ; les méthodes JSON-RPC inconnues renvoient une erreur de protocole.
Effectuer des appels en toute sécurité
place_call suit les mêmes règles que
POST /v1/call : l’agent et le numéro doivent
appartenir à l’organisation associée à la clé, le numéro doit être éligible aux
appels sortants, l’organisation doit disposer d’un solde suffisant, et toute
confirmation requise pour les appels sortants doit être terminée.
Considérez un client ayant accès à place_call comme un appelant de production. Limitez les personnes autorisées à utiliser le client, indiquez clairement l’agent et le numéro prévus dans son propre prompt, et examinez les appels dans l’Historique des appels.
Référence complète du protocole
Consultez l’API des serveurs MCP pour des exemples de réponses, les erreurs JSON-RPC et l’API de gestion des serveurs distants.