Gives LLMs ears. Spectral, harmonic, rhythm, stereo, and structural audio analysis.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
An MCP server that gives Claude the ability to hear music.
Point Claude at any audio file and it can tell you the key, tempo, dynamics, timbre, percussive character, stereo field, structural sections, and how the music evolves over time -- all from raw audio analysis, no images, no guessing, under 1% context window usage.
Compare two tracks side-by-side. Detect where the music changes structurally β intro, verse, chorus, bridge β and zoom into the moments that matter.
LLMs can see (vision) and read (text), but they can't hear. This project bridges that gap by running real audio analysis -- the same DSP techniques used in music information retrieval research -- and returning structured numerical data that Claude can reason about.
It's an MCP server that exposes audio analysis as tools Claude can call on demand. Ask Claude to analyze a song and it will decode the audio, run spectral/harmonic/rhythm/percussive analysis, and return the results as compact text. No spectrograms, no images, no wasted tokens.
Full analysis of a 60-second track completes in under 2 seconds (including source separation). Pure Rust. No Python, no FFmpeg, no system dependencies.
Watch a fresh Claude analyse four tracks in one session β an original piano/brass composition, Bohemian Rhapsody's full structure mapped with section boundaries, an A/B mix comparison with production advice, and a thunderstorm field recording where it triages music metrics as "meaningless" vs "physically real." All four analyses fit in a single context window.
Download the .mcpb bundle for your platform from GitHub Releases and open it. Claude Desktop will handle the rest β no config files, no terminal, no setup.
| Platform | File |
|---|---|
| macOS (Apple Silicon) | audio-analyzer-darwin-arm64.mcpb |
| macOS (Intel) | audio-analyzer-darwin-x64.mcpb |
| Windows | audio-analyzer-win32-x64.mcpb |
| Linux | audio-analyzer-linux-x64.mcpb |
Download the mcp-server binary for your platform from GitHub Releases, then:
Restart Claude Desktop. The audio analysis tools will be available in your conversations.
Note: This is a local MCP server using stdio transport, so it requires Claude Code or Claude Desktop. It does not work with claude.ai in the browser or mobile apps.
Important: This tool analyses files on your local machine. Give Claude the full file path (e.g., /Users/you/Music/song.mp3) -- don't try to upload or attach files to the chat. Claude will read the file directly from disk.
Once configured, Claude can call these tools directly:
| Tool | What it does |
|---|---|
audio_info | Basic file info: duration, sample rate, sample count |
spectral_features | Brightness, richness, loudness, texture, timbre (MFCCs), frequency band energy, spectral contrast, dynamic range, LUFS loudness, stereo field |
harmonic_analysis | Key detection, pitch class distribution, tonnetz |
rhythm_analysis | Tempo (BPM), beat positions, tempo stability |
full_analysis | Everything above in one call, plus percussive character (HPSS), stereo field, and section boundaries. Recommended workflow: call without resolution first to get summary + section map, then zoom into interesting sections with start_time/end_time at high resolution |
compare | A/B two tracks -- analyses both and returns a compact diff table |
Here's what full_analysis returns for a 60-second jazz trio track:
When you add resolution: "medium", the output also includes a time-series table showing how every feature changes over the track's duration -- letting Claude see the intro build, the dynamic solo section, and the quiet outro.
All analysis tools accept an optional resolution parameter that controls time-series output:
| Preset | Data points/sec | Use case |
|---|---|---|
"low" | ~0.5/sec | Broad overview, equivalent to what you'd eyeball from a spectrogram image |
"medium" | ~1/sec | Good default for most analysis tasks |
"high" | ~4/sec | Detailed view for short passages or zooming in on transitions |
You can also pass a numeric string (e.g., "20") for custom rates.
Without resolution, tools return summary statistics only (averages across the whole track). With it, you get a compact TSV table showing how features evolve over time -- centroid, RMS, dynamic range, chroma, onset strength, percussive ratio, band energy, spectral contrast, and more, all aligned to the same time axis.
The presets are calibrated for token efficiency. A 3-minute track at "medium" resolution produces roughly 180 rows of data -- enough to track musical structure without blowing up the context window.
Two binaries share the same analysis library:
cli (src/main.rs) -- runs all analyses and prints resultsmcp-server (src/mcp_server.rs) -- exposes tools over stdio JSON-RPC via rmcpKey dependencies: symphonia (audio decoding), rustfft (FFT), rmcp (MCP SDK).
See CHANGELOG.md for version history.
MIT License. See LICENSE for details.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/audio-analyzer)<a href="https://allmcps.com/mcp/audio-analyzer"><img src="https://allmcps.com/api/badge/audio-analyzer?style=directory" alt="Audio Analyzer on AllMCPs" /></a>