mcpField
S
ScrobblerContext - Last.fm MCP Server

ScrobblerContext - Last.fm MCP Server

Local
github.com/tfmartGames & Entertainment3Updated 73w ago

About ScrobblerContext - Last.fm MCP Server

ScrobblerContext is a Swift MCP server for AI assistants that work with Last.fm music data. It combines music discovery, listening-history access, account features, and track scrobbling.

Key features

  1. 01Artist, album, and track search
  2. 02Music details and recommendations
  3. 03Listening history and statistics
  4. 04OAuth authentication and sessions
  5. 05Scrobbling and track reactions

Use cases

  1. 01Find artists similar to a known band
  2. 02Review a user's listening history
  3. 03Submit track plays to Last.fm
  4. 04Update loved tracks and now playing

MCP support

Exposes Last.fm search, user-library, authentication, and scrobbling tools to MCP clients over stdio.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

ScrobblerContext - Last.fm MCP Server

npm version Swift 6.0+ License: MIT MCP

A Model Context Protocol (MCP) server that provides access to Last.fm's music database. Built in Swift, it enables AI assistants to search for music, manage user libraries, and scrobble tracks.

Table of Contents

Features

  • Authentication: Secure browser OAuth flow with session persistence
  • Artist Operations: Search artists, get detailed information, find similar artists
  • Album Operations: Search albums, get track listings and metadata
  • Track Operations: Search tracks, get details and recommendations
  • User Data: Access listening history, statistics, and social features
  • Scrobbling: Submit track plays, update now playing status, love/unlove tracks

Quick Start

Install via npm (Recommended)
# Install globally
npm install -g scrobblercontext-mcp

# Set up your Last.fm API credentials
export LASTFM_API_KEY="your_api_key_here"
export LASTFM_SECRET_KEY="your_secret_key_here"

# Run the server
scrobblercontext-mcp
Get Last.fm API Credentials
  1. Visit Last.fm API Account Creation
  2. Fill in the application details:
    • Application Name: Your app name (e.g., "My MCP Server")
    • Application Description: Brief description
    • Application Homepage URL: Your website (can be GitHub repo)
    • Callback URL: http://localhost:8080/callback (for OAuth)
  3. Save your API Key and Shared Secret

Setup with MCP Clients

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "lastfm": {
      "command": "scrobblercontext-mcp",
      "env": {
        "LASTFM_API_KEY": "your_api_key_here",
        "LASTFM_SECRET_KEY": "your_secret_key_here"
      }
    }
  }
}

Configuration file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%/Claude/claude_desktop_config.json
Cursor

Add to your MCP settings:

{
  "mcpServers": {
    "lastfm": {
      "command": "scrobblercontext-mcp",
      "env": {
        "LASTFM_API_KEY": "your_api_key_here", 
        "LASTFM_SECRET_KEY": "your_secret_key_here"
      }
    }
  }
}
Other MCP Clients

The server communicates over stdio following the Model Context Protocol standard. Configure your client to:

  1. Execute scrobblercontext-mcp as the server command
  2. Set the required environment variables
  3. Use stdio transport

Usage Examples

Authenticate with Last.fm:

User: "Authenticate with Last.fm"
Assistant: [Uses authenticate_browser tool to start OAuth flow]

Search for music:

User: "Find artists similar to Radiohead" 
Assistant: [Uses get_similar_artists tool to find recommendations]

Scrobble tracks:

User: "Scrobble 'Bohemian Rhapsody' by Queen"
Assistant: [Uses scrobble_track tool to submit to your profile]

Manual Installation

Prerequisites:

  • Swift 6.0+ (Download)
  • macOS 13.0+ or Linux with Swift support
  • Last.fm API credentials

Build from source:

git clone https://github.com/tfmart/ScrobblerContext
cd ScrobblerContext
swift build
export LASTFM_API_KEY="your_api_key_here"
export LASTFM_SECRET_KEY="your_secret_key_here"
swift run ScrobblerContext

Available Tools

Authentication Tools (5)
  • authenticate_browser - Start OAuth flow in browser
  • set_session_key - Set existing session key
  • check_auth_status - Check authentication status
  • restore_session - Restore saved session
  • logout - Clear authentication
Artist Tools (9)
  • search_artist - Search for artists
  • get_artist_info - Get artist details & biography
  • get_similar_artists - Find similar artists
  • get_artist_correction - Get corrected artist name
  • get_artist_tags - Get artist tags
  • get_artist_top_albums - Get artist's top albums
  • get_artist_top_tracks - Get artist's top tracks
  • add_artist_tags - Add personal tags (requires auth)
  • remove_artist_tag - Remove personal tag (requires auth)
Album Tools (6)
  • search_album - Search for albums
  • get_album_info - Get album details & tracklist
  • get_album_tags - Get album tags
  • get_album_top_tags - Get popular album tags
  • add_album_tags - Add personal tags (requires auth)
  • remove_album_tag - Remove personal tag (requires auth)
Track Tools (8)
  • search_track - Search for tracks
  • get_track_info - Get track details
  • get_similar_tracks - Find similar tracks
  • get_track_correction - Get corrected track info
  • get_track_tags - Get track tags
  • get_track_top_tags - Get popular track tags
  • add_track_tags - Add personal tags (requires auth)
  • remove_track_tag - Remove personal tag (requires auth)
User Tools (9)
  • get_user_info - Get user profile & stats
  • get_user_recent_tracks - Get recent listening history
  • get_user_top_artists - Get top artists by period
  • get_user_top_tracks - Get top tracks by period
  • get_user_top_albums - Get top albums by period
  • get_user_top_tags - Get most used tags
  • get_user_friends - Get friends list
  • get_user_loved_tracks - Get loved tracks
  • get_user_personal_tags_for_artists - Get tagged artists
Scrobble Tools (5)
  • scrobble_track - Submit single track play
  • scrobble_multiple_tracks - Submit multiple plays
  • update_now_playing - Update current track status
  • love_track - Mark track as loved
  • unlove_track - Remove from loved tracks

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Documentation

Troubleshooting

Swift not found: Install Swift from swift.org

Invalid session key: Re-run authentication with authenticate_browser

API key errors: Verify your LASTFM_API_KEY and LASTFM_SECRET_KEY are correct

Server disconnects: Check environment variables are set in MCP client config

License

MIT License - see LICENSE file for details.

Acknowledgments

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.