BroadNet
Il giornaleIngegneria
Ingegneria

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.

BroadNet Engineering
11 min di lettura
Ingegneria · Numero 47
11 min di lettura

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

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.

stdioStreamable HTTP
Dove viene eseguito il serverCome sottoprocesso avviato dal client, sulla stessa macchinaCome servizio indipendente ha raggiunto oltre HTTPS
Come viaggiano i messaggiJSON-RPC delimitati da nuova riga tramite l'input e l'output standardOgni 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 credenzialiLa specifica afferma che i server stdio dovrebbero leggere le credenziali dall'ambienteUn header Authorization: Bearer in ogni richiesta; i token non devono mai essere inseriti nella query string
Uso tipicoStrumenti di sviluppo localiServizi ospitati condivisi da molti client, come un API di messaggistica
BroadNetNon offertohttps://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.
snippet
{
"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:

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

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

RischioControlloDove risiede
Inviare messaggi a qualcuno che non ha dato il consensoVerificare lo stato del consenso e dell'opt-out prima dell'esecuzione di qualsiasi strumento di invioIl vostro middleware o CRM
Inviare di notte o nel giorno sbagliatoFasce orarie di silenzio in base al fuso orario del destinatario e alle regole del mercatoIl vostro middleware
Utilizzare strumenti di cui il task non ha bisognoAbilitare solo gli strumenti richiesti; disabilitare gli strumenti per template, onboarding e accountimpostazioni dello strumento client MCP
Cicli infiniti e invii massiviLimiti di invio per agente e limiti di velocità; la specifica richiede che i server applichino limiti di velocità alle invocazioni degli strumentiIl vostro middleware e il server
Messaggi duplicati dopo un tentativo di riinvioMantenere l'ID del messaggio restituito e controllarne lo stato prima di reinviareLa logica del vostro agente (vedere la guida all'idempotenza)
Marketing inviato senza revisioneApprovazione umana per qualsiasi invio di marketing o multi-destinatarioprompt di conferma client MCP
Istruzioni nascoste nei messaggi in entrataTrattare il testo in entrata come dati; non permettere mai che attivi un invio senza una richiesta dell'utenteProgettazione dei prompt e regole di approvazione nell'host IA
Token trapelatoChiavi temporanee per gli esperimenti, variabili d'ambiente, revocare e riemettere in caso di esposizioneAmministratore dell'account BroadNet
Nessuna traccia di auditRegistrare ogni chiamata agli strumenti con input e risultatiClient 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 e tentativi di nuovo mostrano come fare.

Quali azioni di messaggistica dovrebbero richiedere l'approvazione umana?

AzionePredefinito suggeritoPerché
Leggere i rapporti di consegna, elenco modelliAutomaticoSola lettura; nulla raggiunge un cliente
Un messaggio transazionale a un cliente noto che lo ha richiestoAutomatico entro un limite di invio, o conferma con un clicBasso rischio, alto valore, facile da sottoporre a audit
Qualsiasi messaggio marketingSempre approvazione umanaRischio relativo a consenso, contenuto e costi
Qualsiasi invio a più di un destinatarioSempre approvazione umanaUn errore si moltiplica
Creazione o invio di modelli WhatsAppApprovazione umanaI modelli sono revisionati da Meta e rappresentano il vostro brand
Strumenti di account, fatturazione o onboardingDisabilitatoUn 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 MCPBroadNet REST API
Chi sceglie la chiamataIl modello, dall'elenco degli strumentiIl vostro codice
Endpointhttps://mcp.broadnet.me/mcphttps://api.broadnet.me, ad esempio POST /sms/sendSms
AutenticazioneAuthorization: Bearer <token>Authorization: Bearer <token>
Libreria clientQualsiasi client MCP che supporti server remoti e un header Authorization personalizzatoUn SDK ufficiale, @broadnet/cpaas-sdk (TypeScript/Node.js); generare altri client dalla specifica OpenAPI
Ideale perAssistenti, copiloti operativi, task ad-hoc in linguaggio naturaleFlussi 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 e il generatore curl, per i flussi che devono essere eseguiti nello stesso modo ogni volta. Il nostro riferimento 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

Letture correlate: agenti IA nella messaggistica per i clienti e scelta di una piattaforma IA agentica aziendale.

È stato utile?

Come scriviamo e revisioniamo i contenuti

Scritto da

BroadNet Engineering

L'ingegneria gestisce la rete: i binding SMPP , gli stack SS7 , i motori di routing, la noiosa infrastruttura che rende possibili un miliardo di messaggi al mese. Scrivono qui quando c'è qualcosa che vale la pena di annotare.

La rivista, via e-mail

Un saggio al mese. Nient'altro.

Iscriviti e ti invieremo il prossimo articolo – su ingegneria, regolamentazione o industria – il giorno stesso della sua pubblicazione. Nessuna campagna di email marketing, nessuna presentazione di prodotti, nessuna condivisione con terze parti. Puoi disiscriverti con un solo clic.

Inviamo un'email al mese. Puoi disiscriverti in qualsiasi momento. Consulta la nostra informativa sulla privacy.

Cosa otterrai
  • Articolo di lunga durata, non un semplice titolo acchiappa-link.
    Da sei a undici minuti di scrittura mirata su un singolo argomento.
  • Scritto dagli operatori
    Ingegneri, responsabili degli aspetti normativi e redattori di prodotto interni.
  • Consapevole della regione
    Una prospettiva basata sulla regione MENA in merito a regolatori, operatori e mix di canali.
  • Una volta al mese
    Niente campagne a goccia. Un solo saggio quando ce n'è uno da condividere.
Smetti di leggere. Inizia a spedire.

Gran parte di ciò che scriviamo l'abbiamo imparato durante la produzione.

Se questo articolo ti ha fatto annuire, probabilmente dovremmo parlarne. Descrivi il caso d'uso, i volumi, i mercati: ti forniremo informazioni su come procedere, sui prezzi e su un cliente di riferimento che potrai contattare.

$ curl -X POST https://api.broadnet.me/sms/sendSms