Skip to main content
Glama
fl0zan0

REW MCP Server

by fl0zan0

REW MCP Server

AI-powered room acoustics analysis for studio monitoring

License: MIT Node.js TypeScript CI Tests

A Model Context Protocol server that connects Claude to Room EQ Wizard, turning raw measurements into actionable acoustics guidance.

Getting Started · Tools · Plugin · Docs · Contributing

NOTE

This is a fork of koltyj/rew-mcp. The rew-mcp package on npm (1.0.0) predates upstream fixes and does not work with Claude Code (tool names contain dots). This fork tracks upstream main and adds a fix for REW's /measurements response format (see CHANGELOG). Install it from GitHub as shown below, not from npm.


What is this?

REW MCP Server lets an LLM control Room EQ Wizard, analyze your measurements, and coach you through room treatment and speaker placement — step by step, one recommendation at a time.

Instead of staring at graphs, you get answers:

"You have a 12 dB null at 83 Hz caused by speaker boundary interference. Your monitors are 0.97 m from the rear wall — move them to 1.4 m or 0.6 m to shift the cancellation frequency out of the critical listening range. GLM cannot fix this; it's a physics problem."

Key capabilities

  • Guided calibration — Mic gain staging, SPL calibration to 85 dB reference, L/R/Sub measurement sessions

  • Plain language analysis — Room modes, SBIR, reflections, symmetry issues explained with causes and fixes

  • GLM transparency — What Genelec's DSP corrected vs what it physically cannot

  • Placement optimization — One change at a time, measure after each, validate the improvement

  • 27 MCP tools — Full programmatic control of REW's API: measurements, signal generator, SPL meter, RTA, EQ, and more


Related MCP server: ableton-mcp-extended

Getting Started

Requirements

  • Node.js 20+

  • Room EQ Wizard running with API enabled (-api flag or Preferences)

  • Measurement microphone (calibrated preferred — UMIK-1, UMIK-2, etc.)

Install

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "rew-mcp": {
      "command": "npx",
      "args": ["-y", "github:fl0zan0/rew-mcp"]
    }
  }
}

Claude Code

claude mcp add rew-mcp -- npx -y github:fl0zan0/rew-mcp

Cursor

Install in Cursor

Or: Settings > Features > MCP Servers > npx -y github:fl0zan0/rew-mcp

VS Code

Install in VS Code

The first launch takes a little longer: npm clones the repository and builds it.


Example Workflow

You:    "Help me calibrate my studio monitors"

Claude: Connects to REW → checks your mic levels → calibrates to 85 dB SPL
        → measures Left, Right, Sub → analyzes the room → finds issues:

        1. 14 dB mode at 62 Hz (axial mode, fixable with bass trapping)
        2. 8 dB SBIR null at 120 Hz (move speakers 15 cm from rear wall)
        3. 3 dB L/R asymmetry above 2 kHz (side wall reflection)

        → guides you through fixes one at a time
        → re-measures after each change
        → validates improvement: "62 Hz peak reduced from 14 dB to 4 dB ✓"

Tools

Offline Analysis

Tool

What it does

rew_analyze_room

Full-room analysis with prioritized, fixability-ranked recommendations

rew_analyze_room_modes

Detect peaks, nulls, and correlate with theoretical room modes

rew_analyze_decay

RT60, EDT, and ringing analysis (ISO 3382)

rew_analyze_impulse

Early reflection detection and path estimation

rew_compare_measurements

Before/after, L/R symmetry, multi-position comparison

rew_compare_to_target

Score response against flat, Harman, REW room, or custom curves

rew_interpret_with_glm_context

What GLM can fix vs what requires physical changes

rew_average_measurements

Spatial averaging (RMS, vector, hybrid methods)

rew_optimize_room

One-at-a-time placement optimization with validation

rew_ingest_measurement

Parse REW text exports for offline analysis

REW API Control

Tool

What it does

