- MCP (Model Context Protocol) est une méthode standardisée permettant de fournir des outils et du contexte aux LLM
- Comme un port USB-C, il sert d’interface standard pour connecter des modèles d’IA à diverses sources de données ou à divers outils
- L’OpenAI Agents SDK prend en charge MCP, ce qui permet l’intégration avec divers serveurs MCP
Serveurs MCP
- La spécification MCP définit actuellement deux types de serveurs selon le mécanisme de transport utilisé :
- Les serveurs stdio s’exécutent comme sous-processus de l’application et peuvent être considérés comme s’exécutant en « local ».
- Les serveurs HTTP over SSE s’exécutent à distance et se connectent via une URL.
- Vous pouvez vous connecter à ces serveurs à l’aide des classes
MCPServerStdio et MCPServerSse.
- Par exemple, voici comment utiliser le serveur officiel MCP pour le système de fichiers :
async with MCPServerStdio(
params={
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", samples_dir],
}
) as server:
tools = await server.list_tools()
Mise en cache
- Appeler
list_tools() sur un serveur MCP à chaque exécution d’un agent peut entraîner de la latence, en particulier si le serveur est distant.
- Pour mettre automatiquement en cache la liste des outils, vous pouvez passer
cache_tools_list=True à MCPServerStdio et MCPServerSse. Cela ne doit être fait que si vous êtes certain que la liste des outils ne changera pas.
- Pour invalider le cache, vous pouvez appeler
invalidate_tools_cache() sur le serveur.
4 commentaires
Anthropic publie Model Context Protocol en open source
Comment développer avec Model Context Protocol (MCP)
Explication comparative entre MCP et les API
Awesome MCP Servers - Liste des serveurs prenant en charge Model Context Protocol
Avis sur Hacker News
Aujourd’hui, MCP a ajouté Streamable HTTP. C’est une avancée majeure, car cela évite d’avoir à maintenir en permanence une connexion à un serveur HTTP distant
{ "location": "New York" }en HTTP POST à/get_weatherAuthorizationet on utiliserait des endpoints classiquesIl y a cette analogie qui consiste à voir MCP comme le port USB-C des applications d’IA
Je me demandais si OpenAI allait le soutenir officiellement, et maintenant j’ai ma réponse
J’espérais un support d’OpenAPI. J’ai créé quelques serveurs MCP, mais j’ai l’impression que c’est une API moins flexible et moins bien documentée
J’ai du mal à comprendre la valeur de MCP. Au milieu du désordre des technologies d’IA modernes, ça ressemble à une distraction de plus
J’ai construit une architecture qui permet aux agents IA d’utiliser des « outils » en local. Elle fonctionne avec toutes sortes de LLM et de serveurs LLM
Il manque des vidéos montrant concrètement comment utiliser MCP. Il manque aussi des cas d’usage vraiment concrets pour les programmeurs
Il y a cette analogie qui consiste à voir MCP comme le port USB-C des applications d’IA
Cela semble viser HTTP+SSE, l’ancienne version de MCP, et non la nouvelle version Streaming HTTP
Si vous voulez tester MCP simplement, j’ai créé <a href="https://skeet.build/mcp" rel="nofollow">skeet.build/mcp</a>
Je pense aussi que l’OpenAPI function calling n’est-il pas meilleur ? Rien que le fait de tout refaire avec le protocole MCP, c’est déjà du travail.
N’est-ce pas plutôt la différence entre push et poll ? J’ai l’impression que, pour un tiers, il est plus pratique d’héberger la spécification MCP et de laisser l’agent venir la récupérer par poll, plutôt que de faire du function calling pour chaque modèle ou service.