Spotify playlists from a festival lineup, a genre, a song, a playlist or a blend. Own client ID.
Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.
LASTFM_API_KEYAPI keyoptionalOptional Last.fm API key for tag, similar-artist, similar-song and per-country data.
Declared by the author in the official MCP registry. Forge does not store, broker, or ever see these values — the config below is scaffolded with placeholders you fill in locally.
Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.
Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.
statusCall this first. Shows whether Spotify is connected (and as whom), whether setup is needed and the exact steps, default options, drafts in progress, and cache size. Also shows a login that is still waiting for the browser.Call this first. Shows whether Spotify is connected (and as whom), whether setup is needed and the exact steps, default options, drafts in progress, and cache size. Also shows a login that is still waiting for the browser.
No input schema was published for this tool.
setupSave the Spotify client ID (32 hex chars from the app page at developer.spotify.com/dashboard; redirect URI must be http://127.0.0.1:8765/callback) so it is not needed in the MCP config. Optional: lastfmApiKey for a second ranking source; redirectPort only if the user registered a different port in…Save the Spotify client ID (32 hex chars from the app page at developer.spotify.com/dashboard; redirect URI must be http://127.0.0.1:8765/callback) so it is not needed in the MCP config. Optional: lastfmApiKey for a second ranking source; redirectPort only if the user registered a different port in…
No input schema was published for this tool.
connectStart the Spotify login. Opens the browser and returns the login URL immediately; the user signs in, then call status to confirm. Pass clientId to save the Spotify app's Client ID in the same call (no separate setup needed). Pass force: true to switch accounts or re-login (needed every 6 months). R…Start the Spotify login. Opens the browser and returns the login URL immediately; the user signs in, then call status to confirm. Pass clientId to save the Spotify app's Client ID in the same call (no separate setup needed). Pass force: true to switch accounts or re-login (needed every 6 months). R…
No input schema was published for this tool.
disconnectForget the saved Spotify login (deletes tokens.json). With purge: true also deletes everything Lineupify keeps on disk: config, caches, drafts and exports. Spotify-side access must be removed by the user at https://www.spotify.com/account/apps/ (the tool says so). Refused while a draft is building.…Forget the saved Spotify login (deletes tokens.json). With purge: true also deletes everything Lineupify keeps on disk: config, caches, drafts and exports. Spotify-side access must be removed by the user at https://www.spotify.com/account/apps/ (the tool says so). Refused while a draft is building.…
No input schema was published for this tool.
parse_lineupTurn raw poster text (as read from an image or pasted) into a clean artist list with tiers, days and stages, dropping dates, stage names and "tickets" lines. Optional: when you can already see the poster, you may skip this and pass structured artists straight to create_draft, using tier = headliner…Turn raw poster text (as read from an image or pasted) into a clean artist list with tiers, days and stages, dropping dates, stage names and "tickets" lines. Optional: when you can already see the poster, you may skip this and pass structured artists straight to create_draft, using tier = headliner…
No input schema was published for this tool.
create_draftNo description publishedThis tool published no description. Forge does not invent one.
read_playlistRead any playlist into a structured list: a Spotify or Deezer link, a playlist name from the user's own library, a draft id, or "library" (liked songs). Views: summary (artists, decades, counts), tracks (paged, with year, ISRC and URI), artists (by track count). Cached for 12 hours; refresh: true r…Read any playlist into a structured list: a Spotify or Deezer link, a playlist name from the user's own library, a draft id, or "library" (liked songs). Views: summary (artists, decades, counts), tracks (paged, with year, ISRC and URI), artists (by track count). Cached for 12 hours; refresh: true r…
No input schema was published for this tool.
analyze_playlistNumbers about a playlist (or "library" / a draft): length, artist concentration, decade spread, explicit share, coarse genres (Deezer) and Last.fm tags when a key is set, tempo distribution (Deezer, sampled). Returns plain data lines; render them as a table or chart. Takes up to ~20 s on a large pl…Numbers about a playlist (or "library" / a draft): length, artist concentration, decade spread, explicit share, coarse genres (Deezer) and Last.fm tags when a key is set, tempo distribution (Deezer, sampled). Returns plain data lines; render them as a table or chart. Takes up to ~20 s on a large pl…
No input schema was published for this tool.
compare_playlistsCompare 2-4 sides — playlists (links or names), drafts, "library", or "me" (the user's top and followed artists): artists and identical tracks shared by all, pairwise overlap, and what is distinct to each side. Explain the result in words; then offer a blend seed (create_draft seeds: [{ type: "blen…Compare 2-4 sides — playlists (links or names), drafts, "library", or "me" (the user's top and followed artists): artists and identical tracks shared by all, pairwise overlap, and what is distinct to each side. Explain the result in words; then offer a blend seed (create_draft seeds: [{ type: "blen…
No input schema was published for this tool.
merge_playlistsCombine 1-6 Spotify playlists (links or names), drafts or "library" into one ready draft, keeping the actual tracks and removing duplicates (same URI, ISRC or title+artist). Then create_playlist to publish. For "add more songs by these artists" use expand_playlist instead.Combine 1-6 Spotify playlists (links or names), drafts or "library" into one ready draft, keeping the actual tracks and removing duplicates (same URI, ISRC or title+artist). Then create_playlist to publish. For "add more songs by these artists" use expand_playlist instead.
No input schema was published for this tool.
expand_playlistBuild a draft of more songs by the artists of an existing playlist (default 2 per artist, the 30 most frequent artists), excluding tracks the playlist already has. Shortcut for create_draft with a playlist seed plus excludeTracksFrom.Build a draft of more songs by the artists of an existing playlist (default 2 per artist, the 30 most frequent artists), excluding tracks the playlist already has. Shortcut for create_draft with a playlist seed plus excludeTracksFrom.
No input schema was published for this tool.
refresh_tasteBuild a draft from the user's own top and followed artists (default 2 songs each, 30 artists), skipping everything already in their liked songs. Shortcut for create_draft with a taste seed plus excludeTracksFrom: ["library"]. Needs the user-library-read permission (reconnect if status says a permis…Build a draft from the user's own top and followed artists (default 2 songs each, 30 artists), skipping everything already in their liked songs. Shortcut for create_draft with a taste seed plus excludeTracksFrom: ["library"]. Needs the user-library-read permission (reconnect if status says a permis…
No input schema was published for this tool.
get_draftShow a draft: summary (default), tracks (paged, with stable ids for editing), artists (status per artist), or unresolved (artists that could not be found or matched with low confidence). While a draft is building, pass waitSeconds (max 25) to wait for progress. Omit draftId for the most recent draf…Show a draft: summary (default), tracks (paged, with stable ids for editing), artists (status per artist), or unresolved (artists that could not be found or matched with low confidence). While a draft is building, pass waitSeconds (max 25) to wait for progress. Omit draftId for the most recent draf…
No input schema was published for this tool.
edit_draftprivilegedApply one or more edits atomically: remove_tracks (by id from get_draft view=tracks), add_track (URI, URL or "Artist - Title"), exclude_artist, set_artist_track_count, set_artist_source (fix a wrong artist match), move, shuffle, reorder, set_meta (name/description/public), filter (explicit/versions…Apply one or more edits atomically: remove_tracks (by id from get_draft view=tracks), add_track (URI, URL or "Artist - Title"), exclude_artist, set_artist_track_count, set_artist_source (fix a wrong artist match), move, shuffle, reorder, set_meta (name/description/public), filter (explicit/versions…
No input schema was published for this tool.
search_tracksSearch Spotify (or Deezer, for a Deezer draft or when Spotify is not connected) for a track to add manually. Supports filters like "track:Marea artist:Fred again". Returns URIs for edit_draft add_track.Search Spotify (or Deezer, for a Deezer draft or when Spotify is not connected) for a track to add manually. Supports filters like "track:Marea artist:Fred again". Returns URIs for edit_draft add_track.
No input schema was published for this tool.
create_playlistPublish a ready draft as a new playlist in the connected Spotify account and return its URL. Requires that the draft was shown to the user (get_draft) or confirm: true. Refuses while building unless allowPartial: true, and refuses if the draft is already published (use update_playlist, or mode: "ne…Publish a ready draft as a new playlist in the connected Spotify account and return its URL. Requires that the draft was shown to the user (get_draft) or confirm: true. Refuses while building unless allowPartial: true, and refuses if the draft is already published (use update_playlist, or mode: "ne…
No input schema was published for this tool.
update_playlistReplace the tracks and details of the playlist this draft was published to, so edits made with edit_draft reach Spotify. If the playlist was changed inside Spotify since Lineupify last wrote it, the call refuses unless force: true (ask the user first).Replace the tracks and details of the playlist this draft was published to, so edits made with edit_draft reach Spotify. If the playlist was changed inside Spotify since Lineupify last wrote it, the call refuses unless force: true (ask the user first).
No input schema was published for this tool.
compare_tasteMark each artist in a draft as known (in the user's top artists over the last 4 weeks / 6 months / all time, or followed) or new to them. Optional reorderKnownFirst puts familiar artists first. Good for 'which of these acts do I already like?' and 'is this festival for me?'Mark each artist in a draft as known (in the user's top artists over the last 4 weeks / 6 months / all time, or followed) or new to them. Optional reorderKnownFirst puts familiar artists first. Good for 'which of these acts do I already like?' and 'is this festival for me?'
No input schema was published for this tool.
export_draftReturn the draft as markdown, CSV, M3U, links (one track URL per line) or text ("Artist - Title" per line). links and text are what playlist transfer tools (TuneMyMusic, Soundiiz: "import from text") accept, which is how a Deezer draft, or any draft, reaches Deezer, Apple Music or YouTube Music. Wi…Return the draft as markdown, CSV, M3U, links (one track URL per line) or text ("Artist - Title" per line). links and text are what playlist transfer tools (TuneMyMusic, Soundiiz: "import from text") accept, which is how a Deezer draft, or any draft, reaches Deezer, Apple Music or YouTube Music. Wi…
No input schema was published for this tool.
list_draftsList saved drafts, newest first, with status and whether they were published.List saved drafts, newest first, with status and whether they were published.
No input schema was published for this tool.
delete_draftprivilegedDelete a draft from disk. The Spotify playlist, if published, is not touched.Delete a draft from disk. The Spotify playlist, if published, is not touched.
No input schema was published for this tool.
20 of 21 tools published a description.
Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.
Spotify playlists from a festival lineup, a genre, a song, a playlist or a blend. Own client ID.
Linked names open Forge’s index of every entry observed exposing that tool. Browse all indexed tools.