Skip to content
Agentmart
Submit a tool

Grandorgue MCP

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

Connector by sandraschi · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 4
Write a review

Install

Works with Claude Desktop. Read the repository before you give any tool access to your data.

Download the bundle

MCP bundle (.mcpb): open it with Claude Desktop.

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.

We use your email only for this newsletter. Privacy

About

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

No 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.

Tools
12 read · 12 write · 3 delete · 7 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Downloaded binary

Tools by what they do 34

Read from the source code; the running server may list different tools.

Read 12 · Look things up without changing anything.

  • go_bach_catalog
  • go_depot_card
  • go_list_midi_ports
  • go_list_organs
  • go_marketplace_download
  • go_marketplace_search
  • go_midi_playback_status
  • go_organs_card
  • go_status
  • go_status_card
  • midi_depot_download
  • midi_depot_list

Write 12 · Create, change, send or run things.

  • go_combination
  • go_midi_connect
  • go_midi_disconnect
  • go_panic
  • go_send_sysex
  • go_set_crescendo
  • go_set_enclosure
  • go_set_stop
  • go_start
  • go_stop_playback
  • midi_depot_download_bach
  • midi_depot_upload

Delete 3 · Delete, drop, revoke or wipe things.

  • go_stop
  • grandorgue_shutdown
  • midi_depot_delete

Not yet classified 7 · We could not tell from the name and description.

  • go_auto_load
  • go_load_organ
  • go_play_chord
  • go_play_midi_file
  • go_play_midi_file_ui
  • go_play_note
  • go_unload_organ

Network hosts it talks to 12

  • bachcentral.com · found in code
  • biomejs.dev · found in code
  • cdn.jsdelivr.net · found in code
  • classicalarchives.com · found in code
  • cli.github.com · found in code
  • familjenpalo.se · found in code
  • github.com · found in install command, code
  • glama.ai · found in code
  • kunstderfuge.com · found in code
  • mutopiaproject.org · found in code
  • ollama.com · found in code
  • piotrgrabowski.pl · found in code

Files it touches

  • %APPDATA%\com.sandraschi.pywinauto-mcp\logs\backend-spawn.log
  • Your home directory (~)
  • Any path the agent passes to its tools

