Note technique : architecture et implémentation du protocole MCP
- Abdoul Seck

- Jan 26
- 4 min read
À l'attention des Architectes, Leads Dev et Ops
Le Model Context Protocol (MCP) n'est pas une simple API de plus, c'est un protocole client-serveur (basé sur JSON-RPC) qui standardise la manière dont une IA accède à vos ressources.

L'Architecture Tripartite du MCP
Pour bien implémenter le MCP, il faut distinguer trois couches :
L'Hôte (Host) : L'application où réside l'IA (ex: Claude Desktop, un IDE comme Cursor, ou votre propre interface interne).
Le Client MCP : La brique logicielle intégrée à l'hôte qui "parle" le protocole.
Le Serveur MCP : Votre passerelle (gateway) qui expose vos bases de données, vos fichiers ou vos API locales.
Les 3 piliers de l'exposition de ressources
Un serveur MCP bien conçu doit exposer trois types de capacités :
Resources (Lecture seule) : Permet à l'IA de lire des données brutes (ex: un log serveur, un fichier CSV, une documentation interne). C'est le "contexte" passif.
Prompts (Modèles) : Des templates pré-remplis qui guident l'IA sur la manière d'interpréter les données (ex: "Analyse ce log pour trouver des erreurs 500").
Tools (Action) : Le volet agentique. Ce sont des fonctions exécutables. L'IA décide de les appeler (ex: read_customer_db, send_slack_alert, trigger_jenkins_build).
Guide d'implémentation (Quick Start)
Le SDK MCP est actuellement disponible en TypeScript et Python, ce qui facilite l'adoption par vos équipes.
Étape A : création du serveur
Voici par exemple une structure logique en Python pour exposer une base de données SQL interne :
from mcp.server import Server
# Initialisation du serveur
server = Server("db-explorer")
@server.list_tools()
async def handle_list_tools():
return [
Tool(
name="query_inventory",
description="Interroge la base SQL des stocks",
input_schema={...}
)
]
@server.call_tool()
async def handle_call_tool(name, arguments):
if name == "query_inventory":
# Logique sécurisée de connexion à la DB
return run_sql_query(arguments["query"])
Étape B : Transport et Communication
Le protocole supporte deux modes de transport :
Stdio : Idéal pour des agents locaux ou des outils de développement.
SSE (Server-Sent Events) : Indispensable pour des architectures web/cloud distribuées.
4. Sécurité et Gouvernance : Les points de vigilance
C'est ici que la DSI joue son rôle de garde-fou. L'implémentation doit respecter les principes suivants :
Isolation (Sandboxing) : Le serveur MCP doit tourner dans un environnement restreint (Docker) avec des accès réseau limités au strict nécessaire.
Validation des schémas : Contrairement à une API ouverte, le MCP impose des schémas d'entrée/sortie stricts (JSON Schema). Cela empêche l'IA d'injecter des commandes malveillantes.
Audit Log : Chaque appel de "Tool" par l'IA doit être tracé : Quelle instance d'IA a demandé l'action ? Quel était le prompt d'origine ? Quel a été le résultat ?
5. Pourquoi cette approche est supérieure au "Custom RAG" ?
Le RAG (Retrieval-Augmented Generation) classique se contente de chercher du texte. Le MCP permet :
La donnée "Live" : Pas besoin de réindexer des documents, l'IA interroge la source en temps réel.
Le cycle d'action : Le RAG est une impasse (lecture seule). Le MCP est un pont (lecture/écriture).
………………………………………………………………..
Checklist de sélection d’un Pilote "IA Agentique + MCP"
Un bon projet pilote doit valider trois dimensions : la faisabilité technique, la valeur métier et la sécurité.
1. Nature de la Donnée et Accessibilité (Le Test MCP)
Donnée structurée ou semi-structurée : Le cas d'usage repose-t-il sur des bases SQL, des API REST ou des fichiers JSON/CSV ? (Le MCP excelle ici par rapport au RAG textuel).
Fréquence de mise à jour : La donnée change-t-elle souvent (ex: stocks, prix, logs) ? Si oui, le MCP est indispensable car il offre du temps réel.
Disponibilité d'un SDK : Existe-t-il déjà une bibliothèque Python ou Node.js pour interagir avec le système cible ?
2. Potentiel d'Action (Le Test Agentique)
Boucle de raisonnement : Le processus nécessite-t-il d'analyser une information avant de prendre une décision ? (Ex: Vérifier le solde avant de valider un avoir).
Multi-systèmes : L'agent doit-il croiser des données provenant de deux sources différentes (ex: Salesforce + Jira) ? C'est là que le MCP brille en unifiant les contextes.
Action réversible ou supervisée : Pour un premier pilote, l'action déclenchée par l'agent est-elle facile à annuler ou nécessite-t-elle une validation humaine ("Human-in-the-loop") ?
3. Mesure du Succès (Le Test ROI)
Réduction du "Swivel Chair" : Le processus actuel force-t-il un humain à passer d'une fenêtre à l'autre pour copier-coller des données ?
Latence décisionnelle : Peut-on passer d'un temps de traitement de plusieurs heures à quelques secondes ?
Matrice de Priorisation des Cas d'Usage
Utilisez ce tableau pour évaluer vos idées internes :
Candidat Pilote | Complexité MCP | Autonomie de l'Agent | Impact Business | Score Final |
Support Niveau 1 (Lecture/Écriture CRM) | Faible | Modérée | Élevé | 9/10 (idéal) |
Reporting Finance (Multi-ERP) | Modérée | Faible (Lecture seule) | Très Élevé | 8/10 |
Onboarding RH (Création de comptes) | Élevée | Totale | Moyen | 6/10 |
Architecture Type pour votre PoC
Pour votre premier serveur MCP, je recommande l'architecture suivante afin de rassurer la DSI sur la sécurité :
Isolation Docker : Le serveur MCP tourne dans un container isolé.
Lecture seule par défaut : On commence par exposer des ressources en lecture avant d'activer les "Tools" d'écriture.
Interface de Validation : L'agent prépare l'action (ex: "Je vais rembourser 50€"), mais attend un clic "Approuver" sur un dashboard pour exécuter l'appel via MCP.
Notre Recommandation pour le lancement
Ne commencez pas par un projet "Big Bang". Choisissez une équipe (ex: la Relation Client ou le DevOps) qui souffre d'un silotage des données. Ensuite développez un serveur MCP qui expose 3 outils simples (ex: get_user_history, check_status, update_record).




Comments