Écrire un serveur MCP
Du fichier vide au serveur qu'un hôte peut brancher, en une centaine de lignes
Le premier serveur MCP que l'on écrit fonctionne rarement du premier coup, et presque jamais pour la raison qu'on imagine. Ce n'est pas le protocole qui pose problème : les bibliothèques s'en occupent. C'est un print de débogage qui atterrit sur la sortie standard et détruit le flux JSON-RPC ; c'est un outil qui lève une exception au lieu de renvoyer une erreur lisible ; c'est un serveur qui démarre parfaitement à la main et que l'hôte n'arrive pas à lancer parce qu'il ne trouve pas l'interpréteur du bon environnement virtuel.
Cette leçon construit un serveur complet — deux outils et une ressource sur un domaine de facturation — puis le teste sans agent, sans modèle et sans hôte. C'est l'ordre qui compte : tant que vous n'avez pas vu vos réponses JSON-RPC de vos yeux, brancher un agent dessus revient à déboguer deux systèmes non déterministes à la fois. Un serveur MCP est un programme ordinaire, il se teste comme un programme ordinaire, et c'est précisément ce qui rend le protocole agréable à mettre en œuvre.
Mise en place
python -m venv .venv
.venv/bin/pip install "mcp[cli]>=1.9"
Commentaires
Les commentaires sont alimentés par GitHub Discussions
Connectez-vous avec GitHub pour participer à la discussion