Brief IA : Model Context Protocol : la révolution des connexions IA-outils

Model Context Protocol : la révolution des connexions IA-outils

Brief IA
Tom Levy·7 min·2 vues

Le Model Context Protocol (MCP) simplifie l'intégration entre modèles d'IA et outils, remplaçant les intégrations personnalisées par un protocole standard. Avant le MCP, chaque connexion entre un modèle et un outil nécessitait une intégration unique, créant une complexité exponentielle avec l'augmentation du nombre de modèles et d'outils. Lancé par Anthropic en 2024, le MCP est devenu un standard adopté par OpenAI et Google, facilitant l'émergence d'un écosystème d'outils préconstruits.

En bref
1Le Model Context Protocol (MCP) simplifie l'intégration entre modèles d'IA et outils, remplaçant les intégrations personnalisées par un protocole standard.
2Avant le MCP, chaque connexion entre un modèle et un outil nécessitait une intégration unique, créant une complexité exponentielle avec l'augmentation du nombre de modèles et d'outils.
3Lancé par Anthropic en 2024, le MCP est devenu un standard adopté par OpenAI et Google, facilitant l'émergence d'un écosystème d'outils préconstruits.
💡Pourquoi c'est importantLe MCP transforme la manière dont les applications d'IA interagissent avec les outils, réduisant la complexité technique et accélérant l'innovation.
Le brief IA que lisent les pros

Tu veux les meilleurs outils IA avant les autres ?

On teste et on décrypte les nouveaux outils IA chaque soir, en 5 min. Gratuit.

Inclus dès l'inscription : notre sélection des meilleurs guides & comparatifs IA.

Choisis ton rythme

Gratuit · Pas de spam · Désabonnement en 1 clic

📄
L'analyse en français

Une nouvelle ère pour les agents d'IA : le Model Context Protocol

Dans mes précédents articles, j'ai exploré la manière dont les agents d'IA choisissent et utilisent divers outils, en détaillant le processus par lequel un modèle génère un appel d'outil, notre code l'exécute, et le résultat est renvoyé au modèle. Cette méthode fonctionne bien dans un cadre simplifié, mais elle pose un problème majeur : la provenance des outils.

Dans les exemples que nous avons étudiés, les outils étaient définis manuellement dans le même script Python que l'agent. Cette méthode, bien qu'adéquate pour un tutoriel, devient rapidement impraticable dans une application réelle. Chaque outil nécessite une intégration sur mesure, chaque paire modèle-outil a besoin de son propre connecteur, et ainsi de suite. Par exemple, une configuration avec trois modèles d'IA et dix outils pourrait nécessiter jusqu'à trente intégrations, et chaque changement dans ces éléments peut entraîner des dysfonctionnements. En résumé, cette approche ne s'adapte pas à des configurations complexes.

Ce problème n'est pas isolé, mais représente un défi majeur dans l'ère actuelle de l'IA agentique. C'est précisément pour résoudre ce problème que le Model Context Protocol (MCP) a été conçu.

Les défis avant l'introduction du MCP

Avant l'avènement du MCP, connecter un modèle d'IA à un outil externe, tel qu'une base de données ou un dépôt GitHub, nécessitait une intégration personnalisée à chaque fois. Le modèle devait comprendre comment appeler l'outil dans son format spécifique, et l'outil devait savoir répondre dans un format compréhensible par le modèle. Si le modèle ou l'outil changeait, l'intégration devait être réécrite.

Ce problème est souvent décrit comme le problème M×N, où M représente le nombre de modèles et N le nombre d'outils, nécessitant M×N intégrations personnalisées. À mesure que le nombre de modèles et d'outils augmente, cette approche devient insoutenable.

Une analogie utile est l'évolution des connecteurs matériels. Autrefois, chaque périphérique informatique avait son propre connecteur propriétaire. Ce problème a été résolu par l'adoption de l'USB comme connecteur standard. De même, le MCP peut être vu comme l'USB des agents d'IA, un protocole standard permettant à tout agent compatible de se connecter à n'importe quel outil compatible, indépendamment de leur fabricant.

Définition et architecture du Model Context Protocol

Le Model Context Protocol est un standard ouvert qui permet aux développeurs de créer des connexions sécurisées et bidirectionnelles entre leurs sources de données et les outils alimentés par l'IA. Créé par Anthropic et publié en open source en novembre 2024, il remplace les intégrations personnalisées par un protocole client-serveur unique, permettant à tout hôte d'IA compatible MCP de découvrir et d'utiliser des outils et ressources de données compatibles MCP.

L'architecture du MCP repose sur trois participants principaux :

  • L'Hôte : C'est l'application d'IA avec laquelle l'utilisateur interagit, comme Claude Desktop ou une extension VS Code. L'hôte gère la fenêtre de contexte du modèle, décide quand invoquer des outils, et redirige les sorties des outils dans la conversation.

  • Le Client : Il réside à l'intérieur de l'hôte et gère la connexion à un ou plusieurs serveurs MCP. Le client est la partie de l'application qui gère le protocole MCP.

  • Le Serveur : C'est là où se trouvent les outils et les données réelles. Un serveur MCP expose des capacités à travers une interface standardisée, mais ne communique jamais directement avec le LLM ; toute interaction est médiée par le client.

