Skip to main content
Glama

Audio Analysis MCP Server

An MCP server that gives Claude Code the ability to analyze audio files without ears. Provides numerical fingerprints, visual spectrograms, pitch tracking, and more - all through a single, token-efficient tool.

Overview

This server exposes one tool (audio_analyze) with multiple operations, keeping the MCP schema small and token usage minimal. Visual outputs (spectrograms, waveforms, etc.) are saved to disk and paths returned - Claude can then read the images separately if needed.

Related MCP server: music-perception-mcp

Installation

cd ~/projects/audio-analysis-mcp
~/.local/bin/uv sync

If you don't have uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Configuration

Add to your project's .mcp.json:

{
  "mcpServers": {
    "audio-analysis": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/audio-analysis-mcp",
        "python",
        "-m",
        "audio_analysis_mcp.server"
      ],
      "env": {
        "AUDIO_ANALYSIS_OUTPUT_DIR": "./audio-analysis-output"
      }
    }
  }
}

Or add to ~/.claude.json to make it available globally.

Operations

Single tool: audio_analyze(path, op, [path2])

Numerical Analysis

Op

Description

Output

fingerprint

RMS, peak, spectral stats

{rms, peak, zcr, centroid, bandwidth, rolloff, duration}

formants

Estimated F1-F4 frequencies

{f1, f2, f3, f4}

compare

Compare two files numerically

{identical, max_diff, rms_diff, pct_change}

diff

Sample-level difference

{identical, max_diff, mean_diff}

onsets

Detect transients/attacks

{count, times}

batch

Fingerprint multiple files

{results: [...]}

Visual Analysis

Op

Description

Output

spectrogram

Mel spectrogram image

{output_path}

waveform

Amplitude over time

{output_path}

waterfall

3D spectral surface

{output_path}

pitch

F0 tracking plot + stats

{f0_mean, f0_min, f0_max, output_path}

Output Directory

Images are saved to the directory specified by AUDIO_ANALYSIS_OUTPUT_DIR env var. Defaults to ~/.audio-analysis-mcp if not set.

Claude Code Skill & Slash Command

This project includes a Claude Code skill and slash command for structured audio comparison workflows.

Installing the Skill

Copy the skill to your Claude Code skills directory:

cp -r .claude/skills/analyze-audio-iterations ~/.claude/skills/

This enables automatic detection when you're comparing audio files, with structured workflows for:

  • Running all 7 analysis types in parallel

  • Building metrics comparison tables

  • Tracking improvements across versions

  • Pattern detection (oscillation, trade-offs, plateaus)

Installing the Slash Command

Copy the slash command to your Claude Code commands directory:

cp .claude/commands/analyze-audio.md ~/.claude/commands/

Then use it with:

/analyze-audio /path/to/reference.wav /path/to/synthesized.wav [version-context]

Quick Install (Both)

cp -r .claude/skills/analyze-audio-iterations ~/.claude/skills/ && \
cp .claude/commands/analyze-audio.md ~/.claude/commands/

Dependencies

  • mcp - Official MCP Python SDK

  • librosa - Audio analysis

  • matplotlib - Visualizations

  • numpy, scipy - Numerical operations

Available Tools

1 tool
audio_analyzeA

Analyze audio. ops: fingerprint|formants|compare|diff|spectrogram|waveform|waterfall|pitch|onsets|batch

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesAudio file path (or array for batch)
opYesOperation to perform
path2NoSecond file for compare/diff

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description indicates the tool performs analysis, which implies read-only behavior, but does not explicitly state side effects, error conditions, or performance characteristics. With no annotations, more detail would be beneficial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—one short sentence and a clear list of operations. No wasted words, and the structure is easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description does not explain what each operation returns, how errors are handled, or the role of the optional 'path2' parameter. For a tool with multiple complex operations and no output schema, this is insufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides descriptions for all three parameters (100% coverage). The description only repeats the enum values for 'op' and adds no new meaning beyond what the schema offers. Baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Analyze audio' and lists all supported operations, making the tool's purpose specific and unambiguous. The verb+resource pattern is effective.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

While the list of operations is provided, there is no guidance on when to use each operation or how to choose between them (e.g., compare vs diff). The description implies the tool is for general audio analysis but lacks explicit usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.1.0
    • First observedaudio_analyze

TDQS

A3.7/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion between tools. The single tool's purpose is clearly defined as audio analysis.

Naming Consistency5/5

With only one tool, naming consistency is trivially maintained. The name 'audio_analyze' appropriately describes its function.

Tool Count2/5

The server has only one tool for a broad domain (audio analysis), which is too few for the apparent scope. A more modular set of tools (e.g., separate tools for each operation) would be appropriate.

Completeness3/5

The single tool covers many common audio analysis operations via the 'ops' parameter, but bundling them into one tool makes the surface less intuitive and may miss operations like audio input handling or transcription.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to analyze audio files, extracting tempo, key, beat drops, volume surges, high tones, loudness, brightness, and structure, and returning structured JSON and visualizations.
    2
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/zachswift615/audio-analysis-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server