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 (
-apiflag 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
Install
npx -y rew-mcpConfiguration
{
"mcpServers": {
"rew-mcp": {
"command": "npx",
"args": ["-y", "rew-mcp"]
}
}
}