Le protocole MCP (Model Context Protocol) est une norme ouverte qui permet aux modèles comme celui d'Anthropic de… Claude et des outils de développement comme Claude Code Faire appel à des outils externes, des sources de données et des invites de manière sûre et standardisée.
Ce guide vous accompagnera dans la création de votre propre serveur MCP à partir de zéro, permettant à Claude Code d'accéder à des fonctionnalités personnalisées et d'étendre ainsi considérablement ses fonctionnalités au-delà de ses fonctionnalités intégrées.
Qu'est-ce que le protocole de contexte modèle (MCP) ?
MCP (Model Context Protocol) est un spécification ouverte Conçu pour standardiser la manière dont les clients de modèles de langage (tels que Claude, Claude Code ou d'autres interfaces LLM) se connectent aux serveurs d'outils et aux sources de données, MCP peut être considéré comme un « port USB-C pour les LLM ». Il définit un schéma de transport/JSON-RPC et une méthode commune permettant aux serveurs de publier trois types de fonctionnalités :
- Ressources — des données de type fichier ou document qu'un client peut lire (par exemple, une ligne de base de données, un fichier texte, une charge utile JSON).
- Outils — des fonctions appelables que le modèle peut demander à l'hôte d'exécuter (avec l'approbation de l'utilisateur).
- Instructions — des modèles d'invites ou des flux de travail réutilisables que le modèle/client peut invoquer.
MCP prend en charge plusieurs protocoles de transport (stdio, HTTP, SSE) et fournit un schéma, des kits de développement logiciel (SDK) et des exemples de serveurs, vous évitant ainsi de devoir concevoir vous-même le format de transmission. Le protocole est maintenu publiquement (spécifications et SDK) et propose des tutoriels ainsi qu'une galerie d'exemples de serveurs pour faciliter son adoption.
Comment l'architecture MCP est-elle conçue ?
L'architecture de MCP est volontairement simple et modulaire : les éléments de base sont des MCP serveurs, MCP CLIENTSet les transports qui permettent l'échange de messages au format JSON-RPC. Vous trouverez ci-dessous les principaux composants avec lesquels vous interagirez lors de la création d'un serveur pour Claude Code (ou d'autres clients MCP).
Serveur, client et protocole
- serveur MCP — Un service qui publie Outils, ressources et invites. Les outils peuvent produire des effets secondaires ou extraire des données ; les ressources présentent un contenu en lecture seule ; les invites sont des modèles d’invites réutilisables que le client peut demander au modèle d’utiliser comme échantillon.
- Client MCP (hôte) — Généralement intégré à l'hôte LLM (par exemple, Claude Code, un plugin VS Code ou un client navigateur), il détecte les serveurs disponibles, présente les descriptions des outils au modèle et achemine les appels initiés par le modèle vers les serveurs.
- Passerelle — Les messages sont encodés au format JSON-RPC ; la spécification définit les événements du cycle de vie, la découverte des outils, l’invocation, les complétions/l’échantillonnage et la manière dont les résultats structurés sont renvoyés au client et au modèle.
Modèle de communication (ce qui se passe lorsqu'un outil est utilisé)
- Le client envoie un message utilisateur au modèle.
- Le modèle analyse le contexte et décide d'appeler un outil exposé par MCP (ou plusieurs outils).
- Le client transmet l'appel d'outil au serveur MCP via le transport choisi.
- Le serveur exécute l'outil et renvoie les résultats.
- Le modèle reçoit les données de l'outil et compose la réponse finale destinée à l'utilisateur.
primitives d'implémentation
- JSON-RPC Les messages suivent le schéma MCP.
- Définitions des outils sont publiées dans les réponses de découverte du serveur afin que les clients puissent les afficher dans l'interface utilisateur.
- Ressources sont référencés par
@source:pathsyntaxe par les clients (par exemple,@postgres:...), permettant aux modèles de faire référence à du contenu externe sans intégrer d'énormes quantités de données dans l'invite.
Pourquoi intégrer Claude Code aux serveurs MCP ?
Claude Code est l'offre d'Anthropic axée sur les flux de travail centrés sur le code et les développeurs (intégration éditeur/IDE, compréhension du code, etc.). En exposant vos outils internes (recherche de code source, exécuteur CI, système de tickets, registres privés) via des serveurs MCP, Claude Code peut les appeler comme outils de première classe Au sein des conversations de codage et des flux d'agents.
L'intégration de Claude Code aux serveurs MCP débloque des fonctionnalités pratiques et pertinentes pour la production pour un agent de codage :
1. Soit le modèle act sur des systèmes réels
Claude Code peut interroger un serveur MCP pour traiter les problèmes, exécuter des requêtes de base de données, lire des documents volumineux ou générer des demandes de tirage GitHub, permettant ainsi une automatisation complète directement depuis la session de développement. Cette fonctionnalité est explicitement prise en charge dans la documentation de Claude Code (exemples : interrogation de Postgres, Sentry ou création de demandes de tirage).
2. Décharger les données volumineuses et la logique spécialisée
Au lieu d'intégrer chaque source de données à l'invite (ce qui consomme des jetons), vous publiez les données et les outils via MCP. Le modèle appelle l'outil, reçoit une réponse structurée et l'analyse ; cela réduit la consommation de jetons et permet aux serveurs de gérer les tâches lourdes (requêtes de base de données, lectures de fichiers volumineux, authentification).
3. Sécurité et gouvernance
MCP centralise le contrôle d'accès et l'audit au niveau serveur, permettant aux organisations d'autoriser les serveurs, de contrôler les outils disponibles et de limiter les données de sortie. Claude Code prend également en charge la configuration MCP en entreprise et le consentement par périmètre.
4. Réutilisabilité et écosystème
Les serveurs MCP sont réutilisables entre les clients et les équipes. Une seule configuration suffit pour que de nombreux clients Claude/LLM puissent utiliser les mêmes services (ou changer d'implémentation).
De quoi avez-vous besoin avant de commencer?
Exigences minimales
- Une machine de développement avec Python 3.10 + (Nous utiliserons Python dans cet exemple). Node et d'autres langages sont également pris en charge par les kits de développement logiciel MCP.
uv(L'outil d'Astral) ou un exécuteur équivalent pour lancer les serveurs stdio MCP (le tutoriel MCP l'utilise)uvÉtapes d'installation ci-dessous.- Claude Code doit être installé ou accessible via le client Claude (version bureau ou en ligne de commande) pour enregistrer et tester votre serveur ; tout client compatible MCP convient également. Claude Code prend en charge les serveurs HTTP, SSE et les serveurs d'E/S standard locaux.
- Note de sécuritéN'ajoutez à Claude Code que des serveurs MCP de confiance dans un contexte d'équipe ou d'entreprise — MCP donne accès aux serveurs à des données sensibles, et des risques d'injection de paquets existent si un serveur renvoie du contenu malveillant.
Comment installer et vérifier l'interface de ligne de commande Claude Code
Voici Guide d'installation et d'utilisation de Claude Code.
1) Résumé rapide — méthodes d'installation recommandées
Utilisez l'option installateur natif (Recommandé) ou Homebrew sur macOS/Linux. NPM est disponible si vous souhaitez une installation basée sur Node.js. Sous Windows, vous pouvez utiliser PowerShell ou CMD pour l'installation. Source : documentation officielle de Claude Code et GitHub.
2) Prérequis
- macOS 10.15+, Ubuntu 20.04+/Debian 10+ ou Windows 10+ (WSL recommandé sous Windows).
- Node.js 18+ seulement requis pour la méthode d'installation NPM.
3) Commandes d'installation (choisissez-en une)
Natif (recommandé — aucune dépendance à Node), macOS / Linux / WSL :
curl -fsSL https://claude.ai/install.sh | bash
# optional: install latest explicitly
curl -fsSL https://claude.ai/install.sh | bash -s latest
# or install a specific version
curl -fsSL https://claude.ai/install.sh | bash -s 1.0.58
Windows PowerShell:
irm https://claude.ai/install.ps1 | iex
# or for latest: & (::Create((irm https://claude.ai/install.ps1))) latest
(Ce sont les scripts d'installation natifs officiels).
NPM (si vous souhaitez une installation globale basée sur Node) :
# requires Node.js 18+
npm install -g @anthropic-ai/claude-code
Ne pas utilisé sudo npm install -g — Mettez en garde contre les installations globales via sudo (problèmes d'autorisation/de sécurité). En cas d'erreur d'autorisation, utilisez nvm ou corrigez votre préfixe global npm plutôt que d'utiliser sudo.
4) Vérifier que le fichier binaire a été installé (vérifications de base)
Exécutez ces commandes localement immédiatement après l'installation :
# is the command on PATH?
which claude
# version (or -v)
claude --version
# or
claude -v
# help (sanity check)
claude --help
Attendu: which indique un chemin (par exemple /usr/local/bin/claude or ~/.nvm/.../bin/claude) et claude --version Affiche une chaîne de caractères de type semver. La documentation et le fichier README l'indiquent. claude comme point d'entrée principal de l'interface de ligne de commande.
5) Vérifier l'état et la configuration de l'installation (vérifications recommandées)
a) claude doctor,Courir:
claude doctor
Ce diagnostic intégré vérifie votre type d'installation, les problèmes courants (comme les problèmes d'autorisation npm), les dépendances telles que ripgrepet propose des solutions. La documentation recommande explicitement d'exécuter claude doctor après l'installation.
b) Effectuer un test de fumée (non interactif)
Depuis le répertoire de votre projet :
cd /path/to/your/project
claude -p "Explain this project in 3 sentences"
Cela utilise impression modes (-p) pour envoyer une seule invite puis quitter ; idéal pour l'intégration continue ou les vérifications fonctionnelles rapides.
c) Vérification de l'authentification (assurez-vous que l'interface de ligne de commande peut accéder à Anthropic)
Claude Code prend en charge plusieurs méthodes d'authentification (OAuth via la console, clé API, intégrations de fournisseurs). Vérifications courantes :
- Si vous utilisez une clé API (CI / headless / variable d'environnement locale):
export ANTHROPIC_API_KEY="sk-..."
# then
claude auth status
claude auth whoami # or `claude auth whoami` / `claude whoami` depending on version
Vous pouvez utiliser API CometClé API de Claude pour utiliser Claude Code. L'utilisation de l'API de Claude via CometAPI vous donnera droit à une réduction de 20 %.
- Si vous avez utilisé OAuth via la console - courir:
claude auth status
claude auth whoami
Vous devriez voir des informations sur votre compte/forfait ou une confirmation d'authentification.
Préparation de l'environnement étape par étape
Vous trouverez ci-dessous les étapes concrètes pour préparer deux environnements de développement courants (TypeScript et Python), suivies de vérifications rapides pour vous assurer que tout fonctionne correctement.
H3 — A. Configuration de TypeScript / Node (voie la plus rapide)
- Créer un projet et installer le SDK :
mkdir mcp-demo && cd mcp-demo
npm init -y
npm install @modelcontextprotocol/sdk express zod
npm install --save-dev typescript tsx @types/node @types/express
- Créer
server.ts(Nous fournissons un exemple complet dans la section « Comment construire rapidement… ») - Exécuter:
npx -y tsx server.ts
- Testez localement avec le Inspecteur MCP ou ajouter au code Claude :
npx @modelcontextprotocol/inspector
# or (for Claude Code)
claude mcp add --transport http my-server http://localhost:3000/mcp
(Les commandes Inspector et Claude permettent de valider les découvertes et d'invoquer des outils.)
Comment créer rapidement un serveur MCP pour Claude Code ?
liste de contrôle rapide
-
Démarrez votre serveur (Streamable HTTP recommandé) :
node server.tsoruvicorn server:app. -
Depuis votre machine de développement, soit :
- Utilisez le Inspecteur MCP pour valider (
npx @modelcontextprotocol/inspector) et confirmertools/listetresources/list; ou - Ajouter le serveur au code Claude :
claude mcp add --transport http <name> http://<host>:<port>/mcp(ou suivez les flux de l'interface utilisateur Web si votre client prend en charge le MCP à distance).
Si vous prévoyez d'utiliser le connecteur API Messages d'Anthropic pour MCP distant (sans client séparé), consultez la documentation de Claude — un en-tête bêta peut être requis (vérifiez la documentation pour connaître l'en-tête exact et l'état actuel de la prise en charge).
Vous trouverez ci-dessous deux exemples de serveurs complets et compacts que vous pouvez copier, exécuter et connecter à Claude Code (ou à l'inspecteur MCP). L'exemple TypeScript utilise Express et le SDK TypeScript ; l'exemple Python illustre le montage d'une API FastAPI.
Remarque : le code ci-dessous reprend les exemples du SDK public et est volontairement minimal pour plus de clarté. En production, ajoutez l’authentification, la journalisation, la limitation du débit et la validation des entrées en plus des fonctionnalités par défaut du SDK.
Exemple 1 : TypeScript + Express (HTTP en flux continu)
Créer server.ts (complet):
// server.ts
import express from "express";
import * as z from "zod/v4";
import { McpServer, ResourceTemplate } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
const server = new McpServer({ name: "claude-code-demo", version: "0.1.0" });
// Register a simple tool: add two numbers
server.registerTool(
"add",
{
title: "Add",
description: "Add two numbers a and b",
inputSchema: { a: z.number(), b: z.number() },
outputSchema: { result: z.number() }
},
async ({ a, b }) => {
const output = { result: a + b };
return {
content: ,
structuredContent: output
};
}
);
// Register a resource: greet user (dynamic)
server.registerResource(
"greeting",
new ResourceTemplate("greeting://{name}", { list: undefined }),
{ title: "Greeting", description: "Return a greeting for the name" },
async (uri, params) => {
return {
contents:
};
}
);
// Express + Streamable HTTP transport
const app = express();
app.use(express.json());
app.post("/mcp", async (req, res) => {
const transport = new StreamableHTTPServerTransport({ enableJsonResponse: true });
// Close transport when connection closes
res.on("close", () => transport.close());
await server.connect(transport);
await transport.handleRequest(req, res, req.body);
});
const port = parseInt(process.env.PORT || "3000", 10);
app.listen(port, () => console.log(`MCP server listening: http://localhost:${port}/mcp`));
Exécuter:
npm install
npx -y tsx server.ts
Connectez-vous ensuite en Claude Code (exemple) :
# Add the remote server to your Claude Code MCP list (local dev)
claude mcp add --transport http my-demo http://localhost:3000/mcp
Cet exemple est adapté du guide de démarrage rapide du SDK TypeScript officiel et montre comment enregistrer des outils et des ressources, puis les exposer via Streamable HTTP.
Exemple 2 : Python + FastAPI (FastMCP + HTTP en flux continu)
Créer server.py (complet):
# server.py
from fastapi import FastAPI
from mcp.server.fastmcp import FastMCP
app = FastAPI()
mcp = FastMCP("claude-python-demo", stateless_http=True)
# tool: simple sum
@mcp.tool()
def add(a: int, b: int) -> dict:
"""Add two integers"""
return {"result": a + b}
# resource: simple greeting resource template
@mcp.resource("greeting://{name}")
def greeting(name: str):
return {"contents": }
# mount the streamable-http MCP endpoint (FastMCP exposes an ASGI app)
app.mount("/mcp", mcp.streamable_http_app())
# optional endpoint to demonstrate other API routes
@app.get("/")
async def root():
return {"status": "OK"}
Exécuter:
uvicorn server:app --reload --port 8000
Contactez l'inspecteur :
npx @modelcontextprotocol/inspector
# In Inspector select Streamable HTTP and enter http://localhost:8000/mcp
Les exemples du SDK Python et les utilitaires FastMCP simplifient l'enregistrement. @mcp.tool() et @mcp.resource() fonctions décorées que le LLM peut découvrir et appeler.
Comment Claude Code appelle-t-il concrètement vos outils ?
Lorsqu'un LLM décide d'utiliser un outil, le client envoie une requête JSON-RPC au serveur MCP. Le serveur exécute l'outil demandé (par exemple, interroge une base de données, exécute des tests ou appelle une API externe) et renvoie un résultat. contenu structuré et contenu présentableLe client (Claude Code) peut alors inclure la sortie structurée dans le contexte du modèle afin que celui-ci puisse poursuivre son raisonnement avec ces données fiables, et non plus seulement avec la sortie textuelle du serveur. Le SDK TypeScript prend en charge l'enregistrement. inputSchema et outputSchema (zod) les arguments et les sorties sont donc validés et typés par machine.
Quels outils de test et de débogage devez-vous utiliser ?
Inspecteur MCP
La Inspecteur MCP est l'outil de développement visuel officiel pour tester les serveurs MCP. Il permet de se connecter à un serveur (stdio, SSE ou HTTP en continu), de lister les outils, de les invoquer manuellement et d'inspecter le cycle de vie des messages JSON-RPC — un atout précieux lors du développement. Lancez-le via npx @modelcontextprotocol/inspector.
Tests locaux vs tests à distance
- Local (stdio) — Cycle d'itération rapide pour les applications de bureau et le débogage hors ligne.
- HTTP diffusable en continu — tester avec l'inspecteur ou se connecter à Claude Code en utilisant le
claude mcp addUtilisez l'interface de ligne de commande (CLI) ou le connecteur MCP de l'API Messages pour les tests à distance. Veillez à fournir les en-têtes d'authentification requis par votre serveur.
Conclusion
MCP constitue le lien pratique entre les modèles de langages modernes et les systèmes qui hébergent les données et exécutent les actions. Pour les flux de travail de code, l'intégration de Claude Code avec un serveur MCP offre au modèle un accès structuré et auditable aux dépôts, à l'intégration continue, aux outils de suivi des problèmes et aux outils personnalisés, ce qui permet une automatisation plus précise et des effets secondaires moins problématiques. Grâce aux kits de développement logiciel (SDK) officiels en TypeScript et Python, à Streamable HTTP pour l'hébergement distant et à des outils comme MCP Inspector, vous pouvez créer un serveur minimal en quelques minutes et progresser vers un déploiement en production.
Les développeurs peuvent accéder Claude Sonnet 4.5 API et API Claude Opus 4.1 etc. via CometAPI, la dernière version du modèle est constamment mis à jour avec le site officiel. Pour commencer, explorez les capacités du modèle dans la section cour de récréation et consultez le Guide de l'API Pour des instructions détaillées, veuillez vous connecter à CometAPI et obtenir la clé API avant d'y accéder. API Comet proposer un prix bien inférieur au prix officiel pour vous aider à vous intégrer.
Prêt à partir ?→ Inscrivez-vous à CometAPI dès aujourd'hui !
Si vous souhaitez connaître plus de conseils, de guides et d'actualités sur l'IA, suivez-nous sur VK, X et Discord!
