Aller au contenu
Retour aux Tutoriels

Construire, sécuriser et déployer un serveur MCP personnalisé : de la définition d'outils à la production

Avancé · 1 hour 30 minutes · 2 min de lecture · Byte Smith ·

Avant de commencer

  • Familiarité avec les concepts MCP -- complétez d'abord [Comment configurer des agents de codage MCP](/fr/tutorials/mcp-coding-agents-setup)
  • Node.js 20+ et npm installés
  • Connaissances basiques en PostgreSQL
  • Docker et Docker Compose installés

Ce que vous apprendrez

  • Scaffolder un serveur MCP avec le SDK TypeScript officiel
  • Définir des outils avec des schémas Zod pour des requêtes de base de données sûres
  • Exposer le schéma de base de données comme ressources MCP pour la découverte par l'agent
  • Ajouter un middleware d'authentification par clé API
  • Implémenter la validation d'entrées, la prévention d'injection SQL et le masquage de colonnes sensibles
  • Écrire des tests unitaires et d'intégration pour les outils MCP
  • Conteneuriser et déployer avec Docker Compose
Sur cette page

La plupart des tutoriels MCP s’arrêtent à “voici un outil qui retourne hello world.” C’est bien pour apprendre le protocole, mais c’est inutile quand vous devez connecter des agents IA à une vraie base de données, appliquer l’authentification, empêcher l’injection SQL et empaqueter le tout pour le déploiement. Ce tutoriel comble cette lacune.

Vous allez construire un serveur MCP from scratch en utilisant le SDK TypeScript officiel qui va bien au-delà des démos hello-world. À la fin, vous aurez un serveur pleinement fonctionnel qui se connecte à PostgreSQL, expose des outils de requête de base de données sûrs, fournit des ressources de découverte de schéma, applique l’authentification par clé API, valide toutes les entrées, masque les colonnes sensibles, gère les erreurs proprement, passe une suite de tests et s’exécute dans Docker Compose. Le code complet fonctionnel vit dans le dépôt mcp-enterprise-starter.

Si vous n’avez pas travaillé avec MCP avant, commencez par Comment configurer des agents de codage MCP pour mettre les fondamentaux en place. Si vous voulez l’aperçu conceptuel de pourquoi les serveurs MCP personnalisés comptent pour les workflows d’entreprise, lisez l’article de blog compagnon : Building Custom MCP Servers.

Ce tutoriel est très riche en code. Les étapes clés sont :

  1. Scaffolder le serveur MCP — Initialiser le projet avec le SDK MCP, configurer le transport stdio et tester avec Claude Desktop.
  2. Définir votre premier outil — requête de base de données sûre — Créer un outil query_database avec un pool de connexions PostgreSQL, un schéma Zod et des garde-fous de sécurité.
  3. Ajouter une ressource — découverte de schéma — Exposer le schéma de base de données comme une ressource MCP que les agents peuvent découvrir.
  4. Ajouter l’authentification — Implémenter un middleware d’authentification par clé API.
  5. Ajouter la validation d’entrées et les garde-fous de sécurité — Validation de schéma, prévention d’injection SQL, limites de lignes et masquage de colonnes sensibles.
  6. Gestion d’erreurs et réponses structurées — Définir des catégories d’erreurs et retourner des erreurs sur lesquelles les agents peuvent raisonner.
  7. Tests — Tests unitaires pour les handlers d’outils, le middleware et les réponses d’erreur.
  8. Conteneuriser et déployer — Dockerfile multi-stage, Docker Compose avec PostgreSQL et health checks.
Attention

N’écrivez jamais sur stdout dans un serveur MCP. Le protocole MCP utilise stdout pour la communication entre client et serveur. Tout console.log parasite corrompra le flux protocolaire et causera des échecs de connexion.

Pour le code source complet et l’implémentation détaillée, consultez le dépôt mcp-enterprise-starter sur GitHub.