BOVO Digital

Transformez vos idées en réalité

BOVO Digital
Tutoriels12 min de lecture

Tutoriel : Déployer un Agent IA avec MCP sur votre Serveur en 20 Minutes

Le Model Context Protocol (MCP) est le standard qui connecte les IA aux outils réels. Ce guide pas à pas vous montre comment créer un serveur MCP, le connecter à Claude, et automatiser des tâches complexes.

William Aklamavo

William Aklamavo

5 mars 2026

Tutoriel : Déployer un Agent IA avec MCP sur votre Serveur en 20 Minutes

Tutoriel : Déployer un Agent IA avec MCP sur votre Serveur en 20 Minutes

Le Model Context Protocol (MCP) est en train de devenir le standard universel pour connecter les IA à vos outils, bases de données et services. Adopté par OpenAI, Anthropic, Google et tous les grands frameworks d'agents IA, le MCP est la brique manquante qui transforme un simple chatbot en un assistant capable d'agir dans le monde réel.

Dans ce tutoriel, nous allons construire un serveur MCP qui donne à Claude (ou tout autre LLM) la capacité de lire et modifier vos fichiers, d'interroger votre base de données, et de déclencher des actions dans vos systèmes.

Qu'est-ce que le MCP ?

Pensez au MCP comme à un adaptateur universel pour l'IA :

  • Sans MCP : Votre IA ne peut que lire du texte et générer du texte. Elle est isolée du monde.
  • Avec MCP : Votre IA peut lire votre base de données, créer des fichiers, envoyer des emails, déclencher des déploiements, modifier des tickets Jira, etc.

Architecture MCP en 30 Secondes

[Utilisateur] → [Client MCP (ex: Claude)] → [Serveur MCP] → [Vos outils/APIs/BDD]

Le Serveur MCP expose une collection d'outils que le LLM peut appeler. Le processus :

  1. Discovery : Le client MCP se connecte au serveur et découvre les outils disponibles.
  2. Décision : Le LLM analyse la requête utilisateur et choisit quel outil utiliser.
  3. Invocation : Le client MCP exécute l'outil avec les paramètres générés par le LLM.
  4. Exécution : Le serveur MCP traite la requête (accès BDD, API, fichiers...).
  5. Réponse : Le résultat est renvoyé au LLM qui l'intègre dans sa réponse.

Prérequis

  • Node.js 20+ installé
  • npm ou pnpm
  • Un éditeur de code (VS Code recommandé)
  • (Optionnel) Une clé API Claude pour tester l'intégration complète

Étape 1 : Initialiser le Projet

mkdir mon-serveur-mcp
cd mon-serveur-mcp
npm init -y
npm install @modelcontextprotocol/sdk zod
npm install -D typescript @types/node tsx

Créez un fichier tsconfig.json :

{
  "compilerOptions": {
    "target": "ES2022",
    "module": "ESNext",
    "moduleResolution": "bundler",
    "outDir": "./dist",
    "strict": true,
    "esModuleInterop": true
  }
}

Étape 2 : Créer le Serveur MCP

Créez src/server.ts :

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
import * as fs from "fs/promises";
import * as path from "path";

// Créer le serveur
const server = new McpServer({
  name: "mon-serveur-mcp",
  version: "1.0.0",
});

// Outil 1 : Lister les fichiers d'un dossier
server.tool(
  "list_files",
  "Liste les fichiers dans un dossier donné",
  {
    directory: z.string().describe("Chemin du dossier à lister"),
  },
  async ({ directory }) => {
    const files = await fs.readdir(directory, { withFileTypes: true });
    const result = files.map(f => ({
      name: f.name,
      type: f.isDirectory() ? "dossier" : "fichier"
    }));
    return {
      content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
    };
  }
);

// Outil 2 : Lire le contenu d'un fichier
server.tool(
  "read_file",
  "Lit et retourne le contenu d'un fichier",
  {
    filepath: z.string().describe("Chemin complet du fichier"),
  },
  async ({ filepath }) => {
    const content = await fs.readFile(filepath, "utf-8");
    return {
      content: [{ type: "text", text: content }]
    };
  }
);

