mcp-lastfm
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_LASTFM_API_KEY | Yes | API key for Last.fm API, authenticates every request | |
| MCP_LASTFM_USERNAME | No | Default username for user tools, optional |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_artistsB | Search for artists by name |
| search_albumsB | Search for albums by name |
| search_tracksB | Search for tracks by name, optionally narrowed by artist |
| get_artistB | Get detailed info for an artist: bio, stats, tags, similar artists |
| get_similar_artistsB | Get artists similar to a given artist |
| get_artist_top_tracksC | Get an artist's most popular tracks |
| get_artist_top_albumsB | Get an artist's most popular albums |
| get_artist_top_tagsB | Get the top tags applied to an artist |
| correct_artistA | Check Last.fm's correction data for a canonical artist name |
| get_albumA | Get detailed info for an album: tracklist, tags, wiki |
| get_album_top_tagsB | Get the top tags applied to an album |
| get_trackB | Get detailed info for a track: stats, album, tags, wiki |
| get_similar_tracksB | Get tracks similar to a given track |
| get_track_top_tagsB | Get the top tags applied to a track |
| correct_trackB | Check Last.fm's correction data for a canonical track name |
| get_user_infoB | Get a Last.fm user's profile info |
| get_user_recent_tracksB | Get a user's recent scrobbles, including the currently playing track |
| get_user_top_artistsB | Get a user's most-played artists over a time period |
| get_user_top_tracksB | Get a user's most-played tracks over a time period |
| get_user_top_albumsA | Get a user's most-played albums over a time period |
| get_user_loved_tracksC | Get the tracks a user has loved |
| get_user_friendsB | Get a user's Last.fm friends |
| get_user_personal_tagsC | Get items a user has tagged with a given tag (artists, albums, or tracks) |
| get_user_top_tagsC | Get the tags a user applies most often |
| get_user_weekly_album_chartB | Get a user's album chart for a given week (or the latest) |
| get_user_weekly_artist_chartC | Get a user's artist chart for a given week (or the latest) |
| get_user_weekly_track_chartC | Get a user's track chart for a given week (or the latest) |
| get_user_weekly_chart_listA | Get the list of available weekly chart date ranges for a user |
| get_chart_top_artistsB | Get the current global top artists chart |
| get_chart_top_tracksB | Get the current global top tracks chart |
| get_chart_top_tagsC | Get the current global top tags chart |
| get_tag_top_artistsA | Get the top artists tagged with a given tag |
| get_tag_top_tracksB | Get the top tracks tagged with a given tag |
| get_tag_infoC | Get metadata and wiki for a tag |
| get_similar_tagsB | Get tags similar to a given tag |
| get_tag_top_albumsB | Get the top albums tagged with a given tag |
| get_top_tagsA | Get the top global tags on Last.fm, sorted by popularity |
| get_tag_weekly_chart_listA | Get the list of available weekly chart date ranges for a tag |
| get_geo_top_artistsC | Get the most popular artists for a given country |
| get_geo_top_tracksC | Get the most popular tracks for a given country |
| get_library_artistsB | Get all the artists in a user's library |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 41 tools
Each tool targets a distinct resource and action (e.g., get_artist vs get_artist_top_albums). Even tools that seem similar like get_tag_top_albums and get_album_top_tags are clearly inverses with different inputs and outputs, leaving no ambiguity.
All tool names follow a verb_noun pattern using snake_case (correct_, get_, search_). The naming is predictable, making it easy for an agent to infer functionality from the name.
41 tools is high but justified by the broad Last.fm API domain (artists, albums, tracks, tags, users, charts, geo). The count is within the upper bound of a well-scoped set; it covers essential endpoints without being excessive.
The tool set provides thorough read coverage of Last.fm data: artists, albums, tracks, tags, users, charts, and search. Minor gaps like missing artist events or user library management are acceptable for a read-only server, and core workflows are complete.