Akademia Formation
🤖Intelligence Artificielle

MCP : Comment Claude se Connecte à Tous Vos Outils

Imaginez que votre assistant IA puisse lire vos Google Docs, créer des tickets Jira, interroger votre base de données et envoyer des messages Slack — le tout depuis la même conversation. Pas besoin d'imaginer : c'est exactement ce que permet le Model Context Protocol (MCP). Créé par Anthropic et adopté par l'ensemble de l'écosystème IA (Claude, ChatGPT, VS Code Copilot, Cursor...), MCP est le standard ouvert qui transforme les modèles de langage en véritables agents connectés. Voici comment ça fonctionne, et comment vous pouvez en tirer parti.

AK
Équipe Akademia
12 min de lecture
#MCP#Model Context Protocol#Claude#intégration#outils
Réseau de connexions MCP entre Claude et différents outils
🔗
N+M
au lieu de N×M intégrations
🌐
100+
serveurs MCP disponibles
🧩
3
primitives (Tools, Resources, Prompts)
📦
2
SDK officiels (Python & TypeScript)

Le Problème : L'Intégration Fragmentée

Avant MCP, chaque application IA devait implémenter ses propres connecteurs vers chaque source de données, chaque API, chaque outil. Un chatbot d'entreprise connecté à 5 bases de données nécessitait 5 intégrations sur mesure. Un agent IA accédant à Google Calendar, Notion et Slack demandait 3 implémentations distinctes, avec 3 formats d'échange différents, 3 mécanismes d'authentification, et 3 schémas de données.

Cette approche N × M (N applications × M outils) générait une explosion combinatoire de code d'intégration, impossible à maintenir et à faire évoluer. Chaque nouvelle application devait réinventer la roue pour chaque outil qu'elle voulait supporter.

⚠️

L'explosion combinatoire sans MCP

10 applications IA × 20 outils = 200 intégrations à maintenir. Avec MCP : 10 clients + 20 serveurs = 30 implémentations, et toute combinaison fonctionne immédiatement. La réduction est exponentielle à mesure que l'écosystème grandit.

MCP : Le Port USB-C de l'IA

Le Model Context Protocol (MCP) est un standard ouvert créé par Anthropic pour connecter les applications IA aux systèmes externes de manière standardisée. L'analogie officielle est celle du port USB-C : tout comme USB-C fournit une interface universelle pour connecter des périphériques électroniques, MCP fournit une interface universelle pour connecter des applications IA à des outils, des données et des workflows.

Avec MCP, le problème N × M devient N + M : chaque application implémente le protocole MCP une seule fois (côté client), et chaque outil/service l'implémente une seule fois (côté serveur). Toute combinaison client-serveur fonctionne immédiatement, sans code supplémentaire.

MCP fait pour les applications IA ce que USB-C a fait pour les périphériques électroniques : une interface universelle qui élimine le besoin de connecteurs propriétaires.

Anthropic

Créateur du Model Context Protocol

L'adoption est massive : les clients compatibles incluent Claude (claude.ai), ChatGPT, Visual Studio Code (Copilot), Cursor, Claude Code, et de nombreux autres. Côté serveur, des centaines d'implémentations existent : filesystem, bases de données, Sentry, GitHub, Slack, Google Calendar, Notion, Blender, et bien d'autres.

Architecture : Host, Client, Server

MCP suit une architecture client-serveur avec trois rôles distincts. Comprendre ces rôles est essentiel pour configurer et construire des intégrations MCP.

📄architecture-mcp.txttext
┌──────────────────────────────────────────────────┐
│ MCP HOST (Application IA) │
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ MCP Client │ │ MCP Client │ │ MCP Client │ │
│ │ 1 │ │ 2 │ │ 3 │ │
│ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ │
└────────┼───────────────┼───────────────┼──────────┘
│ │ │
┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
│MCP Server │ │MCP Server │ │MCP Server │
│ Filesystem│ │ Database │ │ Sentry │
│ (local) │ │ (local) │ │ (distant) │
└───────────┘ └───────────┘ └───────────┘
  • MCP Host : L'application IA qui coordonne et gère un ou plusieurs MCP Clients. Exemples : Claude Desktop, VS Code, Claude Code.
  • MCP Client : Un composant interne au Host qui maintient une connexion dédiée avec un MCP Server. Le Host crée un Client par serveur connecté.
  • MCP Server : Un programme qui fournit du contexte (données, outils, prompts) aux MCP Clients. Il peut s'exécuter localement (transport STDIO) ou à distance (transport Streamable HTTP).

