MCP server for Music Assistant – control playback, browse libraries, and manage queues via AI assistants
Project description
music-assistant-mcp
An MCP server that wraps the Music Assistant client library, exposing music search, library browsing, playback control, queue management, and playlist curation to AI assistants.
Installation
pip install music-assistant-mcp
Or run directly with uvx:
uvx music-assistant-mcp
Configuration
Set environment variables before running:
| Variable | Required | Description |
|---|---|---|
MA_SERVER_URL |
Yes (or MA_HOST) |
Full URL like http://192.168.1.10:8095 |
MA_HOST |
No | Hostname, combined with MA_PORT |
MA_PORT |
No | Defaults to 8095 |
MA_TOKEN |
Yes | Bearer token generated by Music Assistant |
Running
music-assistant-mcp
# or
python -m music_assistant_mcp
Generating a Long-Lived Access Token
- Navigate to your Music Assistant instance at
http://<your-ma-host>:8095/#/settings/profile. - Scroll down to the Long-lived access token section and click + Create new token.
- Assign a name and submit.
- Copy the generated token value to a safe place — you will need it in the setup steps below.
Claude Code Integration
Add via CLI:
claude mcp add --transport stdio music-assistant \
--env MA_SERVER_URL=http://your-ma-host:8095 \
--env MA_TOKEN=your-token \
-- uvx music-assistant-mcp
Or add to your Claude Code MCP config:
{
"mcpServers": {
"music-assistant": {
"command": "uvx",
"args": ["music-assistant-mcp"],
"env": {
"MA_SERVER_URL": "http://your-ma-host:8095",
"MA_TOKEN": "your-token"
}
}
}
}
Tools (27)
Search & Browse
- search_music - Search across all providers
- browse_media - Browse provider folders
- get_item_by_name - Find item by name, artist, album
Library
- get_library_artists/albums/tracks/playlists - Browse library with search/filter/pagination
- get_album_tracks - Get tracks on an album
- get_artist_albums - Get albums by an artist
- get_recently_played - Recently played items
Playback
- get_players - List all players and state
- player_play_pause/stop/next/previous - Transport controls
- player_volume - Set volume (0-100)
- player_power - Power on/off
- player_seek - Seek to position
Queue
- play_media - Play URIs on a queue
- get_queue - Queue state
- get_queue_items - Items in queue
- queue_clear - Clear queue
- queue_shuffle - Toggle shuffle
- queue_repeat - Set repeat mode
Playlists
- create_playlist - Create new playlist
- add_playlist_tracks - Add tracks by URI
- remove_playlist_tracks - Remove tracks by position
Resources
ma://players- All players with current statema://library/stats- Library counts
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file music_assistant_mcp-0.1.0.tar.gz.
File metadata
- Download URL: music_assistant_mcp-0.1.0.tar.gz
- Upload date:
- Size: 9.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e53a8a2e74221f37ef89448f70acd04080417916729eabbdc44e862bed12ed5
|
|
| MD5 |
548f921e1701b607f5de7a9994b565ac
|
|
| BLAKE2b-256 |
0c901ffb6203c5bd67a2f6d48155bf7c4a82d3fdc4a716855501ecc7841a6663
|
Provenance
The following attestation bundles were made for music_assistant_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on devjourney/music-assistant-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
music_assistant_mcp-0.1.0.tar.gz -
Subject digest:
9e53a8a2e74221f37ef89448f70acd04080417916729eabbdc44e862bed12ed5 - Sigstore transparency entry: 1108505578
- Sigstore integration time:
-
Permalink:
devjourney/music-assistant-mcp@fef62ae387d9faeca8d683fd77ccefd9cb06e75d -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/devjourney
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fef62ae387d9faeca8d683fd77ccefd9cb06e75d -
Trigger Event:
release
-
Statement type:
File details
Details for the file music_assistant_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: music_assistant_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0abae0a9ea1047be2a32d720613e217fb78e6fdbb22004b004b49419e776a178
|
|
| MD5 |
be67746d59e30d4a5c2c624692b26f9f
|
|
| BLAKE2b-256 |
bc92f8a236a3d93b07a7ed0f151a5645ed445bd1650e7990032a7e2e240b196e
|
Provenance
The following attestation bundles were made for music_assistant_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on devjourney/music-assistant-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
music_assistant_mcp-0.1.0-py3-none-any.whl -
Subject digest:
0abae0a9ea1047be2a32d720613e217fb78e6fdbb22004b004b49419e776a178 - Sigstore transparency entry: 1108505582
- Sigstore integration time:
-
Permalink:
devjourney/music-assistant-mcp@fef62ae387d9faeca8d683fd77ccefd9cb06e75d -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/devjourney
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@fef62ae387d9faeca8d683fd77ccefd9cb06e75d -
Trigger Event:
release
-
Statement type: