Serveur Linode MCP
Un serveur Model Context Protocol (MCP) pour interagir avec l'API de Linode afin de gérer les ressources en nuage. Ce paquetage permet aux grands modèles de langage (LLM) comme Claude de gérer les instances Linode à travers une interface standardisée.
Fonctionnalités
- Liste des régions Linode, des types d'instance et des instances
- Création, affichage des détails, suppression et redémarrage des instances Linode
- Interface sécurisée et facile à utiliser pour les LLM afin de gérer les ressources Linode
- Entièrement compatible avec les assistants IA compatibles MCP tels que Claude
Installation et configuration
Définissez votre clé API Linode en tant que variable d'environnement :
export LINODE_API_KEY=votre_clé_api_ici
Ou utilisez un fichier .env
dans le répertoire du projet :
LINODE_API_KEY=votre_clé_api_ici
Vous pouvez générer une clé API à partir du Linode Cloud Manager.
Depuis PyPI (recommandé)
pip install linode-mcp
En utilisant uv
uvx pip install linode-mcp uvx linode-mcp --api-key $LINODE_API_KEY
A partir de la source
# Cloner le dépôt git clone https://github.com/yourusername/linode-mcp.git cd linode-mcp # Installer le paquetage en mode développement ./scripts/install.sh
Utilisation
En tant qu'outil en ligne de commande
# Exécuter avec les paramètres par défaut linode-mcp # Activer la journalisation de débogage linode-mcp --debug # Spécifier la clé API sur la ligne de commande linode-mcp --api-key votre_clé_api_ici
Avec Claude pour Desktop
Installer le paquetage :
pip install linode-mcp
Editez manuellement votre fichier de configuration de Claude Desktop :
- MacOS :
~/Bibliothèque/Application Support/Claude/claude_desktop_config.json
- Windows :
%APPDATA%\Claudeclaude_desktop_config.json
{ "mcpServers" : { "linode" : { "command" : "linode-mcp", "args" : ["--api-key", "your_api_key_here"] } } }
- MacOS :
Redémarrer Claude for Desktop
Dans une conversation avec Claude, vous pouvez maintenant lui demander de :
- De dresser la liste de vos instances Linode
- Créer une nouvelle instance Linode
- Obtenir des détails sur une instance spécifique
- Redémarrer ou supprimer des instances
Exemple d'invites :
- "Afficher toutes mes instances Linode"
- "Créer un nouveau Linode de 2GB dans la région de Francfort avec Debian 11"
- "Redémarrer mon instance avec l'ID 12345
Outils disponibles
Le paquet fournit ces outils MCP :
list_regions
- Liste de toutes les régions Linode disponibles
À ajouter :
list_instance_types
- Liste de tous les types d'instances Linode disponibles et leurs tarifslist_instances
- Liste de toutes les instances Linode existantescreate_instance
- Créer une nouvelle instance Linodeget_instance
- Obtenir des détails sur une instance Linode spécifiquedelete_instance
- Supprimer une instance Linodereboot_instance
- Redémarrer une instance Linode
Développement
Structure du projet
linode-mcp/ ├── bin/ # Scripts de ligne de commande ├── src/ # Code source │ └── linode_mcp/ # Paquet principal │ ├── tools/ # Implémentations d'outils MCP │ └── server.py # Implémentation du serveur MCP ├─── setup.py # Fichier d'installation du paquet └── README.md # Ce fichier
Contribuer
Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.
- Créer le dépôt
- Créez votre branche
(git checkout -b feature/amazing-feature
) - Livrez vos changements
(git commit -m 'Add some amazing feature'
) - Pousser vers la branche
(git push origin feature/amazing-feature
) - Ouvrir une Pull Request
Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
Remerciements
- Linode API pour avoir fourni l'API de l'infrastructure en nuage
- Model Context Protocol pour la spécification de l'interface standard
- Claude pour les capacités de l'assistant d'intelligence artificielle