Skip to main content
Glama
configuracion.ts2.16 kB
import fs from 'node:fs'; import path from 'node:path'; import os from 'node:os'; // Archivo para guardar tokens y credenciales en home del usuario const ARCHIVO_TOKENS = path.join(os.homedir(), '.spotify-mcp-tokens.json'); export interface ConfiguracionSpotify { clientId: string; clientSecret: string; redirectUri: string; accessToken?: string; refreshToken?: string; } interface DatosGuardados { clientId?: string; clientSecret?: string; redirectUri?: string; accessToken?: string; refreshToken?: string; } function cargarDatosGuardados(): DatosGuardados { try { if (fs.existsSync(ARCHIVO_TOKENS)) { return JSON.parse(fs.readFileSync(ARCHIVO_TOKENS, 'utf8')); } } catch { // Si hay error, retornamos vacío } return {}; } function guardarDatos(datos: DatosGuardados): void { fs.writeFileSync(ARCHIVO_TOKENS, JSON.stringify(datos, null, 2), 'utf8'); } export function cargarConfiguracion(): ConfiguracionSpotify { // Primero intentar cargar del archivo de tokens (configurado por LLM) const datosGuardados = cargarDatosGuardados(); // Prioridad: archivo > env vars const clientId = datosGuardados.clientId || process.env.SPOTIFY_CLIENT_ID; const clientSecret = datosGuardados.clientSecret || process.env.SPOTIFY_CLIENT_SECRET; const redirectUri = datosGuardados.redirectUri || process.env.SPOTIFY_REDIRECT_URI || 'http://127.0.0.1:8000/callback'; if (!clientId || !clientSecret) { throw new Error( 'Credenciales no configuradas. Usa spotifyAuth con accion="configurar", clientId="tu_id", clientSecret="tu_secret"' ); } return { clientId, clientSecret, redirectUri, accessToken: datosGuardados.accessToken, refreshToken: datosGuardados.refreshToken, }; } export function guardarConfiguracion(config: ConfiguracionSpotify): void { // Guardar todo: credenciales + tokens const datosActuales = cargarDatosGuardados(); guardarDatos({ ...datosActuales, clientId: config.clientId, clientSecret: config.clientSecret, redirectUri: config.redirectUri, accessToken: config.accessToken, refreshToken: config.refreshToken, }); }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Yonsn76/spotify-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server