Sushi

Bridge for real‑time control and automation of the Sushi audio engine via MCP
  • python

0

GitHub Stars

python

Language

6 months ago

First Indexed

3 months ago

Catalog Refreshed

Documentation & install

Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "nagarjun226-sushi-mcp": {
      "command": "python",
      "args": [
        "/path/to/sushi-mcp/sushi_mcp_server.py"
      ]
    }
  }
}

You can control the Sushi audio engine through a dedicated MCP server that exposes real‑time commands, parameter automation, MIDI routing, and session management. This bridge lets AI assistants and other clients interact with Sushi to start/stop playback, adjust tempo, route audio, manage tracks and processors, and subscribe to live updates.

How to use

Connect your MCP client to the Sushi MCP Server to start issuing commands. You can control transport, track processing, MIDI routing, and presets, and you can subscribe to real‑time parameter updates.

Common usage patterns include: adjusting tempo, starting/stopping playback, adding processors to tracks, routing inputs to tracks, saving and loading presets, and subscribing to parameter changes for live dashboards.

To connect from a client, you typically specify a local or remote server configuration. For a local server started with Python, you run the server process and point your client to the same machine and port. You can also configure a client to launch the server as shown in the example below.

"connect to Sushi at 127.0.0.1:51051"  // example conceptually

// Example MCP client configuration (Claude Desktop)
{
  "mcpServers": {
    "sushi-control": {
      "command": "python",
      "args": ["/path/to/sushi-mcp/sushi_mcp_server.py"],
      "env": {}
    }
  }
}

How to install

Prerequisites: you need Python 3.13 or higher and a running Sushi instance with gRPC enabled. The Sushi gRPC interface is exposed on the default port 51051.

Step 1: Clone the project repository and move into it.

git clone https://github.com/YOUR_USERNAME/sushi-mcp.git
cd sushi-mcp

How to install

Step 2: Create and activate a Python virtual environment.

python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

How to install

Step 3: Install the MCP server package in editable mode so you can run directly from the source.

pip install -e .

How to install

Step 4: Run the MCP server. The server starts in stdio mode and waits for MCP client connections.

python sushi_mcp_server.py

Configuration

A sample configuration demonstrates a Sushi setup with 8 playback tracks, 2 input tracks with effects, and initial parameter states. You can customize this configuration to match your Sushi setup.

Troubleshooting

If you have trouble connecting, ensure Sushi is running with gRPC enabled and that the gRPC port (51051 by default) is reachable from your client. Verify the server IP address and port in your MCP client configuration.

Available tools

set_sushi_server

Set the Sushi server address and port for MCP connections.

get_sushi_info

Retrieve Sushi version and system information.

get_available_plugins

List internal plugins available to Sushi.

get_transport_info

Query the current transport state (play, stop, record, tempo, time signature).

set_tempo

Set the transport tempo in BPM.

set_playing_mode

Control playback mode: STOPPED, PLAYING, or RECORDING.

get_all_tracks

List all tracks in the Sushi project.

get_track_processors

List processors on a given track.

add_processor_to_track

Add a processor to a track.

remove_processor_from_track

Remove a processor from a track.

get_processor_parameters

List all parameters for a processor.

set_parameter_value

Set a specific parameter value on a processor.

bypass_processor

Bypass or enable a processor on a track.

save_processor_preset

Save the current processor state as a preset.

load_processor_preset

Load a saved processor preset.

list_presets

List all saved presets.

snapshot_all_tracks

Save a complete snapshot of all track states.

load_snapshot

Restore a complete session snapshot.

get_track_connections

View audio connections for a track.

connect_input_to_track

Route an audio input to a track.

connect_track_to_output

Route a track to an output.

get_midi_ports

Query available MIDI ports.

get_midi_keyboard_connections

List MIDI keyboard connections.

connect_midi_keyboard_to_track

Connect a MIDI keyboard to a track.

connect_midi_cc_to_parameter

Map a MIDI CC to a parameter.

send_note_on

Send a MIDI note on message.

send_note_off

Send a MIDI note off message.

subscribe_to_parameter_updates

Enable real‑time parameter updates.

watch_parameter

Monitor a specific parameter for updates.

get_parameter_updates

Fetch recent parameter changes.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational