Implémentation Python du Model Context Protocol (MCP)
January 29, 2026 · View on GitHub
Ce dépôt contient une implémentation Python du Model Context Protocol (MCP), montrant comment créer à la fois une application serveur et une application cliente qui communiquent en utilisant la norme MCP.
Vue d'ensemble
L’implémentation MCP se compose de deux composants principaux :
-
Serveur MCP (
server.py) - Un serveur qui expose :- Outils : Fonctions pouvant être appelées à distance
- Ressources : Données pouvant être récupérées
- Prompts : Modèles pour générer des invites pour les modèles de langage
-
Client MCP (
client.py) - Une application cliente qui se connecte au serveur et utilise ses fonctionnalités
Fonctionnalités
Cette implémentation illustre plusieurs fonctionnalités clés du MCP :
Outils
completion- Génère des complétions de texte à partir de modèles IA (simulé)add- Calculatrice simple qui additionne deux nombres
Ressources
models://- Renvoie des informations sur les modèles IA disponiblesgreeting://{name}- Renvoie un message personnalisé pour un nom donné
Prompts
review_code- Génère un prompt pour la revue de code
Installation
Pour utiliser cette implémentation MCP, installez les paquets requis :
pip install mcp-server mcp-client
Lancement du Serveur et du Client
Démarrer le Serveur
Lancez le serveur dans une fenêtre de terminal :
python server.py
Le serveur peut aussi être lancé en mode développement via la CLI MCP :
mcp dev server.py
Ou installé dans Claude Desktop (si disponible) :
mcp install server.py
Lancer le Client
Lancez le client dans une autre fenêtre de terminal :
python client.py
Cela connectera au serveur et démontrera toutes les fonctionnalités disponibles.
Utilisation du Client
Le client (client.py) illustre toutes les capacités du MCP :
python client.py
Cela connectera au serveur et testera toutes les fonctionnalités, y compris les outils, ressources et prompts. La sortie affichera :
- Résultat de l’outil calculatrice (5 + 7 = 12)
- Réponse de l’outil completion à la question « What is the meaning of life? »
- Liste des modèles IA disponibles
- Message personnalisé pour « MCP Explorer »
- Modèle de prompt pour la revue de code
Détails de l’implémentation
Le serveur est implémenté avec l’API FastMCP, qui fournit des abstractions de haut niveau pour définir des services MCP. Voici un exemple simplifié de définition des outils :
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers together
Args:
a: First number
b: Second number
Returns:
The sum of the two numbers
"""
logger.info(f"Adding {a} and {b}")
return a + b
Le client utilise la bibliothèque cliente MCP pour se connecter et appeler le serveur :
async with stdio_client(server_params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
result = await session.call_tool("add", arguments={"a": 5, "b": 7})
En savoir plus
Pour plus d’informations sur MCP, visitez : https://modelcontextprotocol.io/
Avertissement :
Ce document a été traduit à l’aide du service de traduction automatique Co-op Translator. Bien que nous nous efforcions d’assurer l’exactitude, veuillez noter que les traductions automatiques peuvent contenir des erreurs ou des inexactitudes. Le document original dans sa langue d’origine doit être considéré comme la source faisant foi. Pour les informations critiques, une traduction professionnelle réalisée par un humain est recommandée. Nous déclinons toute responsabilité en cas de malentendus ou de mauvaises interprétations résultant de l’utilisation de cette traduction.