Skip to main content
Glama

🎡 Orpheus

An AI agent that doesn't just build music in REAPER β€” it listens to what you've made, tells you why it sounds the way it does, and reshapes it toward the sound you want.

"Why does this beat sound like Dominic Fike?" Β· "Make this sound Classical." Orpheus analyzes your project, recommends concrete changes with reasons, and β€” on your approval β€” applies them as real, editable tracks. One Ctrl+Z undoes the whole thing.

🚧 Status: early (pre-alpha), and moving. What's built + tested today: the full architecture, a documented analysis of the entire Reaper/DAW-MCP frontier, the music-theory core, and β€” as of M0 β€” the REAPER bridge: the AI can connect to a live REAPER and round-trip commands (proven by Python + Lua + cross-language integration tests). What's still stubs: the analysis and apply tools (M1–M3 on the roadmap). So it connects and is wired end-to-end, but doesn't compose or transform yet. The first feature release (v0.1) ships the understand-and-explain half; the transform half follows in v0.3. Star/watch to follow along. ⭐

Orpheus is an MCP server. It plugs into any MCP-compatible client (Claude Desktop, Cursor, Claude Code) and gives the model a set of tools to read, reason about, and edit a live REAPER session.


Why Orpheus exists

There is a thriving ecosystem of MCP servers that let an AI build music in a DAW by natural language. After reading the source of the leading projects (see docs/frontier-analysis.md), one gap is unmistakable:

The "build me a track" half is solved and even viral. The "look at my track, explain it, and improve it toward a reference" half is completely unclaimed.

No shipping server can look at your existing project, reason over both its composition and its sound, propose reasoned changes toward a target style, and apply them back as editable tracks. That loop β€”

ANALYZE  β†’  RECOMMEND (with reasons)  β†’  [you approve]  β†’  APPLY  β†’  VERIFY

β€” is Orpheus's entire reason to exist.

How it's different from what's out there

Capability

Control servers (shiehn, xDarkzx, Ableton-MCP)

Analysis servers (dschuler36)

Mix-match tools (Matchering, Ozone)

Neural "genre changers"

Orpheus

Build a track from NL

βœ…

β€”

β€”

β€”

βœ…

Read the current project's harmony

β€”

partial (MIDI-blind)

β€”

β€”

βœ…

Explain why it sounds like X

β€”

objective warnings only

β€”

β€”

βœ…

Recommend changes with reasons

β€”

β€”

β€”

β€”

βœ…

Human approval gate

β€”

n/a

β€”

β€”

βœ…

Apply changes as editable tracks

fire-and-forget

β€”

audio only

❌ (baked WAV)

βœ…

Match harmony / instrumentation, not just EQ

β€”

β€”

β€”

βœ… (unexplained)

βœ…

Orpheus is the first to make a single CompositionSpec the contract for an analyze β†’ recommend β†’ apply loop over an existing project. The compositional dimensions (key, harmony, instrumentation) are where it's genuinely first; the mix/master dimension it assembles from solved parts (it vendors Matchering).


The north-star demo

You:      (open an 8-bar beat in REAPER) "Make this sound Classical."

Orpheus:  Analyzing… detected A minor (confidence 0.71), 120 BPM, a i–iv vamp,
          drum-forward mix, low band +8 dB hotter than the classical reference.

          Here's my plan (each change, and why):
            1. 120 β†’ ~70 BPM        β€” classical phrasing breathes slower
            2. transpose to A minor β€” keep your tonal center, lean modal
            3. i–iv  β†’  ii–V–i with a secondary dominant β€” functional harmony is the
                                                            classical signature
            4. add a Strings track   (from your installed FX) β€” idiomatic voice
            5. master-match tonal balance to the reference β€” cut ~3 dB at 120 Hz

          Apply all 5?  [you approve]

Orpheus:  Done β€” wrapped in one undo block. Re-rendered and re-measured:
          now within 1.2 dB of the reference across all three bands.

Every line of "here's why" is a real diff between your project and a cached style fingerprint β€” not a vibe.


Architecture (one paragraph)

Orpheus is an external Python FastMCP server. It never calls REAPER's API directly. Instead it speaks to a single hardened file-based JSON bridge watched by a persistent Lua ReaScript loop inside REAPER β€” the same dependency-free transport the most comprehensive existing server ships, hardened with a heartbeat lock-file, atomic writes, static dispatch, and per-call note caps. The model talks in beats, never ticks; all PPQ/tempo math lives inside the bridge. Read-only analyze_* tools build a CompositionSpec of your current project; recommend_changes diffs it against a style fingerprint into a reason-annotated EditPlan; a separate, destructiveHint-flagged apply_changes executes the approved plan in one undo block. Full detail: docs/architecture.md.

Why not python-reapy or OSC? REAPER's OSC can't pass arguments to custom actions, so it literally cannot create tracks or write MIDI notes. python-reapy is effectively unmaintained (documented REAPER 7 / Python 3.13 failures) and its distant API throttles to ~30–60 calls/sec. The in-REAPER Lua bridge sidesteps both. This is a deliberate divergence from the most-starred prior art β€” see the architecture doc for the full justification.


Install

Not yet published. These are the planned one-line install paths once v0.1 is on PyPI.

# 1. Run the server (no clone needed, once published)
uvx orpheus-mcp

# 2. Load the in-REAPER bridge script (one-time)
#    Copies orpheus_bridge.lua into REAPER's Scripts folder and tells you how to run it.
orpheus-mcp install-bridge

Then add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "orpheus": { "command": "uvx", "args": ["orpheus-mcp"] }
  }
}

Restart Claude Desktop, open a project in REAPER, run the Orpheus bridge action, and ask Claude to "check the Orpheus connection." Full per-OS steps: docs/installation.md.


Roadmap

Orpheus ships in honest milestones (full detail + the "why this order" in docs/roadmap.md):

Milestone

What works

Scale

M0

Hardened bridge + FastMCP scaffold + get_connection_status

foundation

M1

Build/modify correctly: tracks, transport, FX, PPQ-correct MIDI

construction core

M2

Understand a project: harmony, groove, audio character, theory scaffolding

β†’ v0.1: it explains your track

M3

Transform: recommend_changes + gated apply_changes + style fingerprints

β†’ v0.3: the differentiator

M4

NL ergonomics + generate-from-scratch composers

polish

M5

Docs, PyPI, MCP Registry, the launch demo

ship

M6

Reach: MIDI recording, audio→reference ingest, groove transfer

post-launch

v0.1 (weeks) explains; v0.3 (months) transforms. The full loop is a real build, scoped honestly.


Standing on shoulders β€” credits

Orpheus deliberately aggregates the best of a generous open-source ecosystem rather than reinventing it. Full per-project analysis with citations in docs/frontier-analysis.md.


License

MIT Β© 2026 Mal0ss. Orpheus reimplements patterns from the projects above; it does not copy GPL-licensed source.

Install Server
A
license - permissive license
B
quality
C
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mal0ware/Orpheus'

If you have feedback or need assistance with the MCP directory API, please join our Discord server