Odel
grandorgue mcp

grandorgue mcp

Local
@sandraschi2PythonMITUpdated 1w ago

GrandOrgue pipe organ simulator MCP server - MIDI bridge, organ control, sample set management, m...

GrandOrgue MCP

Stars License CI Python FastMCP MIDI Fleet SOTA React

Modern Organ Console — a free control surface for the GrandOrgue pipe organ simulator.

GrandOrgue MCP gives GrandOrgue a beautiful, responsive web console + AI-agent-capable backend. It connects to GrandOrgue via MIDI and replaces its aging wxWidgets GUI with a modern React dashboard. Every stop, piston, manual, and swell pedal is controllable from any browser — or from an AI agent via MCP tools.

Built for the GrandOrgue community with gratitude for decades of free organ simulation. This is our contribution back — a modern console layer that works with any existing GrandOrgue installation and sample set.


Contents


Quick Start

Prerequisites

  • GrandOrgue installed (Windows / Linux / macOS)
  • uv for Python dependency management
  • Node.js 20+ for the web console

One-Command Setup

# Install backend deps
just install

# Install frontend deps
just install-web

# Launch everything (backend + frontend + browser)
just web

The backend starts on port 11010 (HTTP mode), the frontend on port 11011.

Claude Desktop (stdio)

The server defaults to stdio transport for MCP clients. Build the bundle with just mcpb and install dist/grandorgue-mcp-vX.Y.Z.mcpb in Claude Desktop. The webapp uses HTTP mode (MCP_TRANSPORT=http), which just web sets automatically.

Manual Start

# Terminal 1 — Backend
uv run grandorgue-mcp

# Terminal 2 — Frontend (opens browser)
cd web_sota && bun run dev

First-Time Setup

  1. Install GrandOrgue from GitHub Releases
  2. Install at least one free sample set (see docs/SAMPLE_SETS.md)
  3. Start the MCP server (uv run grandorgue-mcp)
  4. Open the web console at http://127.0.0.1:11011
  5. From the Dashboard, click Start GrandOrgue then Connect MIDI
  6. GrandOrgue must be configured to use the virtual MIDI ports (see docs/MIDI_SETUP.md)

Ports

PortService
11010Backend (HTTP mode) — FastMCP 3.4 (/mcp) + FastAPI REST + WebSocket /ws
11011Frontend — Vite React SPA, proxies /api → 11010

Tech Stack

LayerTechnology
BackendPython 3.12+, FastMCP 3.4, FastAPI, uvicorn
MIDI Bridgemido + python-rtmidi (virtual ports)
Audio EngineGrandOrgue C++ (untouched — MIDI control only)
FrontendReact 18, TypeScript, Tailwind CSS, Vite (Bun)
LintingRuff (Python), Biome (TypeScript)
Testingpytest + Playwright e2e

License

MIT — free for the GrandOrgue community, forever.