omnidaw-agent-mcp
Click 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., "@omnidaw-agent-mcppreview a four-bar electronic loop with drums, bass, chords, and melody"
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.
omnidaw-agent-mcp
An unofficial, policy-enforced Model Context Protocol (MCP) server for OMNi DAW.
Purpose
While OMNi DAW includes an official MCP server, omnidaw-agent-mcp is an independent integration that adds:
Strict Operator Policy: Enforces explicit authorization (
--allow-write,--allow-risk) rather than relying purely on descriptive model annotations.Workflow Previews: Two-phase composable operations (preview -> inspect -> apply) with preflight validation, symbolic references (
$ref), and per-step execution journals. Execution is not an atomic transaction: earlier steps may have changed state when a later step fails or has an unknown outcome. There is no automatic rollback or replay; inspect live state before recovery, and do not assume undo can reverse file writes.Domain Filtering: Selectively expose API domains at startup, reducing context overhead and constraining backend actions.
Job & File Safety: Safe async job supervision with deadlines, strict loopback TCP restrictions, automatic token redaction from errors and logs, and verification of non-silent PCM audio.
Honest Offline Status: Accurate reporting of whether API capabilities originate from live discovery or bundled references.
Related MCP server: openDAW MCP
Platform Compatibility & Requirements
Requirements:
Python 3.12+ (standard library +
mcpSDK)OMNi DAW (v0.1.0 Build 5de6b9a or newer, with API enabled via
--apior GUI Settings)
Supported Platforms:
Linux: Any standard modern Linux distribution with Python 3.12+ (Ubuntu, Debian, Fedora, Arch, etc.). Fully compatible with Wayland (e.g. niri, GNOME, Sway) and X11. Runs with the official OMNi AppImage.
Windows: Windows 10/11 (64-bit). Fully supported out of the box (uses
%APPDATA%/omni/api/endpoint.json).macOS: Supported by
omnidaw-agent-mcp(reads~/Library/Application Support/omni/api/endpoint.jsonand supports loopback TCP sockets). Note: OMNi DAW itself currently publishes official binaries for Linux and Windows; macOS will work immediately once OMNi releases a macOS build or when connecting via network tunnel to a remote host.
Installation
git clone https://github.com/stratovey/omnidaw-agent-mcp.git
cd omnidaw-agent-mcp
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e .To run diagnostics:
omnidaw-agent --diagnoseRunning the Server
Speak MCP over standard I/O:
# Read-only safe inspection (default)
omnidaw-agent
# Allow project edits within authorized root
omnidaw-agent --allow-write --allow-risk --output-root /home/user/Music/projects
# Also let session.save / export.render replace existing files (only inside --output-root)
omnidaw-agent --allow-write --allow-overwrite --output-root /home/user/Music/projects
# Restrict exposed tools to specific domains
omnidaw-agent --domains session,tracks,clips,theoryMCP Client Configuration
Claude Desktop / Hermes / OpenCode
Add the following to your MCP client configuration (opencode.jsonc, claude_desktop_config.json, etc.):
{
"mcpServers": {
"omnidaw": {
"command": "/path/to/omnidaw-agent-mcp/.venv/bin/omnidaw-agent",
"args": [
"--allow-write",
"--output-root",
"/home/user/Music/omnidaw-exports"
]
}
}
}Remote Agent Architecture Note
OMNi DAW's JSON-RPC API is strictly local (127.0.0.1) and authenticates via an ephemeral token generated per session.
For agents operating remotely (e.g. on a separate VPS):
Run
omnidaw-agentlocally on the workstation where OMNi runs.Establish a secure authenticated tunnel (e.g., WireGuard, Tailscale, or an authenticated mTLS reverse proxy) connecting the remote agent harness to a local transport bridge.
Never expose
127.0.0.1directly or persist/transmit the API token across unsecured networks.
Composable Workflows
agent_status: Inspect connection state, catalog provenance, and active operator policies.agent_inspect: Return compact, LLM-optimized summaries of project state and tracks.agent_preview: Generate an execution plan from official methods with preflight checks and symbolic references.agent_apply: Execute an approved preview plan once, producing an execution journal and handling partial failures.agent_loop_preview: Compose a deterministic four-part electronic loop (drums, bass, chords, melody) using live instruments and native theory generators.agent_arrange_preview: Arrange scenes into sections, duplicate clips with transforms, and apply automation.agent_arrange_timeline: Place a batch of clips (track,slot,start_beat,length_beats) and optional markers in one preview plan.agent_measure: Measure master/track loudness, tonal balance, and clipping, proposing mastering chains without perceptual claims.agent_export_preview: Preview mixes or stems to WAV files with bounded job tracking. An explicit finiteend_beatgreater thanstart_beat(default 0) is required; the workflow never guesses song length. Failed or unavailable arrangement inspection produces no plan. Session-mode preparation selects the arrangement usingarrangement.play(which starts playback) then stops it; this does not place session clips on the timeline or guarantee non-silent output. Inspect the range/content and verify the written audio separately.agent_verify_wav: Verify that exported audio contains valid, non-silent integer PCM with matching sample rate and duration.
Known Limitations
Real-Time Audio Capture Stability
Issue: Repeated analysis.capture operations (used for real-time audio monitoring and LLM-based evaluation) trigger a fatal POLLERR cascade in OMNi's CPAL audio backend after ~75 seconds of accumulated capture workload, causing process termination.
Root cause: Internal resource leak or stream management bug in OMNi's audio backend under sustained real-time capture operations. This is reproducible, independent of system load/battery state, and isolated to capture operations — sustained playback without capture is stable indefinitely.
Affected workflows:
Multi-round audio critic loops (compose → capture → LLM eval → adjust → repeat)
Real-time monitoring with periodic capture for level/spectrum analysis
Unaffected workflows:
Compose + single export (stable)
Offline rendering via
render.export(stable, no real-time pressure)Short capture workloads (<30s total accumulated capture time)
Playback-only operations (stable)
Mitigations:
Use
engine.capture_with_cooldown()instead of rawanalysis.capture:# Automatic 5s cooldown between captures, max 8 consecutive captures result = await engine.capture_with_cooldown(source="master", seconds=2)Export and analyze offline (recommended for multi-round evaluation):
# Instead of real-time capture loop: await engine.call("export.render", {"path": "/tmp/preview.wav", "start_beat": 0, "end_beat": 16}) # Analyze WAV offline with audio_evaluatorBatch with transport cycles: For >8 captures, stop transport, pause 15s, restart, reset counter:
for round in range(3): for i in range(8): await engine.capture_with_cooldown() await engine.call("transport.stop") await asyncio.sleep(15) await engine.call("arrangement.play", {"from_beat": 0}) engine._capture_count = 0
Evidence: Documented in test run logs and stability analysis reports included with bug report submissions.
Verification & Testing
Run unit tests and SDK subprocess integration tests:
pytest -vExecute disposable integration verification against a target project:
python scripts/run_integration.py /path/to/endpoint.json /path/to/output_dirLicense & Attribution
Code adapted from official OMNi DAW reference examples: Copyright (c) 2026 Tomasz Głuc, under the MIT License.
Extensions, workflows, and policy engine: Copyright (c) 2026 omnidaw-agent-mcp contributors, under the MIT License.
OMNi DAW is a proprietary audio workstation developed by Tomasz Głuc. This project is unofficial and independent.
This server cannot be deployed
Maintenance
Related MCP Connectors
Supervised API-write gateway for AI agents with policy, human approval and execution receipts.
Autonomous music production for AI agents with MIDI generation, QC and provenance.
Music & audio for AI agents: 50+ AI instruments play your MIDI, stems, audio to MIDI, Logic/Ableton
Audio for your agent: transcribe, speak, translate, summarise, plus sound effects and music.
Related MCP Servers
- AlicenseBqualityAmaintenanceEnables AI agents to control a browser-based digital audio workstation (openDAW) for music production, including track creation, effects, MIDI, automation, and rendering.100Apache 2.0
- AlicenseNot gradedqualityBmaintenanceProvides 547 MCP tools for AI agents to programmatically control the openDAW browser-based digital audio workstation, enabling creation and manipulation of music projects including tracks, instruments, effects, MIDI, automation, and rendering.Apache 2.0
- FlicenseNot gradedqualityCmaintenanceProvides AI agents with reversible DAW control for music production, enabling inspection of instruments and parameters, batch edits, and evaluated revision runs with audio feedback and rollback.1-
- AlicenseCqualityAmaintenanceEnables AI agents to operate a fully text-driven DAW, allowing them to create, edit, analyze, and compare music projects through natural language and structured text without needing audio or visual feedback.34217MIT