Le protocole repose sur JSON-RPC 2.0 et commence par un handshake de négociation de capacités. Le client déclare ce qu'il supporte, le serveur répond avec ses capacités, et la session est établie. Ce mécanisme garantit la compatibilité entre versions et permet une découverte dynamique des fonctionnalités.

Les Trois Primitives MCP

MCP expose trois types de fonctionnalités — les primitives — qui couvrent l'ensemble des besoins d'interaction entre IA et systèmes externes. Chacune a un modèle de contrôle différent, ce qui détermine qui décide de son utilisation.

Les trois primitives MCP et leur modèle de contrôle

PrimitiveQui contrôle ?DécouverteExécutionExemples
ToolsLe modèle (LLM)tools/listtools/callRequêtes API, opérations fichiers, calculs
ResourcesL'applicationresources/listresources/readFichiers, schémas DB, documentation
PromptsL'utilisateurprompts/listprompts/getTemplates de code review, system prompts

Tools — Les fonctions que l'IA peut appeler

Les Tools sont des fonctions exécutables que le modèle de langage peut découvrir et invoquer automatiquement. Quand Claude détecte qu'il a besoin d'une information externe ou qu'il doit effectuer une action, il choisit l'outil approprié parmi ceux disponibles. Chaque outil est défini avec un nom, une description, et un schéma d'entrée JSON Schema. Les résultats peuvent contenir du texte, des images, de l'audio, ou des données structurées.

Resources — Les données de contexte

Les Resources permettent aux serveurs de partager des données fournissant du contexte : fichiers, schémas de bases de données, réponses API, documentation. Contrairement aux Tools, c'est l'application hôte qui décide quand et comment incorporer ces données. Les Resources supportent les templates d'URI paramétriques et les abonnements en temps réel pour être notifié des changements.

Prompts — Les workflows pré-configurés

Les Prompts fournissent des templates structurés pour les interactions : system prompts, exemples few-shot, instructions spécialisées. Typiquement exposés via des slash commands ou une palette de commandes, ils permettent de standardiser des workflows comme la revue de code ou l'analyse de sécurité.

💎

La synergie des trois primitives

La vraie puissance de MCP émerge quand les trois primitives collaborent. Imaginez un serveur MCP pour la planification de voyages : les Prompts guident le workflow (« plan-vacation »), les Resources fournissent le contexte (calendrier, préférences), et les Tools exécutent les actions (recherche de vols, réservation). Un seul protocole orchestre le tout.

Construire Votre Premier Serveur MCP

La construction d'un serveur MCP est étonnamment simple grâce aux SDK officiels Python et TypeScript. Voici comment créer un serveur météo complet en quelques minutes.

Créer un serveur MCP en 4 étapes

1️⃣
Initialiser le projet

Créez un nouveau projet Python ou TypeScript et installez le SDK MCP correspondant. Pour Python : `uv add "mcp[cli]"`. Pour TypeScript : `npm install @modelcontextprotocol/sdk zod@3`.

2️⃣
Définir vos outils

Utilisez le décorateur `@mcp.tool()` (Python) ou `server.registerTool()` (TypeScript). Les type hints et docstrings Python deviennent automatiquement le schéma JSON et la description de l'outil.

3️⃣
Lancer le serveur

Appelez `mcp.run(transport='stdio')` (Python) ou connectez un `StdioServerTransport` (TypeScript). Le serveur est prêt à recevoir des connexions JSON-RPC.

4️⃣
Connecter à Claude

