Music MCP 🎵
Model Context Protocol server that gives AI agents a searchable catalog of the most extensive list of free, open-source, royalty-free music sources. Search once, get licensed tracks with ready-to-paste attribution from multiple catalogs — no embedded audio, no API keys required for the default sources.
Sources
| Source | Access | License families |
|---|---|---|
| Internet Archive — netlabels + Free Music Archive collections | free, no key | CC0 / CC BY / Public Domain |
| Wikimedia Commons | free, no key | CC BY / CC BY-SA / CC0 / PD |
| Incompetech — full Kevin MacLeod catalog, 1,400+ tracks | baked in, no key | CC BY 4.0 |
| Jamendo | free client ID | CC BY / CC BY-SA / CC BY-NC-SA / CC BY-ND |
| Freesound | free token | CC0 / CC BY / CC BY-NC |
Every result carries license, license_url, audio_url and a ready-to-paste attribution string — the credit you must include, verbatim.
Quickstart
# 1-line installer: installs uv + music-mcp, then wires it into the
# agents you already have (Claude Code, Claude Desktop, Cursor, Gemini CLI)
curl -fsSL "https://music-mcp-install-telemetry.reachsuren.workers.dev/?src=readme" | bash
# or any of:
uvx free-music-library-mcp
npx free-music-library-mcp
pip install free-music-library-mcp
Claude Code
claude mcp add --transport stdio music-mcp -- uvx --from free-music-library-mcp music-mcp-server
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"music-mcp": {
"command": "uvx",
"args": ["--from", "music-mcp", "music-mcp-server"]
}
}
}
Cursor
MCP settings → Add: uvx --from free-music-library-mcp music-mcp-server (or use the 1-click install page).
Gemini CLI
gemini config add music-mcp "uvx --from free-music-library-mcp music-mcp-server"
Usage
| Tool | What it does |
|---|---|
search_music(query, sources?, limit?) |
Search across all configured sources: "medieval tavern ambient", "epic cinematic trailer", "lo-fi beats" |
list_sources() |
Show every source, its license families, and whether a key is needed |
Example agent conversation: "Find a royalty-free ambient track for a podcast intro and give me the attribution."
Optional: enable Jamendo & Freesound
These two sources cover hundreds of thousands of additional CC tracks. Both keys are free:
export MUSIC_MCP_JAMENDO_CLIENT_ID="your-free-client-id" # developer.jamendo.com
export MUSIC_MCP_FREESOUND_TOKEN="your-free-token" # freesound.org/apiv2/apply
Sources without keys are skipped automatically and reported in skipped in the search result.
Telemetry & Privacy
Music MCP collects anonymous usage telemetry (like GA4 MCP and other sibling servers): a random installation UUID, agent name, OS, and event counts (mcp_started, tool_executed, ...). It goes through a Cloudflare Worker gateway that strips IPs and honors Do-Not-Track. No PII, no search queries, no local paths, no audio content — ever.
Opt out any time:
export MUSIC_MCP_TELEMETRY=false
# or
export DO_NOT_TRACK=1
Development
python -m venv .venv && source .venv/bin/activate
pip install -e . pytest
pytest
python -m music_mcp
Baked catalogs are generated from verified public listings:
python scripts/build_catalogs.py # refreshes music_mcp/catalogs/*.json
License
Apache-2.0. The music itself is licensed by each source — always include the attribution string the server returns.
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 free_music_library_mcp-0.1.0.tar.gz.
File metadata
- Download URL: free_music_library_mcp-0.1.0.tar.gz
- Upload date:
- Size: 198.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01807ae9c0c072a28fd6173c4467a4f27c141352107f6fb62679c1591d01bbdf
|
|
| MD5 |
db57302a81e88457a68a7e554c6ee540
|
|
| BLAKE2b-256 |
db803bf6923b67491b97b2ebf8d77f40c01af4c9801f29d75a723edd99bfebf3
|
File details
Details for the file free_music_library_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: free_music_library_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 204.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/7.0.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b2d6d099285643ade6d0c59104036288fd8fa9d2a302038ad1496c797c706b1
|
|
| MD5 |
f793caed246f8ff50fb6dfbee54f00f1
|
|
| BLAKE2b-256 |
26f653c718e38a1a3fadc42d2091525e6755d4db261c8581ebb17ce6917873ca
|