Il function calling permette a un LLM di usare strumenti: gli descrivi delle funzioni (nome, parametri, a cosa servono) e lui, quando serve, invece di rispondere a parole emette una chiamata strutturata – get_weather(city="Genova"). Il tuo codice la esegue, restituisce il risultato, e il modello continua con quell'informazione.
È il mattone che trasforma il testo in azione: senza, un LLM può solo descrivere cosa farebbe. Sopra questo meccanismo si costruiscono gli agenti, e per non reinventare l'integrazione per ogni applicazione è nato MCP, che standardizza come i tool vengono esposti. La regola di sicurezza resta quella degli agenti: ogni funzione esposta è superficie d'attacco – tipizzala, limitala, loggala.