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