loading…
Search for a command to run...
loading…
Apple Music playback control, library search, playlist management, and queue operations via MCP.
Apple Music playback control, library search, playlist management, and queue operations via MCP.
Apple Music for your AI tools.
Sound is a native macOS MCP server that lets AI tools like Claude Code, Cursor, and Windsurf search, play, and manage Apple Music through natural language.
No API keys. No browser auth flows. One command to install, one prompt to set up.
| Tool | Description |
|---|---|
search_catalog |
Search Apple Music for songs, albums, or artists |
get_song_details |
Get full metadata for a song |
get_album_details |
Get album info with track listing |
play_song |
Play a specific song by catalog ID |
play_pause |
Toggle playback |
skip_next / skip_previous |
Track navigation |
get_now_playing |
Current track info and playback state |
get_queue / set_queue |
Read or replace the playback queue |
get_library_playlists |
List your playlists |
get_recently_played |
Recent listening history |
create_playlist |
Create a new playlist |
add_to_playlist |
Add songs to a playlist |
ping |
Health check |
brew install seayniclabs/tap/sound
git clone https://github.com/seayniclabs/sound.git
cd sound
swift build -c release
codesign --force --sign - --entitlements Sources/Sound/Sound.entitlements .build/release/Sound
The binary is at .build/release/Sound.
Run the setup command to grant Apple Music access:
sound setup
This triggers the macOS permission prompt. You only need to do this once.
claude mcp add sound -- $(which sound)
Or add manually to ~/.claude.json:
{
"mcpServers": {
"sound": {
"command": "/path/to/sound",
"args": ["serve"]
}
}
}
Once connected, just talk to your AI tool:
Sound uses Apple's MusicKit framework to interact with Apple Music natively on macOS. It communicates with AI tools over stdio using the Model Context Protocol (JSON-RPC).
AI Tool --stdio/JSON-RPC--> Sound --MusicKit--> Apple Music
--ApplicationMusicPlayer--> Music.app
Auth is handled by macOS — the binary has an embedded bundle identifier (com.seayniclabs.sound) and the MusicKit entitlement. Users just click "Allow" once when prompted. No tokens, no refresh logic, no config files.
swift build # debug build
swift build -c release # release build
Sound requires Swift 6.1+ and targets macOS 14+.
If you're running multiple MCP servers, route them through a gateway like tbxark/mcp-proxy to manage all child processes from a single persistent service. The proxy handles process lifecycle, centralized config, and crash recovery — each server still gets its own SSE endpoint but you manage everything from one config file instead of scattered Claude Code entries.
For a full walkthrough of how this works in practice, see The Hidden Cost of a Loaded MCP Stack on charlieseay.com.
MIT
Built by Seaynic Labs.
Run in your terminal:
claude mcp add sound -- npx CSA PROJECT - FZCO © 2026 IFZA Business Park, DDP, Premises Number 31174 - 001
Security
Low riskAutomated heuristic from public metadata — not a security guarantee.