Last.fm MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LASTFM_API_KEY | Yes | Your Last.fm API key | |
| LASTFM_SHARED_SECRET | Yes | Your Last.fm shared secret |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_albumsB | 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_infoB | 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_tagsB | 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_artistsA | 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_infoA | 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_albumsB | 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_tracksA | 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_statusA | Check if the user is authenticated. Authentication is required to use the following tools:
Args: None Returns: "Authenticated" if the user is authenticated, "Not authenticated" otherwise |
| authenticate_userB | Starts the authentication process - sets the token in the environment variable and returns an auth URL for the user to visit. |
| get_sessionA | 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_artistsB | 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_tracksB | 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_tagsB | 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_infoC | Get information about a music tag Args: tag: Tag name lang: Language code for wiki content (optional) Returns: Formatted tag information |
| get_tag_top_artistsB | 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_albumsB | 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_tracksB | 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_chartsB | Get weekly chart data for a tag Args: tag: Tag name Returns: Formatted list of available weekly chart periods |
| search_tracksB | 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_infoB | 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_tracksB | 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_tagsC | 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_trackA | 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_playingA | 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_trackA | 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_trackA | 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_tagsA | 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_tagA | 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_infoC | Get user profile information Args: user: Username to get info for Returns: Formatted user profile information |
| get_user_recent_tracksB | 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_artistsB | 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_albumsA | 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_tracksA | 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_tracksB | 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
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