$ fym playlists list --service=spotifyNAME TRACKS UPDATED Running 130+ 30 now Monday Drive 47 2026-05-15 Deep Focus 62 2026-05-14

fym: your music, in the shell.

A local Node binary that talks to the FYM desktop app over loopback. List playlists, search, create playlists, like, follow — across 22 services. Free tier included.

npm i -g @freeyourmusic/cli
22 servicesSpotify to Zvuk
Local-first127.0.0.1 only
No separate OAuthInherits your desktop's authenticated session

Command reference

READ · free

fym statusfym playlists list --service=spotifyfym playlists get <id>fym tracks list --playlist=<id>fym library tracks --service=spotifyfym library albums --service=tidalfym library artists --service=apple-musicfym history recent --service=spotify --limit=50

SEARCH · free, 100/day

fym search tracks "kendrick humble" --service=spotifyfym search albums "blonde" --service=apple-musicfym search artists "phoebe bridgers" --service=tidal

WRITE · Pro

fym playlists create "Workout" --service=spotifyfym playlists rename <id> "Cardio" --service=spotifyfym playlists delete <id> --service=spotifyfym tracks add --service=spotify --playlist=<id> --track=<gid>fym tracks remove --service=spotify --playlist=<id> --track=<gid>fym tracks reorder --service=spotify --playlist=<id> --from=0 --to=5fym library like --service=spotify --track=<gid>fym follow artist <id> --service=tidal

JSON mode for scripts and agents

Add --json to any command for parseable output. Pipe into jq, agents, cron, anywhere.

fym playlists list --service=spotify --json | jq '.data[].name'

CLI vs MCP

ScriptableCLI: yes. MCP: no, runs inside the host.
Cron-ableCLI: yes. MCP: requires the host to be running.
Pipe-friendlyCLI: stdin/stdout JSON. MCP: structured tool calls.

Use the MCP server for chat. Use the CLI for automation.

Free vs Pro

Free

Read playlists, library, history. 100 searches per day across all services.

Pro

Create, rename, delete playlists. Add, remove, reorder tracks. Like, follow artists. Unlimited search.

Privacy

No telemetry. Bearer token rotates on every desktop launch. Your music data never leaves your machine through this path.

Your AI hostLocal bridge (127.0.0.1)FYM desktop

Plug in your music.

One command for your AI host. Restart. Done.

Install in
npx -y @freeyourmusic/mcp install --host=claude-desktop

Writes to ~/Library/Application Support/Claude/claude_desktop_config.json
Restart Claude Desktop (cmd+Q on macOS). The freeyourmusic tools appear in the integrations sheet.