Introduction
Le Model Context Protocol (MCP) standardise la façon dont les applications transmettent du contexte structuré aux modèles d'IA. En 2026, il devient essentiel pour éviter les hallucinations et améliorer la cohérence des réponses. Ce protocole permet de définir des règles claires sur les données, l'historique et les contraintes. Il s'apparente à un contrat entre votre application et le modèle. Maîtriser MCP dès maintenant vous donnera un avantage compétitif dans le développement d'applications IA fiables.
Prérequis
- Node.js 20 ou supérieur
- Connaissances de base en TypeScript
- Un éditeur comme VS Code
- Compte sur un fournisseur de modèle compatible MCP
Installation des dépendances
npm init -y
npm install @mcp/sdk typescript @types/node
npx tsc --initCette commande initialise le projet et installe le SDK officiel MCP ainsi que TypeScript. Le SDK gère automatiquement le formatage et la validation du protocole.
Création du fichier de configuration MCP
{
"protocolVersion": "1.0",
"contextSchema": {
"type": "object",
"properties": {
"userId": { "type": "string" },
"sessionHistory": { "type": "array" }
},
"required": ["userId"]
},
"maxContextTokens": 8000
}Ce fichier JSON définit la structure attendue du contexte. Il indique au modèle quels champs sont obligatoires et limite la taille du contexte pour éviter les dépassements.
Structure du contexte expliquée
Le fichier de configuration agit comme un schéma de validation. Chaque propriété définit le type de données autorisé. Cela évite d'envoyer des informations inutiles ou mal formatées au modèle.
Implémentation du client MCP
import { MCPClient } from '@mcp/sdk';
const client = new MCPClient({
endpoint: 'https://api.example.com/mcp',
apiKey: process.env.MCP_API_KEY
});
export async function sendContext(context: any) {
const validated = await client.validateContext(context);
return client.sendContext(validated);
}Le client MCP se connecte à l'endpoint et valide automatiquement le contexte avant envoi. La fonction sendContext garantit que seules les données conformes sont transmises.
Création du handler de contexte
import { ContextHandler } from '@mcp/sdk';
export const handler = new ContextHandler({
schema: require('../mcp.config.json').contextSchema,
onValidate: (data) => {
if (!data.userId) throw new Error('userId requis');
return data;
}
});Ce handler intercepte et valide chaque contexte avant transmission. Il centralise les règles de validation et facilite la maintenance.
Intégration dans l'application principale
import { sendContext } from './mcp-client';
import { handler } from './context-handler';
async function main() {
const context = {
userId: 'user_123',
sessionHistory: ['Bonjour', 'Comment allez-vous ?']
};
const validated = await handler.process(context);
const response = await sendContext(validated);
console.log(response);
}
main();Le fichier principal assemble le handler et le client. Il prépare un contexte valide puis l'envoie au modèle via MCP.
Test de la connexion MCP
npm run build
node dist/index.jsCette commande compile TypeScript et exécute le script. Vérifiez que la réponse du modèle respecte bien le schéma défini dans mcp.config.json.
Bonnes pratiques
- Toujours valider le contexte avant envoi avec le handler
- Limiter le nombre de tokens pour réduire les coûts
- Versionner votre fichier mcp.config.json
- Logger les erreurs de validation
- Tester avec des contextes réels dès le début
Erreurs courantes à éviter
- Oublier de définir les champs required dans le schéma
- Envoyer des données non typées sans validation
- Ignorer la limite de tokens maxContextTokens
- Ne pas gérer les erreurs de connexion au endpoint MCP
Pour aller plus loin
Approfondissez vos compétences avec nos formations complètes sur les protocoles IA modernes. Découvrez nos formations Learni.