Command Palette

Search for a command to run...

UnylyUnyly
Browse all

ScrobblerContext

FreeNot checked

MCP Server for Last.FM APIs, built in Swift

GitHubEmbed

About

MCP Server for Last.FM APIs, built in Swift

README

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

from github.com/tfmart/ScrobblerContext

Installing ScrobblerContext

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/tfmart/ScrobblerContext

FAQ

Is ScrobblerContext MCP free?

Yes, ScrobblerContext MCP is free — one-click install via Unyly at no cost.

Does ScrobblerContext need an API key?

No, ScrobblerContext runs without API keys or environment variables.

Is ScrobblerContext hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install ScrobblerContext in Claude Desktop, Claude Code or Cursor?

Open ScrobblerContext on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare ScrobblerContext with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs