clickwheel
A Python library that exposes the iPod sync workflow through two surfaces: a CLI for typed commands and an MCP server so Claude can drive curation conversationally.



The iPod reads back as a profile. 254 Taylor Swift tracks, a long tail of six other artists, and most of the device still unfilled.
Curation goes conversational. Claude reads the library and the iPod, so a vague request for grunge produces specific, justified picks.
The conversation produces a playlist. Upper Left, 43 tracks of Pacific Northwest grunge, on its way to a 2004 iPod over USB.
clickwheel exposes a classic-iPod sync workflow through two surfaces over the same backend. The CLI handles the typed-command path: scan and clean up your library's metadata, interactively pick what goes on the device, preview the diff, and push, all from one terminal session. The MCP server hands those same operations to Claude or other AI clients, so curation can happen in conversation rather than in your head.
clickwheel scrobbles every play back to Last.fm at the end of a sync, which means listening sessions on a device built in 2004 with no wifi still show up in Rewind alongside the music I stream through Plexamp from my Plex server.
The MCP server ships 25 tools across four domains (library, playlist, iPod, and Last.fm) plus a build_playlist prompt for vibe-based curation with anti-hallucination rules baked in. The carousel above shows the resulting loop end to end: ask what's on the iPod, request grunge, end up with a 43-track playlist called Upper Left syncing to the device over USB.
iTunes did this through a GUI; clickwheel exposes the same operations as composable primitives that the CLI types and the MCP hands to Claude, so curation moves from typing the right command to describing what you want, without changing what's underneath. Tools that write to the iPod or delete a playlist are flagged destructive, so MCP clients can gate them behind a confirmation. Underneath, the sync writes directly to the iPod's stock firmware over USB, no iTunes required.


