Serveur MCP Doppler
Serveur MCP (Model Context Protocol) simplifié pour l'accès en lecture seule à la plateforme de gestion des secrets Doppler.
Caractéristiques
Ce serveur MCP fournit trois outils essentiels pour accéder aux secrets Doppler :
- doppler_list_projects - Liste de tous les projets Doppler accessibles à votre jeton
- doppler_list_secrets - Liste tous les noms de secrets dans un projet/config spécifique
- doppler_get_secret - Obtenir la valeur d'un secret spécifique
Installation
npm install @lepion/mcp-server-doppler
Configuration de l'environnement
Configurez vos variables d'environnement :
# Requis DOPPLER_TOKEN=votre_token_doppler # jeton de service, jeton personnel, ou jeton CLI # Optionnel LOG_LEVEL=info # debug, info, warn, error (default : info)
Utilisation
Avec Claude Desktop
Ajoutez à votre configuration Claude Desktop(~/Bibliothèque/Application Support/Claude/claude_desktop_config.json
) :
{ "mcpServers" : { "doppler" : {"command" : "npx", "args" : ["@lepion/mcp-server-doppler"], "env" : { "DOPPLER_TOKEN" : "dp.st.your_service_token" } } } }
Outils disponibles
1. doppler_list_projects
Liste tous les projets Doppler accessibles par le jeton.
Paramètres : Aucun
Exemple :
// Réponse [ { "id" : "proj_123", "slug" : "my-project", "name" : "Mon projet", "description" : "Application de production", "created_at" : "2024-01-01T00:00:00.000Z", "updated_at" : "2024-01-01T00:00:00.000Z" } ]
2. doppler_list_secrets
Liste tous les noms de secrets dans un projet et une configuration spécifiques.
Paramètres :
project
(chaîne, obligatoire) - Le nom du projet Dopplerconfig
(chaîne, obligatoire) - Le nom de la configuration ou de l'environnement (par exemple, dev, staging, production)
Exemple :
// Demande { "project" : "mon-projet", "config" : "production" } // Response ["DATABASE_URL", "API_KEY", "REDIS_URL", "JWT_SECRET"]
3. doppler_get_secret
Récupère une valeur secrète spécifique.
Paramètres :
project
(chaîne, obligatoire) - Le nom du projet Dopplerconfig
(chaîne, obligatoire) - Le nom de la configuration/de l'environnementname
(chaîne, obligatoire) - Le nom du secret à récupérer
Exemple :
// Demande { "project" : "mon-projet", "config" : "production", "name" : "DATABASE_URL" } // Response { "name" : "DATABASE_URL", "value" : { "raw" : "postgres://user:pass@host:5432/db", "computed" : "postgres://user:pass@host:5432/db" } }
Meilleures pratiques en matière de sécurité
- Utiliser des jetons de service: Utilisez toujours des jetons de service plutôt que des jetons personnels pour une utilisation en production
- Limiter la portée du jeton: Créez des jetons avec un accès en lecture seule et limitez-les à des projets/configures spécifiques
- Rotation des jetons: Effectuez une rotation régulière de vos jetons Doppler
- Ne jamais engager les jetons: Ne jamais livrer les jetons Doppler au contrôle de version
Développement
# Cloner le dépôt git clone https://github.com/kayaozkur/mcp-server-doppler.git cd mcp-server-doppler # Installer les dépendances npm install # Exécuter en mode développement npm run dev # Construire pour la production npm run build # Exécuter les tests npm test
Exigences
- Node.js 18 ou supérieur
- Compte Doppler valide et jeton API
Licence
MIT
Contribuer
Les contributions sont les bienvenues ! N'hésitez pas à soumettre une Pull Request.