The MCP Music Analysis server provides audio analysis capabilities using librosa to process audio files from local paths, URLs, or YouTube links.
Main features:
Load Audio: Load audio files or specific segments with optional offset and duration
Download: Download audio from direct URLs or YouTube links
Analysis Functions:
Get total duration of audio files
Estimate tempo (BPM)
Compute Chroma Constant-Q Transform (CQT) for chromatic content
Compute Mel-Frequency Cepstral Coefficients (MFCC) for spectral content
Compute beat track for rhythmic content analysis
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-audio-analysisanalyze the tempo and key of my song.mp3"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Music Analysis
This repository contains a Model Context Provider (MCP) that uses MCP and librosa for audio analysis on audio in local, youtube link, or audio link.
Usage with Claude Desktop
Related MCP server: ZIP-MCP
Installation
Installing via Smithery
To install Music Analysis for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @hugohow/mcp-music-analysis --client claudeManual Installation
# Clone repository
git clone git@github.com:hugohow/mcp-music-analysis.git
cd mcp-music-analysis
# Create virtual environment and install
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e .Usage with Claude Desktop
Locate Configuration File
The configuration file location depends on your operating system:
macOS:
~/Library/Application\ Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"music-analysis": {
"command": "uvx",
"args": ["-n", "mcp-music-analysis"]
}
}
}Example Prompts
Here are some sample prompts you might use in a conversational or chat-based context once the server is running. The MCP will understand these requests and execute the relevant tools:
Can you analyze the beat of /Users/hugohow-choong/Desktop/sample-6s.mp3?
Could you give me the duration of https://download.samplelib.com/mp3/sample-15s.mp3 ?
Please compute the MFCC for this file: /path/to/another_audio.mp3
What are the spectral centroid values for /path/to/music.wav?
I'd like to know the onset times for https://www.youtube.com/watch?v=8HFiFd9vx1cTo-Do List
Add URL to audio file download
Add YouTube to audio file transformation
Experiment with multiple Python environments (testing)
Improve installation guide
Integrate Whisper for lyrics
Implement a Docker solution
Author
Hugo How-Choong