REW MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Control Room EQ Wizard locally. Search rew_search_api, inspect rew_describe_api, then call rew_call_api or rew_request. Use measurement UUIDs. Inspect current audio routing and level before playback. A 202 means accepted, not completed. Do not retry timed-out changes blindly. Use rew_stop_audio to cancel playback. Automated sweeps require REW Pro. All API operations in the connected REW version are discoverable; GUI-only controls may not have API endpoints. Query command/choice endpoints rather than guessing enum values. Read actual settings before changing them. Save measurements before destructive edits when appropriate. Long results are saved to REW_OUTPUT_DIR; read them with rew_read_output.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| rew_statusA | Check live REW connection, API coverage and operating mode. |
| rew_search_apiB | Search ALL REW operations by words, category tag or HTTP method. Covers audio devices, measurements, EQ, alignment, generator, SPL, RTA, stepped measurements, import/export, simulation, graphs and application settings. |
| rew_describe_apiA | Read a discovered operation's exact parameter schemas, request body, units and responses before calling it. |
| rew_call_apiB | Execute any discovered REW operation with validated arguments. Body supports objects, arrays and JSON scalars. Waiting requires a documented progress endpoint. Timeout does not mean the action was cancelled. |
| rew_requestB | Call any documented REW method/path, including operations without dedicated tools. Use rew_search_api and rew_describe_api to get exact schemas. |
| rew_list_measurementsA | List all loaded measurements, UUIDs, names and metadata. |
| rew_get_measurementB | Get measurement summary or endpoint data such as frequency-response, impulse-response, group-delay, distortion or rt60. Use UUID. Decode Base64 float32 data with frequency/time coordinates and paginated samples. |
| rew_analyze_measurementB | Calculate response statistics over a frequency range. Reports observed extrema without inferring acoustic causes or inventing EQ. |
| rew_commandB | Run a REW command at a /command endpoint. Discover command choices and parameters first. Handles generator, sweeps (Pro), EQ, alignment, RTA, measurement processing, save/load and other command scopes. |
| rew_stop_audioA | Attempt to stop generator, sweep, stepped measurement and RTA independently, bypassing this server's command wait queue. |
| rew_decode_arrayB | Decode REW big-endian IEEE-754 float32 Base64 samples. Non-finite values are represented as null. |
| rew_encode_arrayB | Encode numeric samples for REW frequency/impulse data imports. |
| rew_export_measurementC | Save complete decoded response data as CSV or JSON inside REW_OUTPUT_DIR. Existing files are not overwritten. |
| rew_write_house_curveB | Create a REW house curve text file from [Hz, dB] points inside REW_OUTPUT_DIR. Then load through the discovered house curve endpoint. |
| rew_batchB | Execute an ordered API workflow. Stops at first error or uncompleted asynchronous action. Earlier actions are not rolled back. Use UUIDs, not indices. |
| rew_read_outputB | Read a saved JSON result inside REW_OUTPUT_DIR using an optional JSON Pointer, paginating objects, arrays or long strings. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| REW connection status | |
| REW OpenAPI specification | |
| REW operation catalog |
TDQS
Scored across 16 tools
The measurement-specific, array codec, export/output and status tools are distinct. However rew_call_api, rew_request and rew_command all execute REW operations with subtle boundaries, and rew_batch also overlaps by running API workflows. Descriptions help, but an agent may still hesitate among the generic execution tools.
All tools share the rew_ prefix and snake_case formatting, with mostly verb_noun forms such as rew_list_measurements and rew_get_measurement. A few names are bare nouns or actions like rew_status, rew_request, rew_command and rew_batch, so the pattern is mostly consistent rather than perfect.
Sixteen tools is slightly above the ideal 3–15 range, but it is reasonable for a broad REW surface needing discovery, execution, measurement helpers and output handling. No tool appears wholly redundant, though the generic execution cluster adds some weight.
Measurement lifecycle is well covered through list/get/analyze/export, and API discovery plus generic execution can reach most REW operations. Generic call/request/command fill most gaps, though there is no explicit delete/rename/import tool and workflows rely on the generic surface.