spotify
...
@open-mcp/spotify
Installing
First set the environment variables as shell variables:
Then use the OpenMCP config CLI to add the server to your MCP client:
Claude desktop
Cursor
Run this from the root of your project directory or, to add to all cursor projects, run it from your home directory ~
.
Other
Manually
If you don't want to use the helper above, add the following to your MCP client config manually:
Customizing the base URL
Set the environment variable OPEN_MCP_BASE_URL
to override each tool's base URL. This is useful if your OpenAPI spec defines a relative server URL.
Other environment variables
OAUTH2_TOKEN
Inspector
Needs access to port 3000 for running a proxy server, will fail if http://localhost:3000 is already busy.
- Open http://localhost:5173
- Transport type:
STDIO
- Command:
npx
- Arguments:
-y @open-mcp/spotify
- Click
Environment Variables
to add - Click
Connect
It should say MCP Server running on stdio in red.
- Click
List Tools
Tools
expandSchema
Expand the input schema for a tool before calling the tool
Input schema
toolName
(string)jsonPointers
(array)
get_an_album
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)market
(string)
get_multiple_albums
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)market
(string)
get_an_albums_tracks
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)market
(string)limit
(integer)offset
(integer)
get_an_artist
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)
get_multiple_artists
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)
get_an_artists_albums
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)include_groups
(string)market
(string)limit
(integer)offset
(integer)
get_an_artists_top_tracks
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)market
(string)
get_an_artists_related_artists
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)
get_a_show
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)market
(string)
get_multiple_shows
Environment variables
OAUTH2_TOKEN
Input schema
market
(string)ids
(string)
get_a_shows_episodes
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)market
(string)limit
(integer)offset
(integer)
get_an_episode
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)market
(string)
get_multiple_episodes
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)market
(string)
get_an_audiobook
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)market
(string)
get_multiple_audiobooks
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)market
(string)
get_audiobook_chapters
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)market
(string)limit
(integer)offset
(integer)
get_users_saved_audiobooks
Environment variables
OAUTH2_TOKEN
Input schema
limit
(integer)offset
(integer)
save_audiobooks_user
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)
remove_audiobooks_user
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)
check_users_saved_audiobooks
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)
get_a_chapter
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)market
(string)
get_several_chapters
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)market
(string)
get_track
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)market
(string)
get_several_tracks
Environment variables
OAUTH2_TOKEN
Input schema
market
(string)ids
(string)
search
Environment variables
OAUTH2_TOKEN
Input schema
q
(string)type
(array)market
(string)limit
(integer)offset
(integer)include_external
(string)
get_current_users_profile
Environment variables
OAUTH2_TOKEN
Input schema
No input parameters
get_playlist
Environment variables
OAUTH2_TOKEN
Input schema
playlist_id
(string)market
(string)fields
(string)additional_types
(string)
change_playlist_details
Environment variables
OAUTH2_TOKEN
Input schema
playlist_id
(string)name
(string)public
(boolean)collaborative
(boolean)description
(string)
get_playlists_tracks
Environment variables
OAUTH2_TOKEN
Input schema
playlist_id
(string)market
(string)fields
(string)limit
(integer)offset
(integer)additional_types
(string)
add_tracks_to_playlist
Environment variables
OAUTH2_TOKEN
Input schema
playlist_id
(string)position
(integer)uris
(string)b_uris
(array)b_position
(integer)
reorder_or_replace_playlists_tracks
Environment variables
OAUTH2_TOKEN
Input schema
playlist_id
(string)uris
(string)b_uris
(array)range_start
(integer)insert_before
(integer)range_length
(integer)snapshot_id
(string)
remove_tracks_playlist
Environment variables
OAUTH2_TOKEN
Input schema
playlist_id
(string)tracks
(array)snapshot_id
(string)
get_a_list_of_current_users_playlists
Environment variables
OAUTH2_TOKEN
Input schema
limit
(integer)offset
(integer)
get_users_saved_albums
Environment variables
OAUTH2_TOKEN
Input schema
limit
(integer)offset
(integer)market
(string)
save_albums_user
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)b_ids
(array)
remove_albums_user
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)b_ids
(array)
check_users_saved_albums
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)
get_users_saved_tracks
Environment variables
OAUTH2_TOKEN
Input schema
market
(string)limit
(integer)offset
(integer)
save_tracks_user
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)b_ids
(array)
remove_tracks_user
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)b_ids
(array)
check_users_saved_tracks
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)
get_users_saved_episodes
Environment variables
OAUTH2_TOKEN
Input schema
market
(string)limit
(integer)offset
(integer)
save_episodes_user
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)b_ids
(array)
remove_episodes_user
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)b_ids
(array)
check_users_saved_episodes
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)
get_users_saved_shows
Environment variables
OAUTH2_TOKEN
Input schema
limit
(integer)offset
(integer)
save_shows_user
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)b_ids
(array)
remove_shows_user
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)market
(string)b_ids
(array)
check_users_saved_shows
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)
get_users_profile
Environment variables
OAUTH2_TOKEN
Input schema
user_id
(string)
get_list_users_playlists
Environment variables
OAUTH2_TOKEN
Input schema
user_id
(string)limit
(integer)offset
(integer)
create_playlist
Environment variables
OAUTH2_TOKEN
Input schema
user_id
(string)name
(string)public
(boolean)collaborative
(boolean)description
(string)
follow_playlist
Environment variables
OAUTH2_TOKEN
Input schema
playlist_id
(string)public
(boolean)
unfollow_playlist
Environment variables
OAUTH2_TOKEN
Input schema
playlist_id
(string)
get_featured_playlists
Environment variables
OAUTH2_TOKEN
Input schema
locale
(string)limit
(integer)offset
(integer)
get_categories
Environment variables
OAUTH2_TOKEN
Input schema
locale
(string)limit
(integer)offset
(integer)
get_a_category
Environment variables
OAUTH2_TOKEN
Input schema
category_id
(string)locale
(string)
get_a_categories_playlists
Environment variables
OAUTH2_TOKEN
Input schema
category_id
(string)limit
(integer)offset
(integer)
get_playlist_cover
Environment variables
OAUTH2_TOKEN
Input schema
playlist_id
(string)
upload_custom_playlist_cover
Environment variables
OAUTH2_TOKEN
Input schema
playlist_id
(string)
get_new_releases
Environment variables
OAUTH2_TOKEN
Input schema
limit
(integer)offset
(integer)
get_followed
Environment variables
OAUTH2_TOKEN
Input schema
type
(string)after
(string)limit
(integer)
follow_artists_users
Environment variables
OAUTH2_TOKEN
Input schema
type
(string)ids
(string)b_ids
(array)
unfollow_artists_users
Environment variables
OAUTH2_TOKEN
Input schema
type
(string)ids
(string)b_ids
(array)
check_current_user_follows
Environment variables
OAUTH2_TOKEN
Input schema
type
(string)ids
(string)
check_if_user_follows_playlist
Environment variables
OAUTH2_TOKEN
Input schema
playlist_id
(string)ids
(string)
get_several_audio_features
Environment variables
OAUTH2_TOKEN
Input schema
ids
(string)
get_audio_features
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)
get_audio_analysis
Environment variables
OAUTH2_TOKEN
Input schema
id
(string)
get_recommendations
Environment variables
OAUTH2_TOKEN
Input schema
limit
(integer)market
(string)seed_artists
(string)seed_genres
(string)seed_tracks
(string)min_acousticness
(number)max_acousticness
(number)target_acousticness
(number)min_danceability
(number)max_danceability
(number)target_danceability
(number)min_duration_ms
(integer)max_duration_ms
(integer)target_duration_ms
(integer)min_energy
(number)max_energy
(number)target_energy
(number)min_instrumentalness
(number)max_instrumentalness
(number)target_instrumentalness
(number)min_key
(integer)max_key
(integer)target_key
(integer)min_liveness
(number)max_liveness
(number)target_liveness
(number)min_loudness
(number)max_loudness
(number)target_loudness
(number)min_mode
(integer)max_mode
(integer)target_mode
(integer)min_popularity
(integer)max_popularity
(integer)target_popularity
(integer)min_speechiness
(number)max_speechiness
(number)target_speechiness
(number)min_tempo
(number)max_tempo
(number)target_tempo
(number)min_time_signature
(integer)max_time_signature
(integer)target_time_signature
(integer)min_valence
(number)max_valence
(number)target_valence
(number)
get_recommendation_genres
Environment variables
OAUTH2_TOKEN
Input schema
No input parameters
get_information_about_the_users_current_playback
Environment variables
OAUTH2_TOKEN
Input schema
market
(string)additional_types
(string)
transfer_a_users_playback
Environment variables
OAUTH2_TOKEN
Input schema
device_ids
(array)play
(boolean)
get_a_users_available_devices
Environment variables
OAUTH2_TOKEN
Input schema
No input parameters
get_the_users_currently_playing_track
Environment variables
OAUTH2_TOKEN
Input schema
market
(string)additional_types
(string)
start_a_users_playback
Environment variables
OAUTH2_TOKEN
Input schema
device_id
(string)context_uri
(string)uris
(array)offset
(object)position_ms
(integer)
pause_a_users_playback
Environment variables
OAUTH2_TOKEN
Input schema
device_id
(string)
skip_users_playback_to_next_track
Environment variables
OAUTH2_TOKEN
Input schema
device_id
(string)
skip_users_playback_to_previous_track
Environment variables
OAUTH2_TOKEN
Input schema
device_id
(string)
seek_to_position_in_currently_playing_track
Environment variables
OAUTH2_TOKEN
Input schema
position_ms
(integer)device_id
(string)
set_repeat_mode_on_users_playback
Environment variables
OAUTH2_TOKEN
Input schema
state
(string)device_id
(string)
set_volume_for_users_playback
Environment variables
OAUTH2_TOKEN
Input schema
volume_percent
(integer)device_id
(string)
toggle_shuffle_for_users_playback
Environment variables
OAUTH2_TOKEN
Input schema
state
(boolean)device_id
(string)
get_recently_played
Environment variables
OAUTH2_TOKEN
Input schema
limit
(integer)after
(integer)before
(integer)
get_queue
Environment variables
OAUTH2_TOKEN
Input schema
No input parameters
add_to_queue
Environment variables
OAUTH2_TOKEN
Input schema
uri
(string)device_id
(string)
get_available_markets
Environment variables
OAUTH2_TOKEN
Input schema
No input parameters
get_users_top_artists
Environment variables
OAUTH2_TOKEN
Input schema
time_range
(string)limit
(integer)offset
(integer)
get_users_top_tracks
Environment variables
OAUTH2_TOKEN
Input schema
time_range
(string)limit
(integer)offset
(integer)