> ## Documentation Index
> Fetch the complete documentation index at: https://docs.thunderphone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 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 :

```text theme={null}
https://api.thunderphone.com/v1/mcp
```

Pointez 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](/fr/guides/mcp-servers) :

| 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.

```json Generic client configuration theme={null}
{
  "mcpServers": {
    "thunderphone": {
      "url": "https://api.thunderphone.com/v1/mcp",
      "headers": {
        "Authorization": "Bearer sk_live_YOUR_API_KEY"
      }
    }
  }
}
```

<Warning>
  Une clé `sk_live_` peut accéder aux données de l’organisation et effectuer des appels. Ne l’incluez pas dans du code navigateur, des dépôts, des captures d’écran ou des journaux de discussion. Utilisez un stockage de secrets pris en charge par votre client MCP et révoquez immédiatement toute clé exposée.
</Warning>

## 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 :

* `initialize`
* `notifications/initialized`
* `tools/list`
* `tools/call`

Vous pouvez inspecter directement le catalogue d’outils :

```bash theme={null}
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 :

```json theme={null}
{
  "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`](/api-reference/outbound-calls) : 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](/api-reference/mcp-servers#thunderphone-as-an-mcp-server) pour des exemples de réponses, les erreurs JSON-RPC et l’API de gestion des serveurs distants.
