Skip to main content
Glama
brandon-fryslie

room-eq-wizard-mcp

room-eq-wizard-mcp

An MCP server that connects LLMs to Room EQ Wizard (REW): typed control of REW's HTTP API plus local acoustic analysis that reduces measurement data to something a model can reason about.

REW is the DSP engine — sweeps, RT60, averaging, EQ optimization all run inside REW, and this server drives them through the API. What the server adds is the layer REW doesn't have: peak/null detection with Q factors and severity, per-band statistics, before/after comparison, room-mode prediction correlated against measurements, and log-decimated curves sized for an LLM context instead of megabytes of base64.

Requirements

  • Node.js 20+

  • REW 5.40+ running with its API server enabled:

    • macOS: open -a REW.app --args -api

    • Windows: roomeqwizard.exe -api

    • or enable it in REW Preferences → API

  • API-triggered measurement (run_sweep) additionally requires a REW Pro upgrade; every read/analysis/EQ tool works without it.

Related MCP server: AudacityMCP

Install

// Claude Desktop (claude_desktop_config.json) or any MCP client config
{
  "mcpServers": {
    "rew": {
      "command": "npx",
      "args": ["-y", "room-eq-wizard-mcp"]
    }
  }
}
# Claude Code
claude mcp add rew -- npx -y room-eq-wizard-mcp

The REW API address defaults to http://127.0.0.1:4735; override with the REW_API_URL environment variable if you run REW on another port.

Tools (46)

Area

Tools

Status

status, list_api_commands

Measurements

list_measurements, get_measurement, rename_measurement, delete_measurement, save_all_measurements, load_measurement_files, run_measurement_command, get_measurement_commands

Groups

list_groups, create_group, update_group, delete_group, add_measurements_to_group, get_group_measurements

Data

get_frequency_response, get_rt60, get_distortion

Measuring

run_sweep

Import

import_frequency_response, import_impulse_response, import_frequency_response_data, import_impulse_response_data, import_rta_file, import_sweep_recordings

Signal generator

generator

SPL meter

read_spl

EQ

auto_eq, get_eq_filters, set_eq_filters, get_predicted_response, list_equalisers

Processing

average_measurements, align_spl, arithmetic, smooth_measurement, add_spl_offset

Alignment

align_measurements, create_aligned_sum, get_alignment_state, configure_alignment, run_alignment_command

Analysis

analyze_response, compare_measurements, room_mode_analysis

Typical session: statusrun_sweep (or load_measurement_files) → analyze_responseroom_mode_analysis with your room dimensions → auto_eqcompare_measurements on the predicted result.

Architecture

src/rew/       the only layer that talks to REW
  codec.ts       base64 big-endian float32 <-> arrays (REW's wire format)
  types.ts       Zod schemas — raw JSON is parsed once at this boundary
  client.ts      HTTP client; enables REW blocking mode once for long commands
src/analysis/  pure functions, no I/O, no mocks needed to test
  spectrum.ts    median-baseline peak/null detection, band stats, decimation
  room-modes.ts  rectangular-room modes, Schroeder frequency, correlation
src/tools/     MCP tools as data: one ToolDef type, one registration loop

Two properties worth knowing:

  • Everything REW computes stays REW's job. RT60, averaging, EQ matching are invoked via the API, never reimplemented — the numbers you get through this server match what the REW GUI shows.

  • Long commands use REW's blocking mode, enabled once per session. A sweep or EQ match returns when it finishes (client timeout 180 s). Note the blocking setting persists in REW across restarts.

Development

pnpm install
pnpm test        # unit suite (mocked HTTP) + live suite that self-skips without REW
pnpm build
pnpm typecheck

With REW running (-api), the live integration tests in src/rew/live.integration.test.ts activate automatically.

Credits

Design informed by two earlier REW MCP servers: koltyj/REW-mcp (analysis depth, typed client patterns) and KevinMeinon/rew-mcp-server (API coverage philosophy and field-tested REW payload shapes, plus its excellent REW API reference doc). REW itself is © John Mulcahy.

License

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to generate and control real-time audio synthesis through natural language descriptions using SuperCollider. Features 10 built-in synth types, pattern sequencing, audio recording, and server lifecycle management for creating sounds from simple English descriptions.
    Last updated
    11
    1
  • A
    license
    A
    quality
    A
    maintenance
    Enables AI assistants to control Audacity for real-time local audio editing, mastering, and transcription through over 90 specialized tools. It allows users to perform complex audio processing tasks like noise reduction and podcast cleanup using natural language commands.
    Last updated
    100
    65
    Apache 2.0

View all related MCP servers

Related MCP Connectors

  • List, configure, chat with, analyse and embed your Echo AI assistants.

  • Streamline your Attio workflows using natural language to search, create, update, and organize com…

  • Automate eSignature workflows and signing tasks via natural language commands.

View all MCP Connectors

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/brandon-fryslie/room-eq-wizard-mcp'

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