About grandorgue-mcp
grandorgue-mcp adds a browser-based console and AI-agent control to GrandOrgue, for organ players and GrandOrgue users. It bridges controls through MIDI while leaving the audio engine untouched.
Key features
- 01React browser console
- 02MIDI control of stops and manuals
- 03Sample set management
- 04AI-agent organ control
Use cases
- 01Control an organ from a browser
- 02Connect MIDI controls to GrandOrgue
- 03Let an AI agent operate organ controls
MCP support
Exposes GrandOrgue controls as MCP tools for AI agents and MCP clients. Supports stdio and HTTP transports.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEGrandOrgue MCP
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
- Documentation
- README.md — this file, overview and quick start
- docs/GRANDORGUE_GUIDE.md — what GrandOrgue is, history of PC organ simulation, Hauptwerk comparison
- docs/ARCHITECTURE.md — system architecture, MIDI bridge, port layout
- docs/BACH_CATALOG.md — complete J.S. Bach organ MIDI repertoire
- docs/MIDI_SETUP.md — step-by-step MIDI configuration
- docs/MCP_TOOLS.md — AI agent tool reference
- docs/SAMPLE_SETS.md — marketplace, free sample sets, installation guide
- Ports
- Tech Stack
- License
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
- Install GrandOrgue from GitHub Releases
- Install at least one free sample set (see docs/SAMPLE_SETS.md)
- Start the MCP server (
uv run grandorgue-mcp) - Open the web console at http://127.0.0.1:11011
- From the Dashboard, click Start GrandOrgue then Connect MIDI
- GrandOrgue must be configured to use the virtual MIDI ports (see docs/MIDI_SETUP.md)
Ports
| Port | Service |
|---|---|
| 11010 | Backend (HTTP mode) — FastMCP 3.4 (/mcp) + FastAPI REST + WebSocket /ws |
| 11011 | Frontend — Vite React SPA, proxies /api → 11010 |
Tech Stack
| Layer | Technology |
|---|---|
| Backend | Python 3.12+, FastMCP 3.4, FastAPI, uvicorn |
| MIDI Bridge | mido + python-rtmidi (virtual ports) |
| Audio Engine | GrandOrgue C++ (untouched — MIDI control only) |
| Frontend | React 18, TypeScript, Tailwind CSS, Vite (Bun), Zustand, Lucide, react-router-dom, framer-motion, react-markdown |
| Linting | Ruff (Python), Biome (TypeScript) |
| Testing | pytest + Playwright e2e |
License
MIT — free for the GrandOrgue community, forever.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.