top of page
Search

Note technique : architecture et implémentation du protocole MCP

  • Writer: Abdoul Seck
    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 :

  1. L'Hôte (Host) : L'application où réside l'IA (ex: Claude Desktop, un IDE comme Cursor, ou votre propre interface interne).

  2. Le Client MCP : La brique logicielle intégrée à l'hôte qui "parle" le protocole.

  3. 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 :

  1. Isolation (Sandboxing) : Le serveur MCP doit tourner dans un environnement restreint (Docker) avec des accès réseau limités au strict nécessaire.

  2. 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.

  3. 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é :

  1. Isolation Docker : Le serveur MCP tourne dans un container isolé.

  2. Lecture seule par défaut : On commence par exposer des ressources en lecture avant d'activer les "Tools" d'écriture.

  3. 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


Nous contacter

Adresse

Sicap Amitie 1
3086, Avenue Bourguiba Dakar, Sénégal

Merci pour votre envoi !

  • LinkedIn

© 2025 par DTS Conseil

bottom of page