Le function calling est une capacité d’un modèle ou SDK pour proposer un outil et ses arguments. MCP est un protocole client-serveur qui standardise la découverte et l’accès à des outils, ressources et prompts. Ils ne sont pas concurrents : un client MCP peut présenter ses outils au modèle via le function calling.
Function calling : intégration locale et directe
Il convient lorsque l’application possède quelques fonctions stables. Le développeur définit les schémas, exécute et contrôle la boucle. Cette solution minimise l’infrastructure et permet une politique de sécurité très proche du code métier. Elle devient répétitive si plusieurs clients doivent partager de nombreuses intégrations.
MCP : réutiliser une capacité
MCP est pertinent lorsqu’un service doit être découvert par plusieurs clients, s’exécuter dans un autre processus ou exposer aussi ressources et prompts. Le serveur encapsule authentification et intégration au système cible. Cette séparation ajoute transport, versions, disponibilité et surface de sécurité à exploiter.
Arbre de décision
- Quelques fonctions internes à une application : function calling direct.
- Même intégration utilisée par plusieurs assistants : envisagez MCP.
- Besoin de ressources ou découverte standardisées : MCP.
- Action métier critique : gardez l’autorisation dans le service, quel que soit le mécanisme.
Sécurité
Validez tous les arguments, contrôlez identité et tenant dans l’exécuteur, limitez effets et exigez confirmation pour les actions sensibles. MCP ne rend pas un outil plus sûr ; function calling ne donne pas au modèle le droit d’exécuter.
FAQ
Peut-on utiliser les deux ?
Oui, c’est même fréquent : MCP distribue l’outil, le modèle choisit via tool calling.
MCP remplace-t-il une API REST ?
Non nécessairement. Un serveur MCP peut encapsuler une API existante.
Lequel coûte le moins cher ?
Le coût LLM est proche ; MCP ajoute surtout coût d’exploitation et apporte réutilisation.