Configurez le serveur dans Claude Code via `claude mcp add` ou ajoutez-le dans le fichier de configuration de Claude Desktop. Testez avec le MCP Inspector pour valider.

Exemple Python — Serveur météo avec FastMCP

📄weather_server.pypython
1from mcp.server.fastmcp import FastMCP
2import httpx
3
4# Initialisation du serveur MCP
5mcp = FastMCP("weather")
6
7NWS_API_BASE = "https://api.weather.gov"
8
9# Déclaration d'un outil — les type hints deviennent le schéma JSON
10@mcp.tool()
11async def get_alerts(state: str) -> str:
12 """Get weather alerts for a US state.
13
14 Args:
15 state: Two-letter US state code (e.g. CA, NY)
16 """
17 url = f"{NWS_API_BASE}/alerts/active/area/{state}"
18 async with httpx.AsyncClient() as client:
19 response = await client.get(url, timeout=30.0)
20 data = response.json()
21 if not data.get("features"):
22 return "No active alerts for this state."
23 alerts = [f["properties"]["headline"] for f in data["features"]]
24 return "\n".join(alerts)
25
26@mcp.tool()
27async def get_forecast(latitude: float, longitude: float) -> str:
28 """Get weather forecast for a location.
29
30 Args:
31 latitude: Latitude of the location
32 longitude: Longitude of the location
33 """
34 url = f"{NWS_API_BASE}/points/{latitude},{longitude}"
35 async with httpx.AsyncClient() as client:
36 points = await client.get(url, timeout=30.0)
37 forecast_url = points.json()["properties"]["forecast"]
38 forecast = await client.get(forecast_url, timeout=30.0)
39 periods = forecast.json()["properties"]["periods"][:5]
40 return "\n".join(
41 f"{p['name']}: {p['temperature']}°{p['temperatureUnit']}"
42 for p in periods
43 )
44
45# Lancement en transport STDIO
46if __name__ == "__main__":
47 mcp.run(transport="stdio")

Exemple TypeScript — Serveur météo avec Zod

📄src/index.tstypescript
1import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3import { z } from "zod";
4
5const server = new McpServer({
6 name: "weather",
7 version: "1.0.0",
8});
9
10// Enregistrement d'un outil avec Zod pour le schéma
11server.registerTool(
12 "get_alerts",
13 {
14 description: "Get weather alerts for a state",
15 inputSchema: {
16 state: z.string().length(2).describe("Two-letter state code"),
17 },
18 },
19 async ({ state }) => {
20 const url = `https://api.weather.gov/alerts?area=${state}`;
21 const response = await fetch(url, {
22 headers: { "User-Agent": "weather-app/1.0" },
23 });
24 const data = await response.json();
25 const count = data.features?.length ?? 0;
26 return {
27 content: [{ type: "text", text: `Found ${count} alerts` }],
28 };
29 }
30);
31
32// Lancement
33async function main() {
34 const transport = new StdioServerTransport();
35 await server.connect(transport);
36 console.error("Weather MCP Server running on stdio");
37}
38
39main().catch(console.error);
⚠️

Attention STDIO : ne jamais utiliser print() ou console.log()

En transport STDIO, le serveur communique via stdout. Toute sortie non-MCP sur stdout corrompt le protocole. Utilisez print(..., file=sys.stderr) en Python ou console.error() en TypeScript pour le logging. C'est l'erreur n°1 des développeurs de serveurs MCP.

Configurer MCP dans Claude Code et Claude Desktop

Une fois votre serveur MCP créé (ou un serveur communautaire installé), la connexion à Claude se fait en quelques secondes.

Dans Claude Code (terminal)

📄configuration-mcp.shbash
1# Ajouter un serveur MCP à Claude Code
2claude mcp add weather -- uv run weather_server.py
3
4# Ajouter un serveur npm
5claude mcp add playwright -- npx @playwright/mcp@latest
6
7# Lister les serveurs configurés
8claude mcp list
9
10# Vérifier les coûts par serveur
11# Depuis une session interactive :
12# /mcp

Dans Claude Desktop

