Pour les développeurs de serveurs
Voici le contenu traduit en français :Commencez à construire votre propre serveur à utiliser dans Claude pour Desktop et d'autres clients.Dans ce tutoriel, nous allons construire un simple serveur météo MCP et le connecter à un hôte, Claude pour Desktop. Nous commencerons par une configuration de base, puis nous passerons à des cas d'utilisation plus complexes.De nombreux LLM (y compris Claude) n'ont actuellement pas la possibilité de récupérer les prévisions et les alertes météorologiques sévères. Utilisons MCP pour résoudre ce problème !Nous allons construire un serveur qui expose deux outils : get-alerts
et get-forecast
. Ensuite, nous connecterons le serveur à un hôte MCP (dans ce cas, Claude pour Desktop) :Pourquoi Claude pour Desktop et pas Claude.ai ?Les serveurs MCP peuvent fournir trois principaux types de capacités :1.
Ressources : Données de type fichier qui peuvent être lues par les clients (comme les réponses d'API ou le contenu de fichiers)
2.
Outils : Fonctions qui peuvent être appelées par le LLM (avec l'approbation de l'utilisateur)
3.
Prompts : Modèles pré-écrits qui aident les utilisateurs à accomplir des tâches spécifiques
Ce tutoriel se concentrera principalement sur les outils.Connaissances préalables#
Ce guide de démarrage rapide suppose que vous connaissez :Configuration système requise#
Python 3.10 ou supérieur installé.
Vous devez utiliser le SDK Python MCP 1.2.0 ou supérieur.
Tout d'abord, installons uv
et configurons notre projet et environnement Python :powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Assurez-vous de redémarrer votre terminal par la suite pour vous assurer que la commande uv
est prise en compte.Maintenant, créons et configurons notre projet :
uv init weather
cd weather
uv venv
.venv\Scripts\activate
uv add mcp[cli] httpx
new-item weather.py
uv init weather
cd weather
uv venv
.venv\Scripts\activate
uv add mcp[cli] httpx
new-item weather.py
Maintenant, plongeons dans la construction de votre serveur.Construction de votre serveur#
Importation des packages et configuration de l'instance#
Ajoutez ceci en haut de votre weather.py
:La classe FastMCP utilise des indications de type Python et des chaînes de documentation pour générer automatiquement des définitions d'outils, ce qui facilite la création et la maintenance des outils MCP.Fonctions d'assistance#
Ensuite, ajoutons nos fonctions d'assistance pour interroger et formater les données de l'API du National Weather Service :Mise en œuvre de l'exécution des outils#
Le gestionnaire d'exécution des outils est responsable de l'exécution réelle de la logique de chaque outil. Ajoutons-le :Exécution du serveur#
Enfin, initialisons et exécutons le serveur :Votre serveur est terminé ! Exécutez uv run weather.py
pour confirmer que tout fonctionne.Testons maintenant votre serveur à partir d'un hôte MCP existant, Claude pour Desktop.Test de votre serveur avec Claude pour Desktop#
Claude pour Desktop n'est pas encore disponible sur Linux. Les utilisateurs de Linux peuvent passer au tutoriel Construction d'un client pour construire un client MCP qui se connecte au serveur que nous venons de construire.Nous devrons configurer Claude pour Desktop pour tous les serveurs MCP que vous souhaitez utiliser. Pour ce faire, ouvrez la configuration de votre application Claude pour Desktop à l'adresse ~/Library/Application Support/Claude/claude_desktop_config.json
dans un éditeur de texte. Assurez-vous de créer le fichier s'il n'existe pas.Par exemple, si VS Code est installé :code $env:AppData\Claude\claude_desktop_config.json
Vous ajouterez ensuite vos serveurs dans la clé mcpServers
. Les éléments d'interface utilisateur MCP ne s'afficheront dans Claude pour Desktop que si au moins un serveur est correctement configuré.Dans ce cas, nous allons ajouter notre serveur météo unique comme ceci :{
"mcpServers": {
"weather": {
"command": "uv",
"args": [
"--directory",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/weather",
"run",
"weather.py"
]
}
}
}
{
"mcpServers": {
"weather": {
"command": "uv",
"args": [
"--directory",
"C:\\ABSOLUTE\\PATH\\TO\\PARENT\\FOLDER\\weather",
"run",
"weather.py"
]
}
}
}
Vous devrez peut-être indiquer le chemin complet de l'exécutable uv
dans le champ command
. Vous pouvez l'obtenir en exécutant which uv
sur MacOS/Linux ou where uv
sur Windows.
Assurez-vous de transmettre le chemin absolu de votre serveur.
Cela indique à Claude pour Desktop :1.
Qu'il existe un serveur MCP nommé "weather"
2.
De le lancer en exécutant uv --directory /ABSOLUTE/PATH/TO/PARENT/FOLDER/weather run weather.py
Enregistrez le fichier et redémarrez Claude pour Desktop.Assurons-nous que Claude pour Desktop détecte les deux outils que nous avons exposés dans notre serveur weather
. Vous pouvez le faire en recherchant l'icône de marteau
:Après avoir cliqué sur l'icône de marteau, vous devriez voir deux outils répertoriés :Si votre serveur n'est pas détecté par Claude pour Desktop, passez à la section Dépannage pour obtenir des conseils de débogage.Si l'icône de marteau est apparue, vous pouvez maintenant tester votre serveur en exécutant les commandes suivantes dans Claude pour Desktop :Quel temps fait-il à Sacramento ?
Quelles sont les alertes météorologiques actives au Texas ?
Étant donné qu'il s'agit du US National Weather Service, les requêtes ne fonctionneront que pour les emplacements aux États-Unis.Lorsque vous posez une question :1.
Le client envoie votre question à Claude
2.
Claude analyse les outils disponibles et décide lesquels utiliser
3.
Le client exécute les outils choisis via le serveur MCP
4.
Les résultats sont renvoyés à Claude
5.
Claude formule une réponse en langage naturel
6.
La réponse vous est affichée !
Modified at 2025-03-13 04:21:43