// Outil 3 : Écrire dans un fichier
server.tool(
  "write_file",
  "Écrit du contenu dans un fichier (crée ou écrase)",
  {
    filepath: z.string().describe("Chemin du fichier"),
    content: z.string().describe("Contenu à écrire"),
  },
  async ({ filepath, content }) => {
    await fs.mkdir(path.dirname(filepath), { recursive: true });
    await fs.writeFile(filepath, content, "utf-8");
    return {
      content: [{ type: "text", text: "Fichier écrit avec succès." }]
    };
  }
);

// Démarrer le serveur
const transport = new StdioServerTransport();
await server.connect(transport);

Étape 3 : Tester Localement

npx tsx src/server.ts

Si le serveur démarre sans erreur, il écoute sur stdin/stdout et attend les requêtes MCP. Ctrl+C pour arrêter.

Étape 4 : Intégrer avec Claude Desktop

Claude Desktop supporte nativement le MCP. Ajoutez votre serveur dans la configuration :

// ~/Library/Application Support/Claude/claude_desktop_config.json (Mac)
// %APPDATA%/Claude/claude_desktop_config.json (Windows)
{
  "mcpServers": {
    "mon-serveur": {
      "command": "npx",
      "args": ["tsx", "/chemin/vers/mon-serveur-mcp/src/server.ts"]
    }
  }
}

Redémarrez Claude Desktop. Vous verrez maintenant une icône 🔧 indiquant que vos outils MCP sont disponibles.

Étape 5 : Ajouter un Outil Avancé (API REST)

Enrichissons notre serveur avec un outil qui interroge une API externe :

// Outil 4 : Rechercher sur une API
server.tool(
  "search_api",
  "Recherche des informations via une API REST",
  {
    query: z.string().describe("Terme de recherche"),
    endpoint: z.string().describe("URL de l'API")
  },
  async ({ query, endpoint }) => {
    const response = await fetch(endpoint + "?q=" + encodeURIComponent(query));
    const data = await response.json();
    return {
      content: [{ type: "text", text: JSON.stringify(data, null, 2) }]
    };
  }
);

Étape 6 : Intégrer avec n8n

Si vous utilisez n8n 2.0+, le support MCP est natif :

  1. Dans n8n, ajoutez un nœud "MCP Client"
  2. Pointez vers votre serveur MCP (via stdio ou HTTP)
  3. L'agent IA dans n8n peut maintenant utiliser vos outils MCP comme des outils natifs

C'est la combinaison ultime : n8n pour l'orchestration + MCP pour l'accès aux outils + LLM pour le raisonnement.

Sécurité : Les Règles d'Or

Le MCP est puissant, mais un grand pouvoir implique de grandes responsabilités :

1. Principe du Moindre Privilège

Ne donnez accès qu'aux dossiers et APIs strictement nécessaires. Ne jamais exposer la racine du système de fichiers.

2. Validation des Entrées

Utilisez Zod (comme dans notre exemple) pour valider rigoureusement toutes les entrées.

3. Sandbox

Exécutez vos serveurs MCP dans des conteneurs Docker ou des environnements isolés en production.

4. Logs d'Audit

Enregistrez chaque appel d'outil avec les paramètres et les résultats. C'est essentiel pour le debugging et la conformité.

Aller Plus Loin

  • Serveurs MCP communautaires : Il existe déjà des serveurs MCP prêts à l'emploi pour Slack, GitHub, PostgreSQL, Notion, etc.
  • Multi-serveurs : Vous pouvez connecter plusieurs serveurs MCP à un même client, chacun spécialisé dans un domaine.
  • Authentification : Pour les APIs sensibles, implémentez OAuth2 ou des tokens d'accès dans votre serveur.

Conclusion

Le MCP est la pièce manquante qui transforme l'IA générative en IA agentique. En 20 minutes, vous avez créé un serveur qui donne à Claude la capacité de lire vos fichiers, écrire du code, et interagir avec vos APIs.

La prochaine étape ? Connectez votre serveur MCP à votre base de données, à votre CRM, ou à votre pipeline de déploiement. Les possibilités sont illimitées.


Vous voulez un serveur MCP sur mesure pour votre entreprise ? Chez BOVO Digital, nous construisons des serveurs MCP personnalisés qui connectent votre IA à tous vos systèmes internes. Automatisation + Intelligence = Productivité.

Étiquettes

#MCP#Model Context Protocol#Tutoriel#Agent IA#Claude#n8n#TypeScript#Automatisation
William Aklamavo

William Aklamavo

Expert en développement web et automatisation, passionné par l'innovation technologique et l'entrepreneuriat digital.