Mopidy
by @grantmacnamara
Control a Mopidy music system via Mopidy JSON-RPC for everyday listening, queue management, and playback control. Use when the user wants to search for music...
clawhub install mopidyπ About This Skill
name: mopidy description: Control a Mopidy music system via Mopidy JSON-RPC for everyday listening, queue management, and playback control. Use when the user wants to search for music, see what is playing, inspect the queue, add tracks, albums, or playlists, or control playback with actions like play, pause, next, previous, clear queue, or play-now behavior. Also use for requests like "top songs by" or "best tracks from" where external ranking knowledge should be matched against the local Mopidy library before queueing the best local matches. metadata: {"clawdbot":{"requires":{"bins":["curl","jq","python3"],"env":["MOPIDY_URL"]}}}
Mopidy
Use this skill to control a Mopidy music system through Mopidy's JSON-RPC API in a predictable, scriptable way.
Setup
Configure the Mopidy JSON-RPC endpoint before use.
Recommended environment variable:
export MOPIDY_URL="https://your-mopidy-host.example.com/mopidy/rpc"
Typical endpoint shape:
https://your-host.example.com/mopidy/rpcSome installations serve Iris under /iris/, but this skill should control Mopidy through /mopidy/rpc.
Helper scripts:
scripts/mopidy.shscripts/match_top_tracks.pyCore Tasks
See what is playing
scripts/mopidy.sh current
scripts/mopidy.sh state
See the queue
scripts/mopidy.sh queue
Search for music
scripts/mopidy.sh search "The Beths"
scripts/mopidy.sh search "David Bowie Blackstar"
Use search results to identify the correct URI before adding something.
Add a track or album to the queue
scripts/mopidy.sh add-track backend:song:example
scripts/mopidy.sh add-album backend:album:example
For natural requests like βqueue some Bethsβ, search first, then choose the best matching track or album URI.
List playlists
scripts/mopidy.sh playlists
Add playlist contents to the queue
scripts/mopidy.sh add-playlist-to-queue backend:playlist:example
Playback controls
scripts/mopidy.sh play
scripts/mopidy.sh play-track backend:song:example
scripts/mopidy.sh pause
scripts/mopidy.sh next
scripts/mopidy.sh previous
scripts/mopidy.sh clear
Working Style
Ranked / Canonical Requests
For prompts like:
Use this workflow: 1. search the web for a credible ranked, canonical, or genre-representative list 2. extract the song or album names 3. match them against the local Mopidy library 4. add only the confirmed matches to the queue 5. tell the user what was added and what was not found
Use scripts/match_top_tracks.py to help match externally sourced song names against the library.
Playlist Handling
Mopidy playlist APIs and backends can differ.
Safe approach: 1. list playlists 2. identify the target playlist URI 3. look up playlist contents 4. add those track URIs to the queue
Do not assume backend-specific shortcut behavior unless it has been tested on the target Mopidy server.
References
Read references/api-notes.md if you need endpoint details, common Mopidy methods, or URI guidance.
βοΈ Configuration
Configure the Mopidy JSON-RPC endpoint before use.
Recommended environment variable:
export MOPIDY_URL="https://your-mopidy-host.example.com/mopidy/rpc"
Typical endpoint shape:
https://your-host.example.com/mopidy/rpcSome installations serve Iris under /iris/, but this skill should control Mopidy through /mopidy/rpc.
Helper scripts:
scripts/mopidy.shscripts/match_top_tracks.py