rew_api_connect

Connect to REW's REST API

rew_api_audio

Configure input/output devices and sample rate

rew_api_check_levels

Verify mic gain (clipping/optimal/low zone feedback)

rew_api_calibrate_spl

Semi-automated SPL calibration to target level

rew_api_measure

Trigger sweeps, SPL readings, or configure measurement

rew_api_measure_workflow

Orchestrated setup + level check + calibration + measurement

rew_api_measurement_session

Stateful L/R/Sub measurement sequence

rew_api_generator

Signal generator: pink noise, sweeps, tones

rew_api_spl_meter

Live SPL metering (A/C/Z weighting, Slow/Fast/Impulse)

rew_api_rta

Real-time analyzer control and capture

rew_api_list_measurements

List loaded measurements

rew_api_get_measurement

Fetch measurement data by UUID

rew_api_import

Import measurement files into REW

rew_api_measurement_commands

Execute per-measurement REW commands

rew_api_measurement_eq

Manage per-measurement EQ, filters, and targets

rew_api_eq

Global EQ defaults, house curves

rew_api_groups

Measurement group management

Prompts & Resources

Prompt

Description

rew_calibration_full

Complete end-to-end calibration workflow

rew_gain_staging

Standalone mic gain and level calibration

rew_measurement_workflow

Session-aware L/R/Sub measurement sequence

rew_optimization_workflow

Iterative placement optimization loop

URI Template

Description

session://{session_id}

Session state, step, and captured measurements

measurement://{measurement_id}

Stored frequency response data and metadata

recommendations://{session_id}

Active optimization recommendations

history://{session_id}

Measurement history and summaries


Claude Code Plugin

For Claude Code users, the included plugin adds guided workflows, domain knowledge, and quality automation on top of the MCP server.

# From a cloned repo
claude --plugin-dir ./plugin

# Or installed globally from GitHub (installs both the MCP server and plugin)
npm install -g github:fl0zan0/rew-mcp
claude --plugin-dir $(npm root -g)/rew-mcp/plugin

Commands

Command

Description

/rew:calibrate

Full calibration workflow — levels, SPL, L/R/Sub, analysis, optimization

/rew:analyze

Analyze measurements with prioritized recommendations

/rew:optimize

Iterative placement optimization cycle

/rew:status

Session state and next recommended step

Skills & Automation

Component

What it provides

room-acoustics skill

Room modes, SBIR, treatment, GLM knowledge, target curves

rew-workflows skill

Tool chaining patterns, workflow sequencing, best practices

measurement-reviewer agent

Proactive data quality review after measurements

workflow-enforcement hook

Soft-warns when tools are called out of recommended order

See plugin/README.md for full details.


Documentation

Document

Description

Architecture

System design and data flow

GLM Context

How Genelec GLM works and its limitations

Analysis Rules

Detection algorithms and thresholds

File Formats

REW export format specifications

Resources

MCP resource URIs and payload shapes

Examples

End-to-end measurement and analysis workflows


Development

npm install          # Install dependencies
npm run build        # Build TypeScript
npm test             # Run tests (884 passing)
npm run test:coverage # With coverage report
npm run lint         # ESLint
npm run dev          # Watch mode

Contributing

Contributions welcome. See Contributing Guide and Code of Conduct.

git checkout -b feature/your-feature
npm test
git commit -m 'feat: add your feature'
git push origin feature/your-feature
# Open a Pull Request

License

MIT © Kolton Jacobs


Changelog · Report Bug · Request Feature

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables chat-driven audio analysis and enhancement using local Claude, including denoising, EQ, compression, and loudness normalization, with an A/B viewer for synchronized comparison.
    1
    MIT
  • F
    license
    Not graded
    quality
    C
    maintenance
    Enables Claude to analyze and repair audio files by viewing spectrograms, measuring noise, and applying fixes like healing hums or isolating speakers, all with undoable operations and without uploading audio.
    -