lautfm-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LAUTFM_TOKEN | Yes | Your laut.fm Radioadmin API bearer token. The server will exit immediately if this is not set. |
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 |
|---|---|
| get_server_statusA | Check the laut.fm Radioadmin API server status |
| list_stationsA | List all stations accessible with the current token |
| get_stationB | Get detailed information about a specific station |
| update_stationC | Update station information (description, format, djs, location, website, twitter_name, facebook_page, instagram_name, genres) |
| get_station_stateB | Check if a station is active and playing on a streaming server |
| activate_stationA | Activate a station — triggers a playlist export and starts the station on a streaming server if assigned and not running |
| get_current_playlistA | Get the currently playing playlist and its tracks for a station |
| get_listener_statsB | Get listener statistics for a station (current listeners, position, switchons log, TLH log) |
| get_station_usersC | List all users of a station |
| add_station_userA | Add a user with a given role to a station (sends an invitation) |
| update_station_user_roleC | Change the role of a user on a station |
| remove_station_userC | Remove a user from a station |
| get_playlistsB | List all playlists for a station |
| add_playlistC | Add a new playlist to a station. Requires at minimum a title and color (full 6-digit hex, e.g. #ff0000) |
| get_playlistC | Get information for a single playlist including its entries |
| update_playlistC | Modify an existing playlist for a station |
| delete_playlistA | Delete a single playlist for a station. The rotation playlist cannot be deleted. |
| add_track_to_playlistB | Append a single track to a playlist. The track must not already be in the playlist. |
| get_playlist_tracksB | Get all tracks for a playlist (tracks are unique and not necessarily in playlist order) |
| delete_track_from_playlistB | Delete all occurrences of a track from a playlist |
| get_scheduleC | Get the schedule for a station |
| update_scheduleA | Modify the schedule for a station. You cannot add an entry for the Base Playlist into entries. If you change the base_playlist_id, any entries containing that ID will be deleted. |
| search_tracksC | Search tracks for a station using various filters. Note: this endpoint is deprecated and will be replaced in a future version. |
| get_tracks_by_idsC | Get track information for one or more track IDs (comma-separated list) |
| update_trackC | Update metadata for a track |
| delete_trackC | Delete an own track from a station |
| get_track_statsC | Get current day track statistics (play time, listener count, live flag) for a station |
| get_track_stats_periodC | Get track statistics for a specific period. Use '24h' for the last 24 hours or a date in 'yyyy-mm-dd' format. |
| get_track_tags_for_idsC | Get tags for one or more specific tracks |
| add_track_tagsC | Add tags to one or more tracks |
| remove_track_tagsC | Remove tags from one or more tracks |
| get_all_track_tagsA | Get all tags used across all tracks for a station |
| get_incomplete_tracksC | Get tracks with incomplete uploads for a station |
| get_queued_tracksC | Get tracks that are queued for processing for a station |
| get_live_connection_infoC | Get live streaming connection information for a station (server, port, mountpoint, bitrate, samplerate, format, etc.) |
| get_live_passwordB | Get the live streaming password for a station |
| get_automation_algorithmB | View the definition of a specific automation algorithm |
| create_automation_algorithmC | Create a new automation algorithm for shuffling tracks |
| update_automation_algorithmC | Update the function used by an existing automation algorithm |
| delete_automation_algorithmC | Delete an automation algorithm |
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 40 tools
The tools are largely distinct, with clear resource+action separation across playlists, tracks, schedules, users, automation, and live info. A few pairs like get_track_stats/get_track_stats_period and get_all_track_tags/get_track_tags_for_ids could momentarily confuse, but descriptions disambiguate.
All names use snake_case with a verb_noun structure, which is highly predictable. Minor inconsistencies exist in verb choice: creation uses both add_ (add_playlist) and create_ (create_automation_algorithm), and deletion uses both remove_ (remove_station_user) and delete_ (delete_playlist).
With 40 tools, the surface is well beyond the recommended 3-15 range and likely increases cognitive load and misselection risk. Although the domain is broad, this count feels excessive for an MCP server.
The surface covers CRUD for playlists, tracks, automation, users, and schedules, plus live info and stats. Missing track creation/upload and station creation/deletion are notable gaps for full lifecycle coverage, though they may be outside the API scope.