Explication du Model Context Protocol (MCP)
Si vous connectez un LLM à une base de données ou à une API, vous écrivez du code de liaison. Vous l'écrivez pour un modèle. Puis vous l'écrivez à nouveau pour le modèle suivant. Cela crée un désordre d'intégrations.
Le Model Context Protocol (MCP) résout ce problème. Il agit comme un port USB-C pour l'IA. Au lieu d'avoir des câbles personnalisés pour chaque appareil, tout le monde utilise un connecteur standard.
Le MCP fait passer le calcul de M x N intégrations à M + N.
- Les auteurs d'outils écrivent un seul serveur MCP.
- Les auteurs d'applications ajoutent un seul client MCP.
- Tout hôte compatible MCP peut utiliser n'importe quel serveur.
L'architecture comporte trois rôles :
• Hôte : L'application d'IA que vous utilisez, comme Claude Code ou un IDE. Elle décide des serveurs auxquels se connecter. • Client : Le connecteur à l'intérieur de l'hôte. Il maintient la connexion avec le serveur. • Serveur : Le programme que vous construisez. Il expose des outils, des données ou des prompts.
Vous utilisez trois primitives principales :
- Outils : Fonctions que le modèle appelle pour agir, comme envoyer un e-mail ou interroger une base de données.
- Ressources : Données en lecture seule que l'application intègre au contexte, comme un fichier ou un journal.
- Prompts : Modèles réutilisables qui aident les utilisateurs à déclencher des tâches spécifiques.
Vous pouvez construire un serveur en Python en utilisant le SDK FastMCP. Voici un exemple simple :
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("demo-tools")
@mcp.tool()
def word_count(text: str) -> int:
"""Count the words in a text."""
return len(text.split())
@mcp.resource("notes://team")
def team_notes() -> str:
"""Expose team notes."""
return "Release freeze starts Friday."
@mcp.prompt()
def code_review(language: str, code: str) -> str:
"""Template for reviewing code."""
return f"Review this {language} code: {code}"
if __name__ == "__main__":
mcp.run()
Lorsque vous construisez des serveurs, gardez ces règles à l'esprit :
- Sécurité : Utilisez l'approbation de l'utilisateur pour les outils destructifs. Validez tous les arguments.
- Contexte : Gardez les descriptions d'outils courtes. Les descriptions longues consomment votre budget de tokens.
- Erreurs : Retournez des messages clairs pour que le modèle puisse corriger ses propres erreurs.
Le MCP fait des outils un atout réutilisable. Écrivez-le une fois. Laissez chaque modèle l'utiliser.
Source : https://dev.to/galian/model-context-protocol-explained-build-your-first-mcp-server-in-python-ian
Communauté d'apprentissage optionnelle : https://t.me/GyaanSetuAi