OtoMaker
OfficialClick on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OtoMakergenerate a chill lo-fi loop at 80 bpm and make it seamless for my game"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OtoMaker for Windows
OtoMaker is a free, local MCP server for Windows. Ask Claude Code, Claude Desktop, Cursor or any other MCP client for background music or a sound effect in plain language. The model (Stable Audio 3) generates it on your PC. The server can then loop it, normalize the loudness and export WAV, OGG or FLAC for a game engine or video editor.
Platform: Windows 10 / 11
Runs on the CPU by default. An NVIDIA GPU with ComfyUI is faster and optional.
Instrumental only. Stable Audio 3 cannot produce intelligible vocals or lyrics.
Installing with an AI assistant (Claude Code and others): ask it to follow INSTALL_FOR_AI.md.
Tools
Tool | What it does |
| Text to BGM, instrument loop/stem or sound effect. 1–4 candidates per call, |
|
|
| Trim, trim silence, mono, resample, loudness (LUFS) or peak normalization, seamless loop, fades, WAV / OGG / FLAC export. Never modifies the input |
| Free the model memory right away |
Generated files are 44.1 kHz 24-bit stereo WAV in outputs\ under the OtoMaker data folder (the OtoMaker folder itself with install.cmd, %LOCALAPPDATA%\OtoMaker with uvx). Each one has a <file>.json sidecar (for example rain.wav.json) with its prompt, seed, settings and the file paths involved. Paths under your user profile are written as %USERPROFILE%. Other paths are written as they are: if the output folder (OTOMAKER_OUTPUT_DIR) or an input file is in a folder outside your profile whose name contains your name, that name ends up in the .json.
Related MCP server: AI Sound MCP Server
Requirements
Windows 10 or 11 and an internet connection (for the installation and the model download)
ffmpeg, used for resampling and loudness. For example:
winget install --id Gyan.FFmpeg -e. Ifffmpegis not onPATH, setOTOMAKER_FFMPEGto the full path offfmpeg.exe. The installer tells you when it cannot find it.Optional: an NVIDIA GPU with a running ComfyUI, for the
sa3-comfybackend.
You do not need to install Python, uv or Git first: install.cmd sets them up inside the OtoMaker folder. The Stable Audio 3 runtime and the model files are not included in this package; they are downloaded during the installation.
Folder names with Japanese or other non-ASCII characters (for example under a Japanese user name) are fine. The TFLite runtime cannot open such paths itself, so OtoMaker hands it ASCII forms of them (the 8.3 short name, or a path relative to the runtime folder).
You do not need a Hugging Face account or token. The model repositories are public.
Installation (install.cmd)
Extract the zip (for example to
C:\Tools\OtoMaker). It cannot run from inside the zip.Double-click
install.cmdin the extracted folder. It goes through these steps:uv: uses the uv on
PATH. If there is none, it downloads a pinned version of the official build (astral-sh/uv GitHub Releases), checks its SHA256 and puts it inruntime\uv\.Python 3.12 and the dependencies: runs
uv sync --locked --extra tflite --no-dev, with a uv-managed Python inruntime\python\.The Stable Audio 3 runtime: downloads the archive of the tested commit
77e0398from GitHub, checks its SHA256 and extracts it tostable-audio-3\optimized\tflite.Models: you pick the models (
sfxandmusicare recommended). The file list and the license terms are shown; typeyto agree and download.MCP registration: asks (Y/N each) whether to register
otomakerwith Claude Desktop (%APPDATA%\Claude\claude_desktop_config.json) and Claude Code (claude mcp add --scope user). The Claude Desktop config is backed up as.bak-<date-time>before the change; onlyotomakeris added undermcpServers, everything else stays as it was.
Restart Claude. Quit Claude Desktop from its tray icon, then start it again.
The installer does not change PATH or any system setting. uv, Python and the package cache all stay inside the OtoMaker folder (runtime\, .venv\, stable-audio-3\). Only the model files go to the Hugging Face cache (see below). Running install.cmd again sets up only what is missing.
Get models later: double-click
download-models.cmd. Until a model is downloaded, a generation with it stops and names the command to run.Remove the registration: double-click
uninstall.cmd. It removesotomakerfrom Claude Desktop and Claude Code (Y/N each). It does not delete the folder or the models; delete the places it lists yourself if you no longer need them. Your generated audio (outputs\) is in the folder too.Other clients (Cursor and others): put the full path of
<OtoMaker folder>\.venv\Scripts\otomaker-mcp.exeas"command"in their MCP config.
Manual setup (CPU, sa3-tflite)
The steps without install.cmd. They use uv and Git.
In the OtoMaker folder, get the Stable Audio 3 runtime (Stability-AI/stable-audio-3, MIT). OtoMaker was tested with commit
77e0398. Later commits may change the internals that OtoMaker uses.cd C:\Tools\OtoMaker git clone https://github.com/Stability-AI/stable-audio-3.git cd stable-audio-3 git checkout 77e0398 cd ..The runtime is now at
<OtoMaker folder>\stable-audio-3\optimized\tflite, where OtoMaker looks by default. If you put it somewhere else, setOTOMAKER_SA3_TFLITE_DIRto itsoptimized\tflitefolder.Install the dependencies, including the TFLite extra.
--no-devleaves out the test tools:uv sync --extra tflite --no-devDownload the models you want:
sfx(small sound-effect model) andmusic(small music model), both up to 120 s, ormedium(larger music model, up to 380 s).allgets all three. The text encoder that all models share is added once. The command lists the files and their sizes, shows the license terms and asks you to agree (y).--accept-licensesagrees without asking (only if you have read the terms; without it and without a terminal, nothing is downloaded).--models sfx,musicis the same as listing the names.--dry-runonly lists the files. If the runtime (step 1) is missing, the command also fetches it (the same pinned commit and SHA256 check asinstall.cmd)..venv\Scripts\otomaker-download.exe sfx musicIf you skip this step, a generation stops with the command to run.
OTOMAKER_SA3_AUTO_DOWNLOAD=1lets the runtime download the files on first use instead.Register the server with Claude Code (replace the path with yours):
claude mcp add --scope user otomaker -- "C:\Tools\OtoMaker\.venv\Scripts\otomaker-mcp.exe"If the runtime is not in the default place, add
-e OTOMAKER_SA3_TFLITE_DIR=<path>. Claude Desktop, Cursor and other clients take the same command in their MCP config, as"command"with the path tootomaker-mcp.exe.
otomaker-mcp.exe talks to the client over stdio. With --http PORT it serves streamable HTTP at http://127.0.0.1:PORT/mcp instead (reachable from this PC only), for clients that connect by URL. --preload loads the models at startup, so the first request does not wait for them.
Where the model files go, and disk space. The files are downloaded into the Hugging Face cache (HF_HOME, by default %USERPROFILE%\.cache\huggingface) and made visible in the runtime's models\ folder. With Windows Developer Mode on, this is a symbolic link. Without it, it is a hard link if both folders are on the same drive, and otherwise a full copy, which uses the space twice. To avoid the copy, keep the OtoMaker folder on the same drive as HF_HOME, or set HF_HOME to a folder on that drive. On first use the runtime also writes a weight cache (.xnnwc) next to each DiT and codec model, almost as large as the model itself. Measured on a test PC with hard links: about 1.8 GB for music alone, about 1.0 GB more for each further small model, and about 3.2 GB more for medium. A copy adds the download size once more (1.25 GB for music alone).
Setup (GPU, sa3-comfy)
sa3-comfy sends each request to a ComfyUI that you run yourself, at OTOMAKER_COMFY_HOST (default 127.0.0.1:8188, ComfyUI's own default). This backend supports text-to-audio only (no edit_audio). Set OTOMAKER_BACKEND=sa3-comfy. To fall back to the CPU when ComfyUI is not running, also set OTOMAKER_FALLBACK=sa3-tflite. The result and its metadata record the fallback.
Download the ComfyUI files from Comfy-Org/stable-audio-3. The medium checkpoint is 9.2 GB, each small one 2.3 GB and the text encoder 1.2 GB. The files go into
checkpoints\andtext_encoders\under--comfy-dir:.venv\Scripts\otomaker-download.exe sfx music --comfy --comfy-dir C:\path\to\ComfyUI\modelsIf
--comfy-dirwas ComfyUI's ownmodelsfolder, you are done. For any other folder, opentools\comfy_extra_paths.yamland copy itsotomaker:block into theextra_model_paths.yamlof your ComfyUI (next to itsmain.py; if the file does not exist, copyextra_model_paths.yaml.exampleto that name first). Setbase_pathto your folder and restart ComfyUI.
By default unload_models and the idle unload do not touch ComfyUI's memory, because ComfyUI's /free unloads every model in it, including the models of other tools. Set OTOMAKER_COMFY_FREE=1 to send /free.
Configuration
Variable | Default | Meaning |
|
|
|
| off | Backend for a |
| the OtoMaker folder; | Data folder: the runtime and |
|
| The |
|
|
|
|
|
|
| the upstream pairing |
|
|
|
|
| physical cores, at most 10 | CPU threads for the TFLite runtime. Cores are counted with psutil, which the |
|
| Address of ComfyUI ( |
|
|
|
|
|
|
|
| Where audio files are written |
|
| Free the models after this many idle minutes ( |
|
| Full path to |
|
| Hugging Face cache for the model downloads |
Pass them with claude mcp add ... -e NAME=value, or in the env block of your client's MCP config.
Prompting tips
Write English, one or two sentences, up to about 45 words. Avoid vocal words such as "vocals", "singer" or "lyrics".
Music: genre and adjectives, then lead instruments, supporting layers, drums and mood. Put the tempo in
bpm.Sound effects: fill in
sound_source,sound_action,sound_materialandsound_space. The server adds the prefix the model was trained with.Match the length to the content: impacts 1–3 s, actions 3–6 s, ambience 6–15 s, loops 6–20 s, full tracks 120–300 s.
Timing instructions such as "climax at 15 s" are not followed reliably. Generate first, then use
edit_audiowithinpaintorcontinue.Results vary a lot by seed. Ask for 2–4
variationsand pick the best.
Peak normalization uses a safety ceiling: peak_ceiling_db (default −1) turns down louder peaks and never boosts quieter audio. Use process_audio to normalize loudness. For OGG output, process_audio reports the levels measured on the encoded file.
Development
This section is for developers. Install with the test tools and run the offline tests:
uv sync --extra tflite
uv run --extra tflite pytest -qThe offline tests use a fake backend, so they need neither the runtime nor the weights. The git repository also has scripts\smoke_test.py, a developer check that runs every tool once over stdio against the real model. It is not part of the distributed zip.
src\otomaker\
server.py MCP tools (backend-independent)
prompts.py prompt building and the instructions sent to clients
post.py post-processing and export
download.py otomaker-download (model files)
backends\base.py backend interface
backends\sa3_tflite.py Stable Audio 3 on the CPU (TFLite / LiteRT)
backends\sa3_comfy.py Stable Audio 3 through ComfyUIFAQ
Does it work without an NVIDIA GPU? Yes. The default backend runs on the CPU. Generation is slower than with a GPU and ComfyUI.
Can it make songs with vocals? No. Stable Audio 3 generates instrumental music and sound effects.
Do I need a Hugging Face token? No. The model files are public.
My loop clicks at the seam. Use WAV or OGG for loops. MP3 adds padding at the start and end. Try a longer loop_crossfade_ms, or ask for a cut on a bar line.
License and notices
The full notices are in NOTICE.
This project: MIT. Copyright (c) 2026 kanaworksai-hue (original code), Copyright (c) 2026 OG-3 (Windows additions and changes). Based on kanaworksai-hue/audio-studio-mcp (MIT).
Stable Audio 3 model weights: not included. They are downloaded from Hugging Face and licensed under the Stability AI Community License. If your annual revenue is US$1M or more, commercial use needs an Enterprise License from Stability AI. This Stability AI Model is licensed under the Stability AI Community License, Copyright © Stability AI Ltd. All Rights Reserved. Powered by Stability AI.
T5Gemma text encoder: not included. It is downloaded with the models and subject to the Gemma Terms of Use.
Stable Audio 3 runtime code: Stability-AI/stable-audio-3, MIT, Copyright (c) 2026 Stability AI. Not included. You clone it, and OtoMaker loads it at run time.
Built on: Stable Audio 3 and the Model Context Protocol.
This is an independent project. It is not affiliated with or endorsed by Stability AI, Google or Anthropic.
This server cannot be deployed
Maintenance
Related MCP Connectors
Generate AI music via the Lacuna Music API from MCP clients like Claude Desktop & Code.
MCP server for Producer/Riffusion AI music generation
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
AI image, video, voice and music generation over MCP, routed to Veo 3.1, Seedance 2.5 and more.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables semantic search of local audio samples by describing sounds, MIDI generation, stem separation, and other music production tools from Claude Desktop.2MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to programmatically edit, analyze, and export audio projects through MCP tools, including multi-track editing, effects, transcription, and semantic search.1-
- AlicenseNot gradedqualityAmaintenanceGenerates original AI music through Claude, powered by ACE-Step 1.5, running entirely on your local machine with no cloud dependency.12Apache 2.0
- AlicenseNot gradedqualityCmaintenanceGives Claude Code, Claude Desktop, Cursor and any other MCP client a local sound studio that turns plain-language requests into background music, instrument loops and sound effects, then re-styles, regenerates or extends them and exports seamless loops, fades and loudness-normalized WAV, OGG or FLAC files. Everything runs on Apple Silicon with no cloud service and no API key.1MIT