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

# Usa ThunderPhone come server MCP

> Collega qualsiasi client MCP Streamable HTTP a ThunderPhone per elencare gli agenti, esaminare chiamate e trascrizioni ed effettuare chiamate in uscita con una chiave API dell'organizzazione.

ThunderPhone espone un server Model Context Protocol all'indirizzo:

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

Configura un client MCP su quell'endpoint HTTP Streamable per rendere disponibili come strumenti gli agenti e le chiamate della tua organizzazione. È la direzione opposta rispetto a [collegare un server MCP remoto a un agente vocale](/it/guides/mcp-servers):

| Direzione                               | Risultato                                                                        |
| --------------------------------------- | -------------------------------------------------------------------------------- |
| Server MCP remoto → agente ThunderPhone | Il tuo agente vocale può chiamare gli strumenti del server remoto.               |
| ThunderPhone → il tuo client MCP        | Il tuo client MCP può chiamare gli strumenti ThunderPhone per agenti e chiamate. |

## Autenticazione

Crea una chiave `sk_live_` in **Organizzazione → Chiavi** e inviala come token Bearer. L'endpoint MCP accetta chiavi API dell'organizzazione, non cookie di sessione della dashboard né chiavi widget pubblicabili.

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

<Warning>
  Una chiave `sk_live_` può accedere ai dati dell'organizzazione ed effettuare chiamate. Tienila fuori dal codice del browser, dai repository, dagli screenshot e dai registri chat. Usa un archivio segreti supportato dal tuo client MCP e revoca immediatamente una chiave se viene esposta.
</Warning>

## Strumenti disponibili

| Strumento             | Argomenti                                         | Descrizione                                                                                                                        |
| --------------------- | ------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `list_agents`         | nessuno                                           | Elenca gli agenti dell'organizzazione con ID, nome, prodotto e voce.                                                               |
| `get_agent`           | `agent_id`                                        | Recupera un singolo agente.                                                                                                        |
| `place_call`          | `agent_id`, `from_number`, `to_number`            | Effettua una chiamata in uscita con le stesse convalide e gli stessi controlli di fatturazione dell'endpoint REST per le chiamate. |
| `get_call`            | `call_id`                                         | Recupera stato, riepilogo e valutazione della chiamata.                                                                            |
| `list_calls`          | `limit` facoltativo (1–100), `status` facoltativo | Elenca le chiamate recenti.                                                                                                        |
| `get_call_transcript` | `call_id`                                         | Recupera la trascrizione completa di una chiamata.                                                                                 |

Tutti gli strumenti sono limitati all'organizzazione associata alla chiave API. Un ID di un'altra organizzazione risulta non disponibile.

## Metodi del protocollo

L'endpoint implementa i metodi MCP JSON-RPC necessari per i client HTTP Streamable:

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

Puoi ispezionare direttamente il catalogo degli strumenti:

```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": {}
  }'
```

Chiama uno strumento con il relativo nome e argomenti:

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "list_calls",
    "arguments": { "limit": 20, "status": "completed" }
  }
}
```

I risultati degli strumenti sono elementi di contenuto testuale MCP. Gli errori degli strumenti vengono restituiti nel risultato con `isError: true`; i metodi JSON-RPC sconosciuti restituiscono un errore di protocollo.

## Effettuare chiamate in sicurezza

`place_call` segue le stesse regole di
[`POST /v1/call`](/api-reference/outbound-calls): l'agente e il numero devono appartenere all'organizzazione della chiave, il numero deve essere idoneo alle chiamate in uscita, l'organizzazione deve avere saldo sufficiente e qualsiasi conferma applicabile per le chiamate in uscita deve essere completata.

Considera un client con accesso a `place_call` come un chiamante di produzione. Limita chi può usare il client, rendi chiari nel suo prompt l'agente e il numero previsti e controlla le chiamate nella Cronologia chiamate.

## Riferimento completo del protocollo

Consulta [API dei server MCP](/api-reference/mcp-servers#thunderphone-as-an-mcp-server) per esempi di risposta, errori JSON-RPC e l'API di gestione dei server remoti.
