Servidor MCP Doppler
Un servidor MCP (Model Context Protocol) simplificado para el acceso de sólo lectura a la plataforma de gestión de secretos Doppler.
Características
Este servidor MCP proporciona tres herramientas esenciales para acceder a los secretos de Doppler:
- doppler_list_projects - Lista de todos los proyectos Doppler accesibles a su token
- doppler_list_secrets - Lista todos los nombres de secretos en un proyecto/configuración específico
- doppler_get_secret - Obtener el valor de un secreto específico
Instalación
npm install @lepion/mcp-server-doppler
Configuración
Configure sus variables de entorno:
# Requerido DOPPLER_TOKEN=tu_doppler_token # Token de servicio, token personal, o token CLI # Opcional LOG_LEVEL=info # debug, info, warn, error (por defecto: info)
Uso
Con Claude Desktop
Añada a su configuración Claude Desktop(~/Library/Application Support/Claude/claude_desktop_config.json
):
{ "mcpServers": { "doppler": { "command": "npx", "args": ["@lepion/mcp-server-doppler"], "env": {"DOPPLER_TOKEN": "dp.st.your_service_token" } } }
Herramientas disponibles
1. doppler_list_projects
Lista todos los proyectos Doppler accesibles por el token.
Parámetros: Ninguno
Ejemplo:
// Respuesta [ { "id": "proj_123", "slug": "mi-proyecto", "nombre": "Mi proyecto", "description": "Aplicación de producción", "created_at": "2024-01-01T00:00:00.000Z", "updated_at": "2024-01-01T00:00:00.000Z" } ]
2. doppler_list_secrets
Lista todos los nombres secretos de un proyecto y una configuración específicos.
Parámetros:
project
(cadena, obligatorio) - El nombre del proyecto Dopplerconfig
(string, obligatorio) - El nombre de la configuración/entorno (por ejemplo, dev, staging, production)
Ejemplo:
// Solicitud { "proyecto": "mi-proyecto", "config": "production" } // Respuesta ["DATABASE_URL", "API_KEY", "REDIS_URL", "JWT_SECRET"]
3. doppler_get_secret
Recupera un valor secreto específico.
Parámetros:
project
(cadena, obligatorio) - El nombre del proyecto Dopplerconfig
(cadena, obligatorio) - El nombre de la configuración/entornoname
(cadena, obligatorio) - El nombre del secreto a recuperar
Ejemplo:
// Solicitud { "proyecto": "mi-proyecto", "config": "production", "name": "DATABASE_URL" } // Respuesta { "name": "DATABASE_URL", "value": { "raw": "postgres://user:pass@host:5432/db", "computed": "postgres://user:pass@host:5432/db" }
Buenas prácticas de seguridad
- Utilice tokens de servicio: Utilice siempre tokens de servicio con alcance en lugar de tokens personales para el uso en producción
- Limite el alcance de los tokens: Cree tokens con acceso de sólo lectura y limítelos a proyectos/configuraciones específicos
- Rotación de tokens: Rota regularmente tus tokens Doppler
- Nunca comprometer tokens: Nunca envíes tokens Doppler al control de versiones
Desarrollo
# Clonar el repositorio git clone https://github.com/kayaozkur/mcp-server-doppler.git cd mcp-server-doppler Instalar dependencias npm install Ejecutar en modo desarrollo npm run dev Compilar para producción npm run build Ejecutar pruebas npm test
Requisitos
- Node.js 18 o superior
- Cuenta Doppler válida y token API
Licencia
MIT
Contribución
¡Las contribuciones son bienvenidas! No dudes en enviar una Pull Request.