KR

koltyj/rew-mcp

Developer tools
21 stars 0 forks Quality 62 Trend 31

An MCP server designed to give Claude code the ability to control room EQ wizard as well as interpret the results into actionable corrective steps and to guide you into both orienting your room...

Overview

A Model Context Protocol server that connects Claude to Room EQ Wizard, turning raw measurements into actionable acoustics guidance. 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. "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.

README


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

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

Or via Smithery:

npx -y @smithery/cli install rew-mcp --client claude

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


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 from npm (installs both the MCP server and plugin)
npm install -g 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


View this README on GitHub

Install

npx -y rew-mcp

Configuration

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