Skip to main content
Glama

get-current-user

Retrieve the current user's Spotify account details to manage playback, playlists, and preferences directly through the MCP server integration.

Input Schema

NameRequiredDescriptionDefault

No arguments

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": {}, "type": "object" }

Implementation Reference

  • Inline handler for get-current-user tool: fetches the current user's Spotify profile (/v1/me) using a valid access token and returns formatted user info (id, name, email, country) or error.
    server.tool("get-current-user", {}, async () => { try { const accessToken = await getValidAccessToken(); const response = await fetch("https://api.spotify.com/v1/me", { headers: { Authorization: `Bearer ${accessToken}`, }, }); const data = (await response.json()) as any; if (!response.ok) { return { content: [ { type: "text", text: `Error getting user profile: ${JSON.stringify(data)}`, }, ], isError: true, }; } return { content: [ { type: "text", text: JSON.stringify( { id: data.id, name: data.display_name, email: data.email, country: data.country, }, null, 2 ), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Failed to get user profile: ${ error instanceof Error ? error.message : String(error) }`, }, ], isError: true, }; } });
  • Registers the get-current-user tool with empty input schema.
    server.tool("get-current-user", {}, async () => {
  • HTTP variant inline handler for get-current-user tool, similar to main but JS version with minor differences in error handling.
    server.tool("get-current-user", {}, async () => { try { const accessToken = await getValidAccessToken(); const response = await fetch("https://api.spotify.com/v1/me", { headers: { Authorization: `Bearer ${accessToken}`, }, }); const data = await response.json(); if (!response.ok) { return { content: [ { type: "text", text: `Error getting user profile: ${JSON.stringify(data)}`, }, ], isError: true, }; } return { content: [ { type: "text", text: JSON.stringify( { id: data.id, name: data.display_name, email: data.email, country: data.country, }, null, 2 ), }, ], }; } catch (error) { return { content: [ { type: "text", text: `Failed to get user profile: ${error.message}`, }, ], isError: true, }; } });
  • OAuth HTTP variant handler using handleSpotifyTool helper, includes followers count, throws errors instead of returning isError.
    server.registerTool( "get-current-user", { title: "Get Current User", description: "Get current Spotify user information", }, async () => { return await handleSpotifyTool(sessionId, async (accessToken) => { const response = await fetch("https://api.spotify.com/v1/me", { headers: { Authorization: `Bearer ${accessToken}`, }, }); const data = await response.json(); if (!response.ok) { throw new Error( `Spotify API error: ${data.error?.message || "Unknown error"}` ); } return { content: [ { type: "text", text: JSON.stringify( { id: data.id, name: data.display_name, email: data.email, country: data.country, followers: data.followers?.total || 0, }, null, 2 ), }, ], }; }); } );

Other Tools

Related Tools

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/hrishi0102/spotifyyy-mcp'

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