Les fournisseurs de services IA se multiplient. Chacun y va de son nouveau modèle, plus rapide, plus convaincant pour créer des applications, capable de “réflexion”. Mais de plus en plus, les utilisateurs cherchent non pas à obtenir de réponses génériques plus ou moins efficaces et pertinentes. Ils veulent disposer d’assistants qui peuvent aller récupérer du contexte depuis différents services afin de les faire travailler ensemble.
MCP: le Function Calling et au-delà
Depuis quelque temps déjà, les modèles se sont dotés d’une capacité dite de Function Calling. Lorsqu’un type de phrase particulier est repéré, il peut être utilisé pour appeler une fonction et lui fournir des paramètres afin de récupérer une réponse issue d’un service tiers. Mais comme souvent, cela s’est fait dans les premiers temps avec une approche différente d’un fournisseur à l’autre, d’un outil de déploiement à l’autre. Ainsi est né MCP : Model Context Protocol.
Présenté par Anthropic fin novembre, MCP se donne pour but de standardiser la manière de fournir du contexte aux grands modèles de langage (LLMs). Il prend la forme d’un serveur, dit serveur MCP, et un client qui peut exposer des fonctions, des prompts, mais également des ressources telles que du texte, des logs, des images, etc. Et d’un serveur qui peut lister tous ces éléments afin de les utiliser. Le protocole, ouvert et actuellement en pleine évolution, repose sur JSON-RPC 2.0 et deux modes de “transport” : stdio et SSE (Server-Sent Events), mais d’autres peuvent être exploités. Si vous voulez en savoir plus, les spécifications techniques sont détaillées par ici.
Il existe différentes implémentations officielles, pour Kotlin, Python, TypeScript, puis une myriade des solutions officieuses. On trouve d’ailleurs déjà de nombreuses listes de clients/serveurs qui vont de la capacité à lire des fichiers locaux à la lecture de bases de données ou la récupération d’information depuis un compte GitHub par exemple. Outre l’intégration aux clients Desktop de Claude (le service de chat d’Anthropic), plusieurs IDE et extensions se mettent à MCP: Cline, Continue, Zed, etc.
En pratique, il n’est pas très complexe de créer un serveur MCP, d’autant que les SDK peuvent vous y aider et que les guides se multiplient. Mais comment les exposer à une multitude de modèles, les intégrer à vos outils ensuite ? C’est là que les choses peuvent se compliquer.
Otoroshi simplifie l’accès au Function calling et à MCP
Ainsi, dès décembre nous avons commencé à travailler avec l’équipe de Cloud APIM afin de simplifier l’usage de ce protocole au sein d’Otoroshi with LLM, que nous proposons sous la forme d’un add-on qui se déploie en quelques clics. Il supportait déjà nativement le Function Calling, permettant à n’importe quel modèle d’être enrichi par des fonctions écrites en Web Assembly (WASM, via Extism) ou en JavaScript. C’était l’occasion d’aller plus loin.
Ainsi, la nouvelle version déployée sur Clever Cloud gère désormais:
- MCP Endpoint : pour exposer des fonctions aux clients MCP
- MCP Connectors : pour ajouter des fonctions depuis un serveur MCP
Les serveurs MCP créés par Otoroshi peuvent communiquer avec des clients directement via SSE, mais également des requêtes HTTP ou des WebSocket. Leur création ne prend que quelques minutes. Si votre client ne supporte que stdio, vous pouvez utiliser le proxy développé par l’équipe de Cloud APIM qui assurera de communication avec le serveur.
Nous en avons profité pour ajouter le support de DeepSeek comme fournisseur et le support des fonctions sous la forme d’appel HTTP. Ainsi, Otoroshi peut exploiter notre FaaS, actuellement en alpha privée, avec différents modèles d’IA.
Et en pratique ?
Envie d’en savoir plus ? Rendez-vous à 13h sur notre chaîne Twitch ! Nous organisons une démonstration en direct. Vous pourrez ainsi découvrir comment configurer et utiliser Otoroshi with LLM pour créer vos propres clients/serveurs MCP en quelques minutes !
N’hésitez pas également à venir à notre rencontre au Paris Open Source AI Summit ce mercredi 22 janvier, plusieurs membres de notre équipe seront sur place.