# MCP per il messaging: come gli agenti IA possono inviare SMS e WhatsApp in sicurezza

> Un server MCP trasforma un'API di messaggistica in strumenti utilizzabili da un agente IA. È un'operazione potente ma rischiosa: un agente con uno strumento di invio può contattare veri clienti. Scopri come funziona l'MCP per SMS e WhatsApp, come connettersi al server BroadNet e quali guardrail implementare.

- URL canonico: https://www.broadnet.me/it/blog/mcp-server-sms-whatsapp-ai-agents
- Lingua: it
- Ultimo aggiornamento: 2026-10-20
- Editore: BroadNet (https://www.broadnet.me)

- Pubblicato il: 2026-09-26
- Autore: BroadNet Engineering

Un server MCP per la messaggistica espone una API di messaggistica come strumenti che un agente IA può scoprire e chiamare attraverso il Model Context Protocol, in modo che un assistente possa inviare un SMS o un messaggio WhatsApp su richiesta. BroadNet ne esegue uno a https://mcp.broadnet.me/mcp, utilizzando il trasporto Streamable HTTP e un token Bearer, sullo stesso API che serve WhatsApp, SMS, RCS, Telegram, Push, Email, Messenger e Instagram. Questa guida spiega come funziona e, cosa più importante, come impedire a un agente di inviare messaggi alle persone sbagliate.

## Punti chiave

- MCP è un protocollo aperto, basato su JSON-RPC 2.0, che consente alle applicazioni IA di scoprire e chiamare strumenti esterni. Un server MCP di messaggistica trasforma gli endpoint di invio, modello e report in strumenti.
- I server remoti utilizzano il trasporto Streamable HTTP: un endpoint HTTPS, ogni messaggio del client è una HTTP POST. I server locali utilizzano solitamente stdio.
- Il server MCP BroadNet si trova a https://mcp.broadnet.me/mcp e rifiuta qualsiasi richiesta senza un header Authorization: Bearer.
- Un token è una credenziale di invio. L'agente agisce con i propri permessi, esattamente come farebbe il vostro codice.
- La specifica MCP afferma che DOINGREBBE sempre esserci un essere umano nel loop che possa negare le chiamate agli strumenti, e che i server DEVONO limitare la frequenza delle invocazioni degli strumenti. Costruite consensi, fasce orarie di silenzio, limiti e approvazioni attorno a ogni strumento di invio.

## Cos'è il Model Context Protocol?

La [specifica MCP](https://modelcontextprotocol.io/specification/latest) descrive MCP come "un protocollo aperto che consente un'integrazione senza soluzione di continuità tra le applicazioni LLM e le fonti di dati e gli strumenti esterni". Utilizza messaggi JSON-RPC 2.0 tra tre ruoli: host (l'applicazione IA), client (connettori all'interno dell'host) e server (servizi che forniscono strumenti, risorse e prompt). A partire dal 26 settembre 2026, l'ultima revisione della specifica è datata 2026-07-28.

Gli strumenti sono la parte che conta per la messaggistica. Un client li elenca con tools/list, il modello ne sceglie uno e il client lo invoca con tools/call. La specifica definisce gli strumenti "controllati dal modello": il modello decide quando usarli. È esattamente per questo che uno strumento di invio necessita di guardrail che il modello non possa aggirare con la conversazione.

## Come funziona un server MCP per SMS e WhatsApp?

Il percorso della richiesta ha cinque salti. Il punto fondamentale del design è che il server MCP non aggiunge alcun nuovo potere di invio; espone l'API che già possedete, sotto lo stesso token e con gli stessi controlli.

1. Un utente chiede all'host IA, ad esempio: "invia l'aggiornamento della consegna a questo cliente su WhatsApp".
2. Il modello seleziona uno strumento dall'elenco che il client MCP ha recuperato, come uno strumento di invio WhatsApp, e compila i suoi argomenti.
3. Il client MCP invia una richiesta tools/call come HTTP POST a https://mcp.broadnet.me/mcp con il token Bearer.
4. Il server MCP BroadNet valida il token e chiama l'endpoint API BroadNet corrispondente.
5. L'API instrada il messaggio verso WhatsApp o verso la rete mobile e restituisce un risultato, che torna al modello come risultato dello strumento.

Nella registrazione della demo del team di prodotto, il client elenca 380 strumenti BroadNet, tra cui send_message, post_sms_send, post_whatsapp_message_send, get_whatsapp_template_list, post_whatsapp_template_send, post_rcs_message_send e get_report_delivery. L'elenco esatto dipende dalla versione del server e dal proprio account; consultare la [documentazione del server MCP](https://www.broadnet.me/developers/mcp).

## Streamable HTTP o stdio: quale trasporto?

La specifica definisce due trasporti standard. Quale si utilizza dipende da dove viene eseguito il server, e questo decide come ci si autentica.

|  | stdio | Streamable HTTP |
|---|---|---|
| Dove viene eseguito il server | Come sottoprocesso avviato dal client, sulla stessa macchina | Come servizio indipendente ha raggiunto oltre HTTPS |
| Come viaggiano i messaggi | JSON-RPC delimitati da nuova riga tramite l'input e l'output standard | Ogni messaggio client è una richiesta POST HTTP verso un singolo endpoint MCP; le risposte tornano come JSON o come un flusso server-sent-events |
| Come funzionano le credenziali | La specifica afferma che i server stdio dovrebbero leggere le credenziali dall'ambiente | Un header Authorization: Bearer in ogni richiesta; i token non devono mai essere inseriti nella query string |
| Uso tipico | Strumenti di sviluppo locali | Servizi ospitati condivisi da molti client, come un API di messaggistica |
| BroadNet | Non offerto | https://mcp.broadnet.me/mcp |

Per i server HTTP, la revisione della specifica del 2025-06-18 richiede inoltre che i server validino l'header Origin e raccomanda che essi autentichino ogni connessione. L'ultima revisione (2026-07-28) rende ogni richiesta autonoma, trasportando la versione del protocollo e le capacità del client nei propri metadati; le revisioni precedenti aprivano una sessione con un handshake di inizializzazione, e i client rilevano quale revisione un server utilizzi e effettuano il fallback.

## Come si connette un agente IA al server MCP di BroadNet?

1. Ottieni un token dal tuo account BroadNet. Nel portale BroadAdmin, Integrations, poi MCP Integration, viene emessa una chiave temporanea; una chiave permanente viene fornita dall'amministratore del tuo account o dal master account.
2. Aggiungi il server al tuo client MCP. La maggior parte dei client richiede una configurazione JSON come quella riportata di seguito. I nomi dei campi variano leggermente tra i client, pertanto è necessario controllare la documentazione del proprio client.
3. Mantenere il token fuori dai file che si caricano (commit). Utilizzare il supporto alle variabili d'ambiente del proprio client, come fa la configurazione sottostante.
4. Apri l'elenco degli strumenti e disattiva ogni strumento di cui l'agente non ha bisogno.
5. Effettua un test con un singolo messaggio a un numero di tua proprietà prima di consentire all'agente l'accesso ai dati dei clienti.

```
{
  "mcpServers": {
    "broadnet": {
      "type": "http",
      "url": "https://mcp.broadnet.me/mcp",
      "headers": {
        "Authorization": "Bearer ${BROADNET_TOKEN}"
      }
    }
  }
}
```

Per testare la connessione senza un client, inviare autonomamente la richiesta di inizializzazione:

```
curl -X POST https://mcp.broadnet.me/mcp \
  -H "Authorization: Bearer $BROADNET_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize",
       "params":{"protocolVersion":"2025-06-18","capabilities":{},
                 "clientInfo":{"name":"curl","version":"1.0"}}}'
```

Senza l'header, il server rifiuta la chiamata a livello di protocollo. Questa è la sua risposta effettiva a una richiesta di inizializzazione non autenticata, verificata il 26 settembre 2026:

```
event: message
data: {"jsonrpc":"2.0","id":1,"error":{"code":-32001,
  "message":"Authorization bearer token is required. Connect with an
  'Authorization: Bearer <BroadNet token>' header."}}
```

## È sicuro fornire a un agente di IA una chiave API di messaggistica?

Solo con dei limiti attorno ad esso. Il token è una credenziale di invio: chiunque, o qualsiasi agente, in possesso di esso può inviare messaggi dal proprio account, e ogni invio costa denaro e raggiunge una persona reale. Gli agenti agiscono inoltre su istruzioni in linguaggio naturale, e parte di quel testo proviene dall'esterno: un messaggio in entrata del cliente o una pagina web possono contenere istruzioni che il modello potrebbe tentare di seguire. La specifica MCP è esplicita su questo punto. Essa afferma che gli host devono ottenere il consenso esplicito dell'utente prima di invocare qualsiasi strumento, che dovrebbe sempre esserci un essere umano nel processo con la capacità di negare le invocazioni degli strumenti, e che i client devono trattare le annotazioni degli strumenti come non attendibili a meno che non provengano da un server attendibile.

## Quali guardrail impediscono a un agente di inviare spam ai clienti?

Posizionate i controlli dove il modello non può aggirarli: nella configurazione del client, nel vostro middleware o nelle impostazioni dell'account, non nel prompt.

| Rischio | Controllo | Dove risiede |
|---|---|---|
| Inviare messaggi a qualcuno che non ha dato il consenso | Verificare lo stato del consenso e dell'opt-out prima dell'esecuzione di qualsiasi strumento di invio | Il vostro middleware o CRM |
| Inviare di notte o nel giorno sbagliato | Fasce orarie di silenzio in base al fuso orario del destinatario e alle regole del mercato | Il vostro middleware |
| Utilizzare strumenti di cui il task non ha bisogno | Abilitare solo gli strumenti richiesti; disabilitare gli strumenti per template, onboarding e account | impostazioni dello strumento client MCP |
| Cicli infiniti e invii massivi | Limiti di invio per agente e limiti di velocità; la specifica richiede che i server applichino limiti di velocità alle invocazioni degli strumenti | Il vostro middleware e il server |
| Messaggi duplicati dopo un tentativo di riinvio | Mantenere l'ID del messaggio restituito e controllarne lo stato prima di reinviare | La logica del vostro agente (vedere la guida all'idempotenza) |
| Marketing inviato senza revisione | Approvazione umana per qualsiasi invio di marketing o multi-destinatario | prompt di conferma client MCP |
| Istruzioni nascoste nei messaggi in entrata | Trattare il testo in entrata come dati; non permettere mai che attivi un invio senza una richiesta dell'utente | Progettazione dei prompt e regole di approvazione nell'host IA |
| Token trapelato | Chiavi temporanee per gli esperimenti, variabili d'ambiente, revocare e riemettere in caso di esposizione | Amministratore dell'account BroadNet |
| Nessuna traccia di audit | Registrare ogni chiamata agli strumenti con input e risultati | Client MCP; la specifica dice che i client dovrebbero registrare l'uso degli strumenti |

Il BroadNet API non ha un header di idempotenza, quindi un tentativo di nuovo dopo un timeout può causare un doppio invio. Il pattern sicuro è memorizzare l'ID del messaggio che l'API restituisce e controllare lo stato di consegna prima di reinviare; le nostre guide su [idempotenza](https://www.broadnet.me/developers/idempotency) e [tentativi di nuovo](https://www.broadnet.me/developers/retries) mostrano come fare.

## Quali azioni di messaggistica dovrebbero richiedere l'approvazione umana?

| Azione | Predefinito suggerito | Perché |
|---|---|---|
| Leggere i rapporti di consegna, elenco modelli | Automatico | Sola lettura; nulla raggiunge un cliente |
| Un messaggio transazionale a un cliente noto che lo ha richiesto | Automatico entro un limite di invio, o conferma con un clic | Basso rischio, alto valore, facile da sottoporre a audit |
| Qualsiasi messaggio marketing | Sempre approvazione umana | Rischio relativo a consenso, contenuto e costi |
| Qualsiasi invio a più di un destinatario | Sempre approvazione umana | Un errore si moltiplica |
| Creazione o invio di modelli WhatsApp | Approvazione umana | I modelli sono revisionati da Meta e rappresentano il vostro brand |
| Strumenti di account, fatturazione o onboarding | Disabilitato | Un agente non dovrebbe cambiare l'account su cui opera |

## MCP o un semplice REST API: quale dovrebbe usare un agente?

Entrambi raggiungono la stessa piattaforma. La differenza è chi decide quale chiamata effettuare.

|  | Server BroadNet MCP | BroadNet REST API |
|---|---|---|
| Chi sceglie la chiamata | Il modello, dall'elenco degli strumenti | Il vostro codice |
| Endpoint | https://mcp.broadnet.me/mcp | https://api.broadnet.me, ad esempio POST /sms/sendSms |
| Autenticazione | Authorization: Bearer <token> | Authorization: Bearer <token> |
| Libreria client | Qualsiasi client MCP che supporti server remoti e un header Authorization personalizzato | Un SDK ufficiale, @broadnet/cpaas-sdk (TypeScript/Node.js); generare altri client dalla specifica OpenAPI |
| Ideale per | Assistenti, copiloti operativi, task ad-hoc in linguaggio naturale | Flussi di produzione con logica fissa: OTP, avvisi, campagne |

Una suddivisione sensata: utilizzare MCP quando una persona guida l'agente e un prompt di conferma è accettabile, e utilizzare il REST API, con il [quickstart](https://www.broadnet.me/developers/quickstart) e il [generatore curl](https://www.broadnet.me/tools/curl-generator), per i flussi che devono essere eseguiti nello stesso modo ogni volta. Il nostro [riferimento API](https://www.broadnet.me/developers/api) documenta gli endpoint alla base degli strumenti MCP.

## Domande frequenti

### Cos'è un server MCP per la messaggistica?

Un server che espone un API di messaggistica, come invio SMS, invio messaggio WhatsApp o ricezione report di consegna, come strumenti che un agente IA può scoprire e chiamare attraverso il Model Context Protocol.

### Qual è l'URL del server BroadNet MCP?

https://mcp.broadnet.me/mcp. Utilizza il trasporto MCP Streamable HTTP e richiede un header Authorization: Bearer con il vostro token BroadNet in ogni richiesta.

### Quali client IA possono connettersi ad esso?

Qualsiasi client MCP in grado di connettersi a un server remoto tramite Streamable HTTP e inviare un header Authorization personalizzato. La registrazione demo BroadNet utilizza Cursor.

### L'agente può inviare messaggi reali?

Sì. Gli strumenti agiscono con i permessi del vostro token, esattamente come farebbero le vostre chiamate API. Trattate ogni invio come reale: abilitate solo gli strumenti di cui l'agente ha bisogno e richiedete una conferma prima degli invii.

### Come funziona l'autenticazione Bearer con MCP?

Per HTTP il client invia Authorization: Bearer seguito dal token in ogni richiesta, anche all'interno della stessa sessione, e mai nella query string dell'URL. Il server di BroadNet rifiuta le richieste in sua mancanza.

### Qual è la differenza tra stdio e Streamable HTTP?

stdio esegue il server come sottoprocesso locale ed scambia JSON-RPC delimitati da nuova riga tramite l'input e l'output standard. Streamable HTTP esegue il server come servizio web dove ogni messaggio del client è una richiesta POST HTTP verso un singolo endpoint.

### Come posso impedire a un agente IA di inviare spam ai clienti?

Imporre controlli sul consenso, le fasce orarie di silenzio e i limiti di invio al di fuori del modello, abilitare solo gli strumenti necessari, richiedere l'approvazione umana per i messaggi di marketing e gli invii a più destinatari, e registrare ogni chiamata agli strumenti.

### Dovrei usare MCP o il REST API?

Usa MCP quando una persona guida un agente in linguaggio naturale. Usa il REST API o il TypeScript SDK per flussi di produzione fissi come OTP e avvisi, dove il tuo codice, non un modello, decide cosa inviare.

## Fonti

- Model Context Protocol, [Panoramica della specifica (revisione 2026-07-28)](https://modelcontextprotocol.io/specification/latest), consultato il 26 settembre 2026.
- Model Context Protocol, [Trasporti (2025-06-18)](https://modelcontextprotocol.io/specification/2025-06-18/basic/transports) e [Trasporti (2026-07-28)](https://modelcontextprotocol.io/specification/2026-07-28/basic/transports), consultato il 26 settembre 2026.
- Model Context Protocol, [Authorization (2025-06-18)](https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization), consultato il 26 settembre 2026.
- Model Context Protocol, [Strumenti (2026-07-28)](https://modelcontextprotocol.io/specification/2026-07-28/server/tools), consultato il 26 settembre 2026.
- BroadNet, [documentazione del server MCP](https://www.broadnet.me/developers/mcp), e una sonda live di https://mcp.broadnet.me/mcp il 26 settembre 2026.

Letture correlate: [agenti IA nella messaggistica per i clienti](https://www.broadnet.me/blog/ai-agents-customer-messaging-agentic-cpaas-2026) e [scelta di una piattaforma IA agentica aziendale](https://www.broadnet.me/blog/enterprise-agentic-ai-platform-2026).