📄claude_desktop_config.jsonjson
1{
2 "mcpServers": {
3 "weather": {
4 "command": "uv",
5 "args": ["--directory", "/path/to/weather", "run", "weather_server.py"]
6 },
7 "filesystem": {
8 "command": "npx",
9 "args": ["@modelcontextprotocol/server-filesystem", "/home/user/documents"]
10 },
11 "github": {
12 "command": "npx",
13 "args": ["@modelcontextprotocol/server-github"],
14 "env": {
15 "GITHUB_TOKEN": "ghp_your_token_here"
16 }
17 }
18 }
19}

Serveurs MCP Populaires : L'Écosystème

L'écosystème MCP compte aujourd'hui des centaines de serveurs communautaires et officiels. Voici les plus populaires et les plus utiles pour les développeurs et les entreprises.

Serveurs MCP populaires par catégorie

CatégorieServeurCe qu'il fait
FichiersfilesystemLecture/écriture de fichiers dans des répertoires autorisés
CodeGitHubRepos, issues, PRs, code search
Base de donnéesPostgreSQL / SQLiteRequêtes SQL, exploration de schémas
MonitoringSentryIssues, stack traces, alertes en temps réel
ProductivitéGoogle Calendar / DriveÉvénements, documents, fichiers
CommunicationSlackMessages, canaux, recherche
Gestion projetNotion / Jira / LinearPages, tickets, boards
WebPlaywright / PuppeteerNavigation web, tests E2E, screenshots
3D / DesignBlender / FigmaModélisation 3D, extraction de designs
💡

Le MCP Inspector : votre meilleur ami pour le debug

Le MCP Inspector est un outil de développement officiel qui permet de tester et débugger vos serveurs MCP dans un navigateur web. Envoyez des tools/list, des tools/call avec des arguments, explorez les resources, et visualisez les messages JSON-RPC échangés en temps réel. Indispensable pendant le développement.

Transports : Local vs Distant

MCP supporte deux mécanismes de transport principaux, chacun adapté à un contexte d'utilisation différent.

STDIO vs Streamable HTTP

STDIO (Local)
  • +Communication par flux standard I/O
  • +Le client lance le serveur comme sous-processus
  • +Performance optimale (pas de surcharge réseau)
  • +Déploiement simple, pas de serveur HTTP
  • +Un seul client par serveur
  • +Idéal pour les outils de développement locaux
Streamable HTTP (Distant)
  • HTTP POST + Server-Sent Events
  • Serveur indépendant, plusieurs clients
  • Support OAuth pour l'authentification
  • Gestion de sessions avec Mcp-Session-Id
  • Resumabilité en cas de déconnexion
  • Idéal pour les services partagés en équipe

Le transport STDIO est le choix par défaut pour la plupart des développeurs : le client lance le serveur MCP comme sous-processus, communique via stdin/stdout, et tout reste local. Le transport Streamable HTTP est destiné aux déploiements en équipe ou en production, avec support de sessions, d'authentification OAuth, et de Server-Sent Events pour les notifications en temps réel.

Sécurité : Les Principes Fondamentaux

MCP intègre la sécurité à chaque niveau du protocole. Voici les principes à respecter :

  • Human-in-the-loop : Toujours prévoir un humain capable de refuser les opérations sensibles. Les clients doivent présenter les requêtes pour approbation avant exécution.
  • Validation des entrées : Serveurs et clients doivent valider toutes les entrées. Les serveurs doivent implémenter des contrôles d'accès et du rate limiting.
  • Prévention d'exfiltration : Les clients doivent afficher les entrées avant l'appel serveur pour prévenir l'exfiltration de données sensibles via des outils manipulés.
  • Roots et frontières : Les Roots définissent précisément les répertoires et fichiers auxquels un serveur peut accéder, empêchant le path traversal et l'accès non autorisé.
  • Transport HTTP sécurisé : Les serveurs doivent valider le header Origin (anti DNS rebinding), se lier à localhost pour les serveurs locaux, et utiliser OAuth pour l'authentification distante.

Cas d'Usage Concrets