Tools (34)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • go_auto_loadAuto-load last organ

    Load the last-used organ automatically (if one was saved from a previous session). ## Return Format {"success": bool, "organ": str|null, "message": str} ## Examples go_auto_load()

  • go_bach_catalogBach catalogread-only

    Search the J.S. Bach organ works catalog by BWV number. ## Return Format {"success": bool, "message": str, "works": [...], "total": int} ## Examples go_bach_catalog(bwv=565) go_bach_catalog()

  • go_combinationTrigger combination

    Trigger a combination (general piston) via MIDI Program Change. ## Return Format {"success": bool, "message": str, "number": int} ## Examples go_combination(number=3)

  • go_depot_cardDepot cardread-only

    Show a rich card of MIDI depot files with sizes. Works in clients that render MCP Apps / Prefab (e.g. Claude Desktop). Disable with ``GRANDORGUE_PREFAB_APPS=0`` (skips registration). ## Return Format ToolResult with text ``content`` plus a PrefabApp depot card. ## Examples go_depot_card()

  • go_list_midi_portsList MIDI portsread-only

    List all available MIDI input and output ports on the system. ## Return Format {"success": bool, "message": str, "inputs": [...], "outputs": [...]} ## Examples go_list_midi_ports()

  • go_list_organsList organsread-only

    List installed sample sets and known free catalogs. ## Return Format {"success": bool, "message": str, "installed": [...], "catalog": [...]} ## Examples go_list_organs()

  • go_load_organLoad organ

    Load an organ by path or name. Uses pywinauto-mcp for UI automation. Provide either the full .organ path or the organ name (matching the display name in GO's file-open dialog). If pywinauto-mcp is not running, registers the organ in the metadata registry and tells the user to load it in GO manually once. ## Return Format {"success": bool, "organ": {"name": str, "path": str}, "auto_loaded": bool} ## Examples go_load_organ(name="Burea Church") go_load_organ(path="C:/GrandOrgue/organs/Burea/Burea.organ")

  • go_marketplace_downloadSample set download inforead-only

    Get the download URL for a sample set by name. ## Return Format {"success": bool, "name": str, "url": str|null, "instructions": str} ## Examples go_marketplace_download(name="Burea Church")

  • go_marketplace_searchSearch sample setsread-only

    Search the GrandOrgue sample set marketplace by name, style, or builder. ## Return Format {"success": bool, "message": str, "results": [...], "total": int} ## Examples go_marketplace_search(query="Baroque")

  • go_midi_connectConnect MIDI bridge

    Create virtual MIDI ports and connect to GrandOrgue. ## Return Format {"success": bool, "message": str, "ports": {"input": str, "output": str}} ## Examples go_midi_connect()

  • go_midi_disconnectDisconnect MIDI bridge

    Close MIDI bridge connections. ## Return Format {"success": bool, "message": str} ## Examples go_midi_disconnect()

  • go_midi_playback_statusPlayback statusread-only

    Check if a MIDI file is currently playing through the MIDI bridge. ## Return Format {"success": bool, "message": str, "playing": bool} ## Examples go_midi_playback_status()

  • go_organs_cardOrgans cardread-only

    Show a rich card of installed organs plus the free catalog. Works in clients that render MCP Apps / Prefab (e.g. Claude Desktop). Disable with ``GRANDORGUE_PREFAB_APPS=0`` (skips registration). ## Return Format ToolResult with text ``content`` plus a PrefabApp organs card. ## Examples go_organs_card()

  • go_panicAll-notes-off panic

    Send all-notes-off / panic to GrandOrgue. ## Return Format {"success": bool, "message": str} ## Examples go_panic()

  • go_play_chordPlay chord

    Play a chord (multiple notes simultaneously). Defaults to C major. The release is scheduled in the background - the tool returns immediately. ## Return Format {"success": bool, "message": str, "notes": [...], "velocity": int} ## Examples go_play_chord(notes=[60, 64, 67], duration_ms=1500)

Show 19 more tools
  • go_play_midi_filePlay MIDI file

    Play a MIDI file through GrandOrgue's built-in MIDI player. Injects keystrokes (Alt+F, M, filename, Enter) via Windows API to trigger GO's File -> Load MIDI File menu. Plays through GO's pipe organ engine. No MIDI cables, no pywinauto, no external services needed. ## Return Format {"success": bool, "message": str} ## Examples go_play_midi_file(name="fugue1.mid")

  • go_play_midi_file_uiPlay MIDI file (UI)

    Play a MIDI file through GrandOrgue's built-in MIDI player via UI automation. Uses pywinauto to click File -> Load MIDI File -> select file. Requires pywinauto-mcp running. ## Return Format {"success": bool, "message": str} ## Examples go_play_midi_file_ui(name="bwv543.mid")

  • go_play_notePlay MIDI note

    Play a MIDI note through GrandOrgue. The note-off is scheduled in the background - the tool returns immediately. ## Return Format {"success": bool, "message": str, "note": int, "velocity": int, "channel": int} ## Examples go_play_note(midi_note=60, velocity=80, duration_ms=1000)

  • go_send_sysexSend SYSEX

    Send raw MIDI SYSEX data (hex string, e.g. 'F0 7D 10 ... F7'). ## Return Format {"success": bool, "message": str} ## Examples go_send_sysex(data_hex="F0 7D 01 00 F7")

  • go_set_crescendoSet crescendo

    Set crescendo pedal position (0-127). ## Return Format {"success": bool, "message": str, "value": int} ## Examples go_set_crescendo(value=64)

  • go_set_enclosureSet enclosure

    Set expression (swell) enclosure level via MIDI CC. ## Return Format {"success": bool, "message": str, "cc": int, "value": int} ## Examples go_set_enclosure(cc=7, value=80)

  • go_set_stopSet stop

    Set a stop (drawstop/tab) on or off via MIDI CC. ## Return Format {"success": bool, "message": str, "stop_cc": int, "state": bool} ## Examples go_set_stop(stop_cc=21, state=True)

  • go_startLaunch GrandOrgue

    Launch the GrandOrgue process. If an organ was previously loaded, attempts auto-reload. Pass organ_path to load directly via CLI (avoids pywinauto UI automation). ## Return Format {"success": bool, "message": str, "pid": int|null, "auto_loaded": str|null} ## Examples go_start() go_start(organ_path="C:/GrandOrgue/organs/Burea/Burea.organ")

  • go_statusOrgan statusread-only

    Get GrandOrgue process, MIDI, and organ status. ## Return Format {"success": bool, "message": str, "go_running": bool, "midi_connected": bool, "organ": {...}} ## Examples go_status()

  • go_status_cardStatus cardread-only

    Show a rich GrandOrgue status card (engine, MIDI bridge, organ). Works in clients that render MCP Apps / Prefab (e.g. Claude Desktop). Disable with ``GRANDORGUE_PREFAB_APPS=0`` (skips registration). ## Return Format ToolResult with text ``content`` plus a PrefabApp status card. ## Examples go_status_card()

  • go_stopStop GrandOrgue

    Terminate the GrandOrgue process. ## Return Format {"success": bool, "message": str} ## Examples go_stop()

  • go_stop_playbackStop playback

    Stop any active MIDI file playback and send all-notes-off. ## Return Format {"success": bool, "message": str} ## Examples go_stop_playback()

  • go_unload_organUnload organ

    Unload the current organ. ## Return Format {"success": bool, "message": str} ## Examples go_unload_organ()

  • grandorgue_shutdownShut down servercan change or delete data

    Gracefully shut down the GrandOrgue MCP server. Stops GrandOrgue, disconnects MIDI, and exits. Requires confirm=True. ## Return Format {"success": bool, "message": str} ## Examples grandorgue_shutdown(confirm=True)

  • midi_depot_deleteDelete from depotcan change or delete data

    Delete a MIDI file from the depot. ## Return Format {"success": bool, "message": str} ## Examples midi_depot_delete(name="fugue1.mid")

  • midi_depot_downloadDownload from depotread-only

    Download a MIDI file from the depot as base64. ## Return Format {"success": bool, "name": str, "data_base64": str, "size_bytes": int} ## Examples midi_depot_download(name="fugue1.mid")

  • midi_depot_download_bachDownload Bach bundle

    Download the complete J.S. Bach MIDI bundle (bachcentral.com) into the depot. Downloads bach.zip (~665 KB), extracts all .mid and .midi files into the depot. ## Return Format {"success": bool, "count": int, "files": [str], "message": str} ## Examples midi_depot_download_bach()

  • midi_depot_listList depotread-only

    List all MIDI files in the depot. ## Return Format {"success": bool, "files": [{"name": str, "size_bytes": int, "modified": float}]} ## Examples midi_depot_list()

  • midi_depot_uploadUpload to depot

    Upload a MIDI file to the depot. Provide file name and base64-encoded content. ## Return Format {"success": bool, "path": str} ## Examples midi_depot_upload(name="my.mid", data_base64="...")

Signals

Stars
4
Forks
0
Open issues
0
Last commit
Oct 24, 2026 (6 days ago)
Last release
Aug 28, 2026 (2 months ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.sandraschi/grandorgue-mcp
Version
0.3.0
Auth
No auth
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from sandraschi

Cite this page

Grandorgue MCP. Agent Mart. https://agentmart.dev/connectors/sandraschi-grandorgue-mcp (last updated 2026-10-24)