Skip to main content
Glama
iceener

Spotify Streamable MCP Server

by iceener
endpoints.ts1.41 kB
// Framework-agnostic OAuth endpoint handlers // From Spotify MCP import { generateOpaqueToken } from './flow.js'; import type { RegisterInput, RegisterResult } from './types.js'; /** * Handle dynamic client registration (RFC7591) */ export async function handleRegister( input: RegisterInput, baseUrl: string, defaultRedirectUri: string, ): Promise<RegisterResult> { const now = Math.floor(Date.now() / 1000); const clientId = generateOpaqueToken(12); const redirectUris = Array.isArray(input.redirect_uris) ? input.redirect_uris : [defaultRedirectUri]; const grantTypes = Array.isArray(input.grant_types) ? input.grant_types : ['authorization_code', 'refresh_token']; const responseTypes = Array.isArray(input.response_types) ? input.response_types : ['code']; return { client_id: clientId, client_id_issued_at: now, client_secret_expires_at: 0, token_endpoint_auth_method: 'none', redirect_uris: redirectUris, grant_types: grantTypes, response_types: responseTypes, registration_client_uri: `${baseUrl}/register/${clientId}`, registration_access_token: generateOpaqueToken(12), ...(input.client_name ? { client_name: input.client_name } : {}), }; } /** * Handle token revocation (no-op in this implementation) */ export async function handleRevoke(): Promise<{ status: string }> { return { status: 'ok' }; }

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/iceener/spotify-streamable-mcp-server'

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