{
  "markdown": "# GrandOrgue MCP\n\n<p align=\"center\">\n  <a href=\"https://github.com/sandraschi/grandorgue-mcp\"><img src=\"https://img.shields.io/github/stars/sandraschi/grandorgue-mcp?style=flat-square\" alt=\"Stars\"></a>\n  <a href=\"https://github.com/sandraschi/grandorgue-mcp/blob/main/LICENSE\"><img src=\"https://img.shields.io/badge/license-MIT-blue?style=flat-square\" alt=\"License\"></a>\n  <a href=\"https://github.com/sandraschi/grandorgue-mcp/actions/workflows/ci.yml\"><img src=\"https://github.com/sandraschi/grandorgue-mcp/actions/workflows/ci.yml/badge.svg\" alt=\"CI\"></a>\n  <a href=\"https://python.org\"><img src=\"https://img.shields.io/badge/Python-3.12+-3776AB?style=flat-square&logo=python&logoColor=white\" alt=\"Python\"></a>\n  <a href=\"https://github.com/PrefectHQ/fastmcp\"><img src=\"https://img.shields.io/badge/FastMCP-3.4-7c5cfc?style=flat-square\" alt=\"FastMCP\"></a>\n  <a href=\"https://github.com/sandraschi/grandorgue-mcp\"><img src=\"https://img.shields.io/badge/MIDI-bridge-009688?style=flat-square\" alt=\"MIDI\"></a>\n  <a href=\"https://github.com/sandraschi/grandorgue-mcp\"><img src=\"https://img.shields.io/badge/fleet-SOTA-6366f1?style=flat-square\" alt=\"Fleet SOTA\"></a>\n  <a href=\"https://grandorgue-mcp.fleet.ai\"><img src=\"https://img.shields.io/badge/React-18-d1d5db?style=flat-square&logo=react&logoColor=61DAFB\" alt=\"React\"></a>\n</p>\n\n**Modern Organ Console — a free control surface for the GrandOrgue pipe organ simulator.**\n\nGrandOrgue 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.\n\nBuilt 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.\n\n---\n\n## Contents\n\n- [Quick Start](#quick-start)\n- [Documentation](#documentation)\n  - [README.md](README.md) — this file, overview and quick start\n  - [docs/GRANDORGUE_GUIDE.md](docs/GRANDORGUE_GUIDE.md) — what GrandOrgue is, history of PC organ simulation, Hauptwerk comparison\n  - [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) — system architecture, MIDI bridge, port layout\n  - [docs/BACH_CATALOG.md](docs/BACH_CATALOG.md) — complete J.S. Bach organ MIDI repertoire\n  - [docs/MIDI_SETUP.md](docs/MIDI_SETUP.md) — step-by-step MIDI configuration\n  - [docs/MCP_TOOLS.md](docs/MCP_TOOLS.md) — AI agent tool reference\n  - [docs/SAMPLE_SETS.md](docs/SAMPLE_SETS.md) — marketplace, free sample sets, installation guide\n- [Ports](#ports)\n- [Tech Stack](#tech-stack)\n- [License](#license)\n\n---\n\n## Quick Start\n\n### Prerequisites\n\n- [GrandOrgue](https://github.com/GrandOrgue/grandorgue/releases) installed (Windows / Linux / macOS)\n- [uv](https://docs.astral.sh/uv/) for Python dependency management\n- [Node.js 20+](https://nodejs.org/) for the web console\n\n### One-Command Setup\n\n```powershell\n# Install backend deps\njust install\n\n# Install frontend deps\njust install-web\n\n# Launch everything (backend + frontend + browser)\njust web\n```\n\nThe backend starts on **port 11010** (HTTP mode), the frontend on **port 11011**.\n\n### Claude Desktop (stdio)\n\nThe server defaults to **stdio** transport for MCP clients. Build the bundle with\n`just mcpb` and install `dist/grandorgue-mcp-vX.Y.Z.mcpb` in Claude Desktop.\nThe webapp uses HTTP mode (`MCP_TRANSPORT=http`), which `just web` sets automatically.\n\n### Manual Start\n\n```powershell\n# Terminal 1 — Backend\nuv run grandorgue-mcp\n\n# Terminal 2 — Frontend (opens browser)\ncd web_sota && bun run dev\n```\n\n### First-Time Setup\n\n1. Install GrandOrgue from [GitHub Releases](https://github.com/GrandOrgue/grandorgue/releases)\n2. Install at least one free sample set (see [docs/SAMPLE_SETS.md](docs/SAMPLE_SETS.md))\n3. Start the MCP server (`uv run grandorgue-mcp`)\n4. Open the web console at http://127.0.0.1:11011\n5. From the Dashboard, click **Start GrandOrgue** then **Connect MIDI**\n6. GrandOrgue must be configured to use the virtual MIDI ports (see [docs/MIDI_SETUP.md](docs/MIDI_SETUP.md))\n\n---\n\n## Ports\n\n| Port | Service |\n|------|---------|\n| 11010 | Backend (HTTP mode) — FastMCP 3.4 (`/mcp`) + FastAPI REST + WebSocket `/ws` |\n| 11011 | Frontend — Vite React SPA, proxies `/api` → 11010 |\n\n---\n\n## Tech Stack\n\n| Layer | Technology |\n|-------|-----------|\n| Backend | Python 3.12+, FastMCP 3.4, FastAPI, uvicorn |\n| MIDI Bridge | mido + python-rtmidi (virtual ports) |\n| Audio Engine | GrandOrgue C++ (untouched — MIDI control only) |\n| Frontend | React 18, TypeScript, Tailwind CSS, Vite (Bun) |\n| Linting | Ruff (Python), Biome (TypeScript) |\n| Testing | pytest + Playwright e2e |\n\n---\n\n## License\n\nMIT — free for the GrandOrgue community, forever.\n",
  "bytes": 4846,
  "sha": "0ec6eacb1710df7ef38c71fed4fcdababf525045bec0900a27b09e15d2240bf7",
  "repo_slug": "sandraschi/grandorgue-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_sandraschi_grandorgue_mcp_21bdfaf6/readme"
}