Skip to main content

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

free_music_library_mcp-0.1.0.tar.gz (198.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

free_music_library_mcp-0.1.0-py3-none-any.whl (204.6 kB view details)

Uploaded Python 3

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

Hashes for free_music_library_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 01807ae9c0c072a28fd6173c4467a4f27c141352107f6fb62679c1591d01bbdf
MD5 db57302a81e88457a68a7e554c6ee540
BLAKE2b-256 db803bf6923b67491b97b2ebf8d77f40c01af4c9801f29d75a723edd99bfebf3

See more details on using hashes here.

File details

Details for the file free_music_library_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for free_music_library_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1b2d6d099285643ade6d0c59104036288fd8fa9d2a302038ad1496c797c706b1
MD5 f793caed246f8ff50fb6dfbee54f00f1
BLAKE2b-256 26f653c718e38a1a3fadc42d2091525e6755d4db261c8581ebb17ce6917873ca

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page