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 |
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": 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server