Skip to main content
Glama
elcachorrohumano

Last.fm MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
LASTFM_API_KEYYesYour Last.fm API key
LASTFM_SHARED_SECRETYesYour Last.fm shared secret

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_albums

Search for albums on Last.fm by name

Args: query: Album name or search query limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of matching albums with their stats

get_album_info

Get detailed information about an album

Args: artist: Artist name album: Album name mbid: Optional MBID (MusicBrainz ID) of the album autocorrect: Whether to use autocorrection for the names username: Username for personalized info (playcount, etc.) lang: Language code for wiki content

Returns: Formatted detailed album information

get_album_top_tags

Get tags associated with an album

Args: artist: Artist name album: Album name mbid: Optional MBID (MusicBrainz ID) of the album autocorrect: Whether to use autocorrection for the names

Returns: Formatted list of top tags for the album

search_artists

Search for artists on Last.fm by name

Args: query: Artist name or search query limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1) Returns: Formatted list of matching artists with their stats

get_artist_info

Get detailed information about an artist by name or MBID. You can get a user's playcount, etc. by providing a username.

Args: artist: Artist name to search for (optional if mbid is provided) mbid: Optional MBID (MusicBrainz ID) of the artist (optional if artist is provided) lang: Language code for the artist info (as an ISO 639 alpha-2 code) autocorrect: Whether to use autocorrection for the artist name username: If the username is provided, the artist info will be personalized with the user's playcount, etc.

Returns: Formatted detailed artist information

get_artist_top_albums

Get an artist's most popular albums

Args: artist: Artist name mbid: Optional MBID (MusicBrainz ID) of the artist autocorrect: Whether to use autocorrection for the artist name limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of the artist's top albums

get_artist_top_tracks

Get an artist's most popular tracks

Args: artist: Artist name mbid: Optional MBID (MusicBrainz ID) of the artist autocorrect: Whether to use autocorrection for the artist name limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of the artist's top tracks

check_auth_status

Check if the user is authenticated. Authentication is required to use the following tools:

  • scrobble_track

  • update_now_playing

  • love_track

  • unlove_track

  • add_tags

  • remove_tag

Args: None

Returns: "Authenticated" if the user is authenticated, "Not authenticated" otherwise

authenticate_user

Starts the authentication process - sets the token in the environment variable and returns an auth URL for the user to visit.

get_session

Complete the authentication process by getting a session key from the authorized token. This should be called after the user has visited the authorization URL from authenticate_user().

get_top_artists

Get global top artists chart

Args: limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of global top artists

get_top_tracks

Get global top tracks chart

Args: limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of global top tracks

get_top_tags

Get global top tags chart

Args: limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of global top tags

get_tag_info

Get information about a music tag

Args: tag: Tag name lang: Language code for wiki content (optional)

Returns: Formatted tag information

get_tag_top_artists

Get top artists for a tag

Args: tag: Tag name limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of top artists for the tag

get_tag_top_albums

Get top albums for a tag

Args: tag: Tag name limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of top albums for the tag

get_tag_top_tracks

Get top tracks for a tag

Args: tag: Tag name limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of top tracks for the tag

get_tag_weekly_charts

Get weekly chart data for a tag

Args: tag: Tag name

Returns: Formatted list of available weekly chart periods

search_tracks

Search for tracks on Last.fm by name

Args: query: Track name or search query artist: Optional artist name to narrow search limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of matching tracks with their stats

get_track_info

Get detailed information about a track

Args: artist: Artist name track: Track name mbid: Optional MBID (MusicBrainz ID) of the track autocorrect: Whether to use autocorrection for the names username: Username for personalized info (playcount, etc.)

Returns: Formatted detailed track information

get_similar_tracks

Find tracks similar to a given track

Args: artist: Artist name track: Track name mbid: Optional MBID (MusicBrainz ID) of the track autocorrect: Whether to use autocorrection for the names limit: Maximum number of similar tracks to return (1-30, default: 10)

Returns: Formatted list of similar tracks

get_track_top_tags

Get tags associated with a track

Args: artist: Artist name track: Track name mbid: Optional MBID (MusicBrainz ID) of the track autocorrect: Whether to use autocorrection for the names

Returns: Formatted list of top tags for the track

scrobble_track

Scrobble a track to your Last.fm profile. It can be used for a specific timestamp or current time. Requires authentication - use authenticate_user() and get_session() first.

Args: artist: Artist name track: Track name timestamp: Unix timestamp when track was played (optional, defaults to current time) album: Album name (optional) duration: Track duration in seconds (optional) mbid: MusicBrainz Track ID (optional, more accurate than name)

Returns: Confirmation of scrobble action

update_now_playing

Update your "now playing" status on Last.fm. Requires authentication - use authenticate_user() and get_session() first.

Args: artist: Artist name track: Track name album: Album name (optional) duration: Track duration in seconds (optional) mbid: MusicBrainz Track ID (optional)

Returns: Confirmation of now playing update

love_track

Love a track on your Last.fm profile. Requires authentication - use authenticate_user() and get_session() first.

Args: artist: Artist name track: Track name

Returns: Confirmation of love action

unlove_track

Remove love from a track on your Last.fm profile. Requires authentication - use authenticate_user() and get_session() first.

Args: artist: Artist name track: Track name

Returns: Confirmation of unlove action

add_tags

Add tags to a track on your Last.fm profile. Requires authentication - use authenticate_user() and get_session() first.

Args: artist: Artist name track: Track name tags: Comma-separated list of tags (max 10)

Returns: Confirmation of tag addition

remove_tag

Remove a tag from a track on your Last.fm profile. Requires authentication - use authenticate_user() and get_session() first.

Args: artist: Artist name track: Track name tag: Tag to remove

Returns: Confirmation of tag removal

get_user_info

Get user profile information

Args: user: Username to get info for

Returns: Formatted user profile information

get_user_recent_tracks

Get a user's recently played tracks

Args: user: Username limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1) from_timestamp: Unix timestamp to start from (optional) to_timestamp: Unix timestamp to end at (optional) extended: Include extended data (optional)

Returns: Formatted list of user's recent tracks

get_user_top_artists

Get a user's most played artists

Args: user: Username period: Time period (7day, 1month, 3month, 6month, 12month, overall) limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of user's top artists

get_user_top_albums

Get a user's most played albums

Args: user: Username period: Time period (7day, 1month, 3month, 6month, 12month, overall) limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of user's top albums

get_user_top_tracks

Get a user's most played tracks

Args: user: Username period: Time period (7day, 1month, 3month, 6month, 12month, overall) limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of user's top tracks

get_user_loved_tracks

Get tracks a user has marked as loved

Args: user: Username limit: Maximum number of results to return (1-50, default: 10) page: Page number to retrieve (default: 1)

Returns: Formatted list of user's loved tracks

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/elcachorrohumano/lastfm_mcp'

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