Les capacités exposées par le serveur MCP peuvent être de trois types :

  • Outils : Ce sont des opérations exécutables qui renvoient leur sortie au modèle d'IA, comme des requêtes à une base de données ou l'envoi d'un e-mail.

  • Ressources : Elles offrent un accès en lecture seule aux données, comme le contenu de fichiers ou les réponses d'API.

  • Prompts : Ce sont des modèles de prompts réutilisables qui définissent des schémas d'interaction structurés.

Mise en œuvre d'un serveur MCP en Python

Pour illustrer le fonctionnement du MCP, examinons un exemple de serveur MCP minimal en Python, utilisant le SDK MCP officiel :

from mcp.server.fastmcp import FastMCP

# créer un serveur MCP
mcp = FastMCP("weather-server")

def get_current_weather(city: str, unit: str = "celsius") -> dict:
    """Obtenir la météo actuelle pour une ville donnée en utilisant Open-Meteo."""
    # géocoder la ville
    geo = requests.get(
        "https://geocoding-api.open-meteo.com/v1/search",
        params={"name": city, "count": 1}
    )
    lat = geo["results"][0]["latitude"]
    lon = geo["results"][0]["longitude"]
    weather = requests.get(
        "https://api.open-meteo.com/v1/forecast",
        params={
            "latitude": lat,
            "longitude": lon,
            "current": "temperature_2m,weather_code",
            "temperature_unit": unit
        }
    )
    return {
        "[temperature](/glossaire/temperature)": weather["current"]["temperature_2m"],
    }

if __name__ == "__main__":
    # Lancement du serveur
    mcp.run()

Dans cet exemple, nous enregistrons notre fonction get_current_weather comme un outil MCP en utilisant @mcp.tool(). Ce décorateur génère automatiquement le schéma JSON à partir des annotations de type, le rendant découvrable par tout hôte compatible MCP. Ainsi, le besoin d'intégrations personnalisées et d'adaptateurs spécifiques au modèle est éliminé. Tout agent compatible MCP peut désormais appeler cet outil météo en se connectant à ce serveur MCP.

Intégration côté client

Examinons maintenant le côté client, où un agent peut se connecter à ce serveur :

from anthropic import Anthropic
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def run_agent_with_mcp():
    server_params = StdioServerParameters(
        command="python",
        args=["weather_server.py"]
    )
    async with stdio_client(server_params) as (read, write):
        async with ClientSession(read, write) as session:
            # découvrir les outils disponibles sur le serveur
            tools = await session.list_tools()
            print(f"Outils disponibles : {[t.name for t in tools.tools]}")
            # Outils disponibles : ['get_current_weather']
            # l'agent peut maintenant appeler cet outil comme n'importe quel autre
            result = await session.call_tool(
                "get_current_weather",
                arguments={"city": "Athens", "unit": "celsius"}
            )
            print(result.content)
            # {'city': 'Athens', 'temperature': 29.0, 'unit': 'celsius'}

Au moment de l'exécution, l'hôte découvre les outils disponibles sur le serveur sans avoir besoin de les connaître à l'avance. Ainsi, nous passons d'intégrations codées en dur à des capacités dynamiques et découvrables.

Implications pratiques du MCP

Avant le MCP, la question de savoir si un agent pouvait utiliser un outil nécessitait une réponse d'ingénierie personnalisée. Avec le MCP, cette question devient triviale, remplacée par des considérations sur les outils auxquels les agents devraient avoir accès, et comment sécuriser cet accès à grande échelle.

Le MCP a été lancé en novembre 2024 avec environ 100 000 téléchargements mensuels du SDK. En mars 2025, OpenAI l'a adopté officiellement, suivi par Google pour son projet Gemini. En mars 2026, les SDK Python et TypeScript combinés avaient atteint 97 millions de téléchargements mensuels.

En décembre 2025, Anthropic a transféré le MCP à la Agentic AI Foundation (AAIF), sous l'égide de la Linux Foundation, assurant ainsi sa viabilité à long terme. Ce transfert a placé le MCP aux côtés de projets comme Kubernetes et PyTorch dans le portefeuille d'infrastructure ouverte de la Linux Foundation.

Nous assistons à l'émergence d'un écosystème MCP, avec un marché de serveurs MCP préconstruits pour des outils populaires. Des serveurs MCP existent pour GitHub, Slack, PostgreSQL, Docker, Kubernetes, et bien d'autres, tous consultables via le MCP Registry. Connecter un agent à ces serveurs est désormais une simple étape de configuration.

Pour les développeurs, cela change le calcul entre construire et intégrer. Avant le MCP, connecter un agent à divers systèmes nécessitait plusieurs intégrations personnalisées. Avec le MCP, si des serveurs existent, il s'agit d'une simple configuration. S'ils n'existent pas, créer un serveur MCP une fois permet à n'importe quel agent de l'utiliser.

Il est crucial de noter que le MCP ne remplace pas les API REST. Le MCP est un protocole pour l'accès aux outils d'IA, et non un standard d'API général. Vos API REST et GraphQL continuent de servir des clients humains et des services traditionnels, le MCP venant simplement les envelopper.

Suivez Brief IA

L'actu IA du jour, aussi dans votre fil.

Commentaires