osc-bridge
OSC MIDI bridge — 986 synthesizers and DAWs.
Connector by roomi-fields · GitHub account verified by the MCP Registry
Install
Works with Claude Code, VS Code, Codex, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/roomi-fields-osc-bridge
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Remote endpoint
https://mcp.synthhub.roomi-fields.com/mcpRemote (HTTP)
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: audio-video
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.
Runs code on install
Its package runs an install script (such as npm postinstall or setup.py code) as soon as you install it, before any tool is called. Read the script first.
- Tools
- 10 read · 16 write · 2 delete
- Secrets
- None asked for
- Install scripts
- Runs code on install
- Runs as
- Node.js package
Tools by what they do 28
From the running server's own tool list (tools/list) on Oct 25, 2026.
Read 10 · Look things up without changing anything.
find_presetsget_contributionget_device_docsget_presetget_trustlist_deviceslist_routesrelay_detectrelay_listenrelay_status
Write 16 · Create, change, send or run things.
claim_presetscomment_presetfavorite_presetfollow_authorlink_accountpreset_collectionrelay_sendreport_mappingreport_presetreport_resultset_profileshare_preset
Show 4 more tools
submit_driversubmit_fixtake_soundupdate_preset
Delete 2 · Delete, drop, revoke or wipe things.
load_presetwithdraw_preset
Network hosts it talks to 21
app.electra.one· found in codedoc.sccode.org· found in codedocs.beetlecrab.audio· found in codedocs.derivative.ca· found in codedocs.electra.one· found in codefirestore.googleapis.com· found in codegithub.com· found in codeglama.ai· found in codehelp.ableton.com· found in codeidentitytoolkit.googleapis.com· found in codejson.schemastore.org· found in codelibrary.vcvrack.com· found in codem-vave.com· found in codemcp.synthhub.roomi-fields.com· found in remote endpoint, install command, codemidi.guide· found in codepolyend.com· found in codepuredata.info· found in codereaper.fm· found in codesonic-pi.net· found in codesynthhub.roomi-fields.com· found in codeuserguides.novationmusic.com· found in code
Files it touches
/tmp/electra_authors.json/tmp/electra_firebase_token.json/usr/share/fonts/truetype/dejavu~/.electra_auth.json- Any path the agent passes to its tools
Tools (28)
As the server listed them on Oct 25, 2026. Descriptions are the server’s own words; hidden characters are shown as [U+…].
claim_presetsClaim imported presetsClaim presets SynthHub imported from another site (their page says 'imported', with the author's name and page there) when the user is that author: give the id of one of them; the server answers with a code for the user to add to their author page at that site (profile or bio). Once it is there, call again with verify: true: every preset imported from that author becomes the user's, to edit or withdraw.
comment_presetComment on a presetComment on a shared preset — how it sounds, how you used it, what you changed — optionally attaching your remix (a preset you shared with derived_from). Comments are public at once. Also: remove one of this account's comments (remove), or flag someone else's as abusive or off-topic (flag); comments several accounts flag are hidden until reviewed.
favorite_presetFavorite a presetMark a shared preset as a favorite of this account (on: false to unmark). Without id, lists this account's favorites.
find_presetsFind presetsread-onlySearch what SynthHub users shared (CC BY-SA 4.0): sounds, sequences, kits, projects, banks, MIDI clips. Filter by device, kind, category, genre, tag, author (pseudonym) or words; sort by newest, most popular (favorites and real loads) or most trusted (confirmed on real devices). Returns, per preset, its id, name, kind, device, description, author, version, whether it has device data, settings, a MIDI file or an audio preview (URL), and its counts. Get one with get_preset.
follow_authorFollow an authorFollow an author of shared presets (by pseudonym), or stop (on: false); with author alone and on omitted, shows their page: profile, presets, followers. Without author, lists the newest presets of the authors this account follows.
get_contributionContribution statusread-onlyWhere a contribution stands: pending (waiting for the merge job), merged (with its pull request), rejected (with the reason), or held (its account is under review).
get_device_docsGet device docsread-onlyFetch the markdown companion documentation for one device, if present. The slug is the device's OSC prefix without the leading slash (e.g. 'ableton' for /ableton).
get_presetGet a presetread-onlyOne shared preset in full: its content (SysEx hex, settings by driver address, MIDI file), description and playing tips, versions with their change notes, what it was derived from and its derivatives (remixes), comments, preview URLs, author, licence and attribution line, trust and counts. Load it with load_preset; credit it as the attribution line says when you publish something made from it.
get_trustGet a driver's trustread-onlyHow far a driver has been confirmed by people who used it, per firmware: status (unreported, unconfirmed, usage-verified, firmware-dependent, failing, disputed), how many users report it works / fails / partly works, each firmware's own status, the device identities seen for each firmware, and the same per OSC address. needs_firmware: true means reports disagree and some have no firmware — identify the device before reporting (see learn). Check it before relying on a driver, together with its source_tier.
link_accountLink to the user's accountLink this account to the user's SynthHub account on the site: returns a one-time address (valid 15 minutes) for the user to open and sign in (passkey, e-mail, Google or Discord). Afterwards what this account shared appears under their profile, and they manage it — and their favorites, collections, comments — from the site. Offer it when the user wants to see or manage what you shared for them.
list_devicesList devicesread-onlyFind device drivers in the catalogue (about 988 synths, drum machines, controllers and DAWs). Without arguments it lists them all; `query` keeps drivers whose vendor, name or slug contain every word (e.g. 'korg minilogue'). Returns name, vendor, OSC prefix (slug), kind, source tier and firmware version when the source states one. Pass the slug to list_routes for the full CC/NRPN/SysEx map.
list_routesList device routesread-onlyReturn the OSC routes a device exposes: declarative commands (OSC paths it accepts), cc/nrpn params, sysex params, named note triggers (drum sounds), and reply patterns. Use this to discover what a device can do.
load_presetLoad a preset through a relaycan change or delete dataLoad a shared preset (find_presets, get_preset) into the user's device through a relay: its settings are sent through the driver, its patch data as SysEx — which replaces the sound the device holds, so the relay asks the user to accept it and this call waits for the answer (up to 2 minutes): tell the user first. Afterwards, tell SynthHub how it went with report_preset.
preset_collectionPreset collectionsCollections of shared presets, public, made by one account (e.g. 'Dark basses for minilogue'). action: create (name, description), rename (collection, name, description), add or remove (collection, id), delete (collection), get (collection: its presets), list (this account's collections, or author: someone's).
relay_detectDetect devices through a relayread-onlyFind which devices are connected to the user's machine through a relay: sends the MIDI Identity Request (F0 7E 7F 06 01 F7, changes nothing on the device) to every output and matches the answers — manufacturer, model, firmware version — against the catalogue. Returns the best driver ids and identity_hex to pass to report_result. Devices that do not answer are only listed by port name.
Show 13 more tools
relay_listenListen through a relayread-onlyListen to what the user's hardware sends through a relay for a few seconds: notes, CC, NRPN, SysEx, decoded. With a device, each CC or NRPN that moved is matched to the driver's OSC addresses — ask the user to move one control on the device while listening to learn which address it is, or to check that the driver's map is right (then record what you saw with report_mapping, so the catalogue learns it).
relay_sendSend through a relayPlay or set something on the user's hardware through a relay: give a driver (id or slug) and one of its OSC addresses from list_routes with its arguments (e.g. address '/filter/cutoff', args [64]; '/note/on', args [60, 100]) — the server turns it into the right CC, NRPN, note or SysEx message. Or give raw MIDI bytes as hex. Values are the device's own numbers, clamped to the parameter's range. Any SysEx but the Identity Request (patch dumps, stores, settings, preset restores) may overwrite the device's memory: the relay asks the user to accept it first and this call waits for the answer (up to…
relay_statusRelay statusread-onlyCheck a relay: the user opened https://synthhub.roomi-fields.com/connect/ (or ran osc-bridge connect) and gave you its pairing code. Returns the MIDI output and input ports of their machine. Nothing is sent to the hardware.
report_mappingReport what a control sendsTeach the catalogue which MIDI message a control really sends: after the user moved one control on the device (see relay_listen), give the driver address it is (from list_routes) — or, for a control the driver lacks, its panel label — and the CC, NRPN or note it sent, with the firmware and the device's Identity Reply when you have them. When several accounts observe the same thing on one firmware the mapping is learned; get_trust shows learned mappings and where they differ from the driver.
report_presetReport on a presetTell SynthHub how a shared preset behaved once loaded on a real device: 'works' (it loaded and sounds as described), 'fails' (refused, wrong sound), or 'factory' (it is a factory preset or someone else's sound: presets that several users flag are hidden until reviewed). Give the firmware.
report_resultReport a test resultTell the catalogue how a driver behaved on a real device, after testing it: 'works', 'fails' or 'partial', for the whole driver or one OSC address (from list_routes). Give the firmware version, and the device's reply to the MIDI Identity Request (F0 7E 7F 06 01 F7) as identity_hex when you can: trust is counted per firmware, so a failure on another firmware does not count against the driver, and a report of unknown firmware cannot be placed. Several accounts that agree on one firmware mark the driver usage-verified there; a report that several others contradict is rolled back and puts its acco…
set_profileSet the public profileSet the public profile shown on this account's author page and with its shared presets and comments, instead of its pseudonym alone: display name, link (https), a few words, the presets put first. A field left out stays as it is; an empty one is cleared. Ask the user what they want shown; all of it is public.
share_presetShare a presetShare something the user made on a device with every SynthHub user, under CC BY-SA 4.0: a sound, a sequence or pattern, a kit, a project, a bank of their own sounds, or a MIDI clip any device can play. Its content: the device's own data (SysEx, e.g. from backup_presets), settings by driver address (from list_routes, e.g. {'/filter/cutoff': [90]}, which also works for devices without dumps), and/or a standard MIDI file. Only what the user made: never factory presets, nor sounds or sequences bought or downloaded from others — set own_sound only after asking the user. Made from someone else's sha…
submit_driverContribute a driverContribute a driver for a device the catalogue lacks (or a better one): the full driver file as a JSON object, in the osc-bridge device schema (device.name, device.vendor, device.osc_prefix, and cc_params / params / commands / triggers — see https://synthhub.roomi-fields.com/DEVICE_JSON_SCHEMA/). It is checked, then merged into the public catalogue by the merge job if it parses, lints and passes the tests, as its own file of source 'agent-contributed'. Say where the data comes from (manual page, tested on the device).
submit_fixContribute a fix from learned mappingsContribute a corrected variant of a driver from what the catalogue learned: where learned mappings (get_trust → mappings, differs: true) disagree with the driver on one firmware, builds a copy of the driver with the learned CC / NRPN numbers, as a new file for that firmware, and queues it for the merge job.
take_soundTake a synth's sound through a relayTake the sound the user's synth is playing — or one of its stored programs — straight from the synth through a relay, with its name. The synth is found among those SynthHub's librarian can talk to (the KnobKraft Orm adaptations, about 90 synths) by the identity and detect messages, then asked for its sound. The person accepts each step at the relay (finding the synth, asking it): tell them first. To share it: ask the user whether they made this sound themselves (never a factory preset, nor one bought or downloaded), then call share_preset with the device, name, hex, librarian and firmware retu…
update_presetUpdate a presetPublish a new version of a preset this account shared: new content (hex, file, settings or midi_file) makes a new version, kept with a change note — earlier versions stay available; the description fields alone change it in place. Someone else's preset: share yours with derived_from instead.
withdraw_presetWithdraw a presetcan change or delete dataWithdraw a preset this account shared: it is no longer listed nor served. Copies others already made stay under CC BY-SA.
Signals
- Stars
- 9
- Forks
- 2
- Open issues
- 0
- Last commit
- Oct 24, 2026 (4 days ago)
- Last release
- Oct 24, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.roomi-fields/osc-bridge- Version
- 0.16.0
- Auth
- Auth not stated
- Packages
- npm @roomi-fields/osc-bridge
- License
- AGPL-3.0
- Repository
- github.com/roomi-fields/osc-bridge
- Website
- synthhub.roomi-fields.com/
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
More from roomi-fields
- 0.793score
NotebookLM MCP
roomi-fields
Automate Google NotebookLM — Q&A with citations, audio, video, content generation
ConnectorAFreshness: ALocal★ 207Claude Code +5 - 0.670score
RTFM
roomi-fields
Local retrieval for AI agents: index code, docs, PDFs, data in SQLite; 24 parsers, served.
ConnectorAFreshness: ALocal★ 27↓ 538/wkClaude Code +5 - 0.640score
expand
roomi-fields
Read the full content of a specific file or section previously returned by rtfm_search.
SkillAFreshness: A★ 27Claude Code +9 - 0.637score
install-pdf
roomi-fields
Install the light PDF parser (pdftext, ~50 MB) into an isolated venv.
SkillAFreshness: A★ 27Claude Code +9 - 0.637score
search
roomi-fields
Search the RTFM-indexed corpus of the current project (code, docs, data).
SkillAFreshness: A★ 27Claude Code +9 - 0.637score
install-pdf-full
roomi-fields
Install the full PDF parser (pdftext + marker-pdf + CPU-only torch, ~1.5 GB) into an isolated venv.
SkillAFreshness: A★ 27Claude Code +9
Cite this page
osc-bridge MCP server. Agent Mart. https://agentmart.dev/connectors/roomi-fields-osc-bridge (last updated 2026-10-24)