MCP RiR

MCP RiR

Generates room impulse responses as WAV files from natural language descriptions, enabling agents to create realistic or arbitrary reverb for audio production.

Category
Visit Server

README

MCP RIR

License: MIT Python MCP

Room impulse responses from a plain description, via pyroomacoustics.

An MCP server that lets any compatible agent generate an IR from natural language and write it where you want. Describe a space in any language and the calling model turns it into room dimensions, an absorption coefficient and mic/source positions.

Useful for matching a room you no longer have access to (dry foley or dialogue recorded on location, with no IR captured at the time), and for building reverbs that are realistic, impossible, or somewhere between.

Example

"a stairwell, mic near the wall, quite reverberant, put it in my samples folder"

2.4 × 4.8 × 11.2 m · absorption 0.06 (wet) · mic near wall · source near wall
2.33 s stereo, 48000 Hz
/Users/you/Music/samples/medium_near_wall_wet_b7b2.wav

The result loads into any convolution reverb.

Anything left unspecified is randomised. Values you do supply are used as given, but exact mic placement and per-wall absorption are redrawn on every call, so the same numbers twice produce a different take. Call again to reroll.

Setup

Requires uv. Add the following to your MCP client configuration (~/Library/Application Support/Claude/claude_desktop_config.json on macOS) and restart the client:

{
  "mcpServers": {
    "rir": {
      "command": "uvx",
      "args": ["--from", "git+https://github.com/tbimbato/MCP_RiR", "mcp-rir"],
      "env": {
        "RIR_OUTPUT_DIR": "~/Music/IRs"
      }
    }
  }
}

The first launch takes a minute while pyroomacoustics is fetched.

RIR_OUTPUT_DIR sets the default destination. Without it, files land in ~/RIR-MCP/. A destination can also be given per request ("put it in my samples folder", "call it hallway.wav").

The tool

generate_room_ir. Every argument is optional.

argument description
width_m, length_m, height_m room size in metres, 0.5 to 40
absorption surface reflectivity, 0.02 to 0.95. Bare tile or concrete around 0.05, plaster 0.15, carpeted 0.3, heavily treated 0.5
mic_position, source_position center, corner or near wall
output_path a folder, or a full path ending in .wav

Output is a stereo 48 kHz 24-bit WAV, peak-normalised, capped at 20 seconds. Out-of-range values are clamped rather than rejected, and the reply says so.

Ranges, defaults and the parameters that shape the sound are in src/mcp_rir/config.py.

Roadmap

  • [x] Stereo output, 48 kHz 24-bit, peak-normalised.
  • [x] Per-request output path, so files land where you ask.
  • [ ] Microphone directivity. The pair is currently two omnidirectional capsules, the weakest option for stereo image. Cardioid, hypercardioid and figure-of-eight patterns would allow real techniques (XY, ORTF, Blumlein) and widen the image considerably.
  • [ ] Multichannel output. Quad and octophonic. Adding microphones to the same simulation is inexpensive; the work is picking layouts that convolvers actually accept.
  • [ ] Ambisonic B-format (first order, W/X/Y/Z). Higher priority than a fixed quad, since it decodes to any speaker arrangement afterwards.
  • [ ] Room rendering. An image of the simulated geometry with mic and source positions, written next to the WAV, to see what was generated without loading the file.
  • [ ] Non-shoebox geometry. Arbitrary polygonal footprints extruded to 3D: L-shaped rooms, narrow corridors, concave spaces that focus reflections. No new dependencies needed.
  • [ ] Post-processing tool. Reshaping an existing impulse response: reversed decay, gated tails, extreme time stretch. Taking a file path means it would work on impulse responses not generated here.
  • [ ] Tuning. The default ranges are informed guesses, not yet adjusted by ear.

Suggestions and contributions welcome.

Development

git clone https://github.com/tbimbato/MCP_RiR
cd MCP_RiR
pip install -e .

Point the configuration at that checkout:

{
  "mcpServers": {
    "rir": {
      "command": "/path/to/your/python",
      "args": ["-m", "mcp_rir.server"]
    }
  }
}

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured