Aller au contenu principal

Configuration du projet

Mis à jour le 29 juillet 2026

Avant de construire notre serveur et notre client MCP, il faut préparer l’environnement de projet. Ce cours utilise Python avec le SDK MCP officiel, et uv comme gestionnaire de paquets. Comptez quelques minutes : l’installation est courte, et tout le reste du cours s’appuiera sur ce socle.

Prérequis

Deux choses seulement sont nécessaires : Python 3.10 ou supérieur, et uv installé sur votre machine (guide d’installation). Si vous avez l’habitude de pip et venv, uv joue le même rôle en réunissant création d’environnement, résolution de dépendances et exécution de scripts dans un seul outil.

Structure du projet

Le projet que nous allons construire est une interface CLI (ligne de commande) qui permet à Claude d’interagir avec un système de gestion de documents via MCP. Quatre fichiers suffisent, et chacun correspond à une brique du protocole vue dans la partie précédente.

mon-projet-mcp/
├── mcp_server.py      ← Le serveur MCP (outils, ressources, prompts)
├── mcp_client.py      ← Le client MCP
├── main.py            ← L'interface CLI principale
├── pyproject.toml     ← Dépendances
└── README.md

Retenez cette répartition, elle vous servira de repère jusqu’à la fin du cours : mcp_server.py accueillera successivement les outils, les ressources puis les prompts, mcp_client.py recevra les méthodes qui les consomment, et main.py reste la couche visible par l’utilisateur, celle qui affiche l’invite et parle à Claude.

Installation des dépendances

Avec uv, la création de l’environnement et l’installation des dépendances tiennent en quelques commandes :

# Créer un nouveau projet
uv init mon-projet-mcp
cd mon-projet-mcp

# Ajouter les dépendances
uv add mcp anthropic

Deux paquets suffisent : mcp fournit le SDK du protocole, côté serveur comme côté client, et anthropic fournit le client d’API qui permettra à main.py d’envoyer les conversations à Claude.

Fichier pyproject.toml

La commande uv add met à jour votre pyproject.toml, qui contiendra les dépendances suivantes :

[project]
name = "mon-projet-mcp"
version = "0.1.0"
requires-python = ">=3.10"
dependencies = [
    "mcp>=1.0.0",
    "anthropic>=0.40.0",
]

La ligne requires-python n’est pas décorative : le SDK MCP s’appuie sur des fonctionnalités de typage et d’asynchrone qui exigent Python 3.10 au minimum. Si vous obtenez une erreur de résolution à cette étape, vérifiez d’abord la version de Python utilisée par votre environnement.

Activer l’environnement

# Activer l'environnement virtuel
source .venv/bin/activate  # Linux/macOS
# ou
.venv\Scripts\activate     # Windows

Cette activation devient importante dès la leçon sur l’inspecteur : la commande mcp dev doit trouver le SDK dans l’environnement courant, faute de quoi elle échouera sans que la cause soit évidente. En cas de doute, réactivez l’environnement avant de lancer une commande.

Données du projet

Notre serveur MCP gérera des documents en mémoire. Pour cet exemple, nous utilisons un dictionnaire Python simple :

docs = {
    "deposition.md": "Ce document couvre le témoignage d'Angela Smith.",
    "rapport.pdf": "Ce rapport détaille l'état d'une tour de condensation.",
    "finances.docx": "Ces finances décrivent le budget et les dépenses du projet.",
    "perspectives.pdf": "Ce document présente les performances futures projetées.",
    "plan.md": "Ce plan décrit les étapes de mise en œuvre du projet.",
    "spec.txt": "Ces spécifications définissent les exigences techniques."
}

Ce choix est délibéré. Une clé de dictionnaire fait office d’identifiant de document, la valeur fait office de contenu, et l’ensemble tient dans une variable que vous pouvez inspecter d’un coup d’œil. Rien ne vous distraira du protocole lui-même. Dans une application réelle, ces documents proviendraient évidemment d’une base de données, d’un système de fichiers ou d’une API externe — mais le code MCP qui les expose, lui, ne changerait presque pas.

Prochaines étapes

L’environnement est prêt. Nous allons maintenant définir les outils dans le serveur MCP, les tester avec l’inspecteur intégré, implémenter le client, puis ajouter des ressources et des prompts. Chaque leçon reprend le fichier là où la précédente l’a laissé, alors gardez ce projet ouvert.