Releases: roomi-fields/osc-bridge
Releases · roomi-fields/osc-bridge
Release list
v0.10.1 — MCP output schemas + annotations
A polish release for the MCP server. No device-JSON or runtime changes.
Changed — MCP server
- All five tools now declare an
outputSchemaandannotations(title + read-only / idempotent / open-world hints). Tool results carrystructuredContentalongside the text block, so MCP clients get a typed, machine-readable payload — not just prose to re-parse. - Protocol version advertised at
initializebumped to2025-06-18(the revision that introducedoutputSchema/structuredContent). - The Smithery MCPB bundle manifest mirrors the same schemas.
Compatibility
- Device JSONs: unchanged — every
0.10.0driver loads as-is. - MCP clients on the older
2025-03-26revision still work; the text block in every tool result is unchanged.
v0.10.0 — OSC transport, software drivers, MCP server
[0.10.0] — 2026-05-14
osc-bridge stops being a hardware-only tool. A new OSC transport lets a
driver target a software endpoint — a DAW or a live-coding environment —
behind the same named OSC surface as a synth. Eight software targets ship in
this release. The multi-device orchestrator gains full dispatch and
declarative inter-device routing. And the whole 849-device catalogue is now
reachable from an LLM through a built-in MCP server.
Added — OSC transport (software targets)
device.transportblock:kind = "osc"routes a driver to a UDP/OSC
endpoint instead of a MIDI port (host/port/reply_port).Command.forward— emit a templated OSC message (typed args,{name}
placeholders) to the target; the OSC-mode counterpart offrame.subscriptions[]— one-shot OSC emitted at startup, e.g. to subscribe to
a DAW's state changes.replies[]extended withmatch_osc+match_args— decode an incoming
OSC message from the target back into the device's named surface.transport.passthrough_prefix— passthrough mode for environments with a
user-defined OSC surface: forward everything under/<prefix>/...
verbatim, no per-command modelling.- New source tiers:
📡 vendor-osc-api,📡 third-party-osc, and
✅ software-verified(tested end-to-end against a running instance of
the host software).
Added — software drivers
- Ableton Live via AbletonOSC — ✅ software-verified on Live 12.2.7.
- Bitwig Studio (DrivenByMoss) and Reaper (native OSC) — declarative.
- Sonic Pi, SuperCollider, Pure Data, TouchDesigner,
VCV Rack — passthrough. - Each ships a companion
.mddocumenting host-side setup, ports, conventions.
Added — orchestrator
- Full dispatch:
osc-bridge orchestratenow runs the same command / param /
cc_param / midi_out pipeline as single-device mode, not just perf-MIDI. - Loads OSC-transport (software) devices alongside hardware MIDI devices in
a singlebridge.toml. [[routes]]— declarative inter-device routing with optional linear value
remap (map.from/map.to). Routes fire on any event the bridge emits,
including MIDI-in knob turns and software replies./bridge/docsserved in orchestrator mode (was single-device only).bridge.tomldevice entries can override an OSC driver's
host/port/reply_port.
Added — MCP server
osc-bridge mcp— a Model Context Protocol server (JSON-RPC over stdio).
Five tools:list_devices,get_device_docs,list_routes,send,
get_status. Both a MIDI MCP (hardware over MIDI/SysEx) and an OSC MCP
(DAWs and live-coding environments).- Catalogue index built once at startup — device tools don't re-walk the
devices/tree on every call.
Added — distribution
@roomi-fields/osc-bridgenpm wrapper:npm installdownloads the
prebuilt native binary for the platform from the matching GitHub release.server.json(Official MCP Registry) and.claude-plugin/plugin.json.scripts/sync_version.py—Cargo.tomlis the single version source of
truth, propagated to every manifest mirror; CI gate fails on drift.
Added — devices & docs
- Arturia MatrixBrute promoted to hardware-verified-partial (fw
2.0.3.1411): 78 hierarchically-named CC params, 39 global options as a
paramsblock (0x42/0x43), 2 SysEx preset commands, 2 reply patterns. - Ableton Push 3 hardware-verified driver (Control Mode, USB-C).
docs/TUTORIAL_FIRST_DEVICE.md— a 30-minute hands-on "first device JSON".- Pages site: Author column added,
📡 OSC-APIfilter chip.
Changed
- Per-variant driver convention — one source per JSON file, never
silently fused. Variants named<device>.<source-tier>.fw-<version>.json;
regen_supported_devices.pygroups them under one catalogue entry.
Beetlecrab Tempera rewritten from the vendor doc (fw 2.2) as the reference. _sources[].type "electra-preset-private"normalised toelectra-preset
across 191 devices — a single Electra-preset tier; provenance still carried
per entry byurl/preset_id.
Backwards compat
All existing device JSONs load unchanged — every new field is optional
(device.kind, transport, forward, subscriptions, match_osc,
passthrough_prefix). The hardware MIDI drivers are byte-for-byte unaffected.
Test suite: 131 passing.