MCP ne se limite pas à la théorie. Voici des exemples concrets de ce que vous pouvez réaliser en combinant plusieurs serveurs MCP :

  • Développement full-stack assisté : Claude Code + serveur Figma + serveur PostgreSQL. Claude lit les maquettes Figma, génère le code React correspondant, crée les migrations SQL, et pousse le tout sur GitHub.
  • Support client intelligent : Claude + serveur Sentry + serveur Slack + serveur base de données. Quand un bug est signalé sur Slack, Claude interroge Sentry pour les stack traces, vérifie la base de données pour comprendre l'impact, et propose un correctif.
  • Assistant administratif IA : Claude + serveur Google Calendar + serveur Drive + serveur Gmail. L'assistant planifie des réunions, prépare des documents de briefing à partir de fichiers Drive, et envoie les invitations par email.
  • Pipeline de données automatisé : Claude + serveur SQL + serveur filesystem + serveur Notion. Extraction de données depuis PostgreSQL, génération de rapports formatés, et mise à jour automatique d'un tableau de bord Notion.

Questions Fréquentes

MCP est-il spécifique à Claude ou fonctionne-t-il avec d'autres IA ?
MCP est un standard ouvert, pas un produit Anthropic exclusif. Il est supporté par Claude, ChatGPT, VS Code Copilot, Cursor, et de nombreux autres clients. Un serveur MCP créé pour Claude fonctionne automatiquement avec tous les autres clients compatibles, sans modification. C'est toute la force du protocole : écrire une fois, connecter partout.
Faut-il être développeur pour utiliser MCP ?
Non, pour utiliser des serveurs MCP existants. Des centaines de serveurs communautaires sont disponibles prêts à l'emploi — il suffit de les configurer avec une ligne de commande ou un fichier JSON. En revanche, pour créer votre propre serveur MCP, des connaissances en Python ou TypeScript sont nécessaires, mais les SDK officiels rendent la tâche accessible même aux développeurs juniors.
Les serveurs MCP sont-ils sécurisés ?
MCP intègre la sécurité par design : contrôle humain obligatoire pour les opérations sensibles, validation des entrées côté serveur et client, prévention de l'exfiltration de données, système de Roots pour limiter l'accès fichier, et support OAuth pour l'authentification distante. Cependant, comme pour tout logiciel, la sécurité dépend de la qualité de l'implémentation — privilégiez les serveurs officiels et les implémentations de référence.
Quelle est la différence entre STDIO et Streamable HTTP ?
STDIO est le transport local : le client lance le serveur comme sous-processus et communique via stdin/stdout. C'est le plus simple et le plus performant pour un usage personnel. Streamable HTTP est le transport distant : le serveur tourne indépendamment et accepte des connexions HTTP avec support de sessions, OAuth et Server-Sent Events. Utilisez-le quand plusieurs personnes doivent partager le même serveur, ou en production.
Puis-je utiliser MCP avec le Claude Agent SDK pour créer des agents autonomes ?
Absolument. Le Claude Agent SDK expose une intégration MCP native. Vous pouvez passer des serveurs MCP à la fonction query() et vos agents de production auront accès à tous les outils MCP configurés. C'est la combinaison la plus puissante : la boucle agentique du SDK + les capacités illimitées de MCP. Consultez la documentation Agent SDK pour les exemples.

Connectez Claude à Votre Écosystème

MCP transforme Claude d'un modèle de langage isolé en un agent véritablement connecté à votre écosystème d'outils. Que vous souhaitiez connecter vos bases de données, vos outils de gestion de projet, ou créer des intégrations sur mesure, le Model Context Protocol vous donne la clé.

Notre formation MCP vous guide de la théorie à la pratique : comprendre l'architecture, configurer les serveurs populaires, construire vos propres serveurs Python et TypeScript, et déployer en production avec les bonnes pratiques de sécurité.

Envie d'aller plus loin ?

Découvrez nos formations certifiantes et finançables CPF pour développer vos compétences.

MCP : Connecter Claude à Vos Outils | Guide Complet