> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gridshift.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Server

> Control Gridshift from AI assistants like Claude via the Model Context Protocol.

Gridshift includes a built-in **[MCP](https://modelcontextprotocol.io) Server** that allows AI assistants to read project state and control the DAW — including mixing, plugin management, and MIDI composition.

## Install for Claude Desktop

Go to `Help → Install Claude Extension` in Gridshift's menu bar. This installs the MCP server as an extension in Claude Desktop.

<Frame>
  <img src="https://mintcdn.com/kern/QnBE5YO0LRtSM84L/images/screenshots/mcp-install-light.png?fit=max&auto=format&n=QnBE5YO0LRtSM84L&q=85&s=0848d822e7467625d851c58a46008dd1" alt="Help menu showing Install Claude Extension option" className="dark:hidden" width="3024" height="1964" data-path="images/screenshots/mcp-install-light.png" />

  <img src="https://mintcdn.com/kern/QnBE5YO0LRtSM84L/images/screenshots/mcp-install-dark.png?fit=max&auto=format&n=QnBE5YO0LRtSM84L&q=85&s=cd95c486131e03deca3488eab8518ddb" alt="Help menu showing Install Claude Extension option" className="hidden dark:block" width="3024" height="1964" data-path="images/screenshots/mcp-install-dark.png" />
</Frame>

## Add to other clients

The MCP server uses a bridge binary that communicates with Gridshift via Unix socket. Add the following to your client's MCP configuration:

```json theme={null}
{
  "mcpServers": {
    "gridshift": {
      "command": "/Applications/Gridshift.app/Contents/Helpers/GridshiftBridge"
    }
  }
}
```

Gridshift must be running for the connection to work.

## Available tools

### Session

| Tool                   | Description                                                                                                                        |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| `get_session_overview` | Get project info, transport state, tracks, and mixer levels in one call. Use the `include` parameter to request specific sections. |

### Transport

| Tool                | Description                                                                                                                                                                            |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `transport_control` | Control playback, recording, loop, tempo — all via a single `action` parameter (`play`, `stop`, `toggle_playback`, `toggle_loop`, `toggle_recording`, `go_to_beginning`, `set_tempo`). |

### Tracks

| Tool                  | Description                                                                                                                         |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `track_add`           | Add a sample, instrument, or return track.                                                                                          |
| `track_configure`     | Set volume, pan, mute, solo, and return output routing for one or more tracks in a single call. Accepts a batch `operations` array. |
| `track_rename`        | Rename a track.                                                                                                                     |
| `group_create`        | Create a group track containing existing tracks as children.                                                                        |
| `track_move_to_group` | Move a track into a group, or back to the top level.                                                                                |

### Sends & Returns

| Tool             | Description                                                                                                                                                                          |
| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `send_configure` | Create, adjust, or remove sends from tracks to return tracks (level + pre/post tap). Accepts a batch `operations` array. Create a return track first with `track_add` type `return`. |

### Plugins

| Tool                    | Description                                                                                                            |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| `available_plugins`     | Search installed AU plugins by name or manufacturer.                                                                   |
| `plugins_list`          | List all loaded plugins across tracks with bypass state and parameter count.                                           |
| `plugin_get_parameters` | Get plugin parameters with type metadata, value labels, and pagination.                                                |
| `plugin_configure`      | Set parameter values, toggle bypass, and/or configure [sidechain](/features/sidechain) routing — all in a single call. |
| `plugin_add_remove`     | Add or remove plugins on tracks. Supports batch operations across multiple tracks.                                     |

### Clips & MIDI

| Tool               | Description                                                                              |
| ------------------ | ---------------------------------------------------------------------------------------- |
| `clip_delete`      | Delete clips by ID or clear all clips on a track. Works with any clip type.              |
| `midi_clip_create` | Create a MIDI clip with optional initial notes. Returns the clip ID for further editing. |
| `midi_clip_read`   | Read all notes from a MIDI clip (pitch, position, duration, velocity).                   |
| `midi_clip_edit`   | Add, delete, or modify notes in a MIDI clip. Supports batch operations.                  |

### Automation

| Tool                          | Description                                                                                                                                                                                                                                                                                                                                            |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `automation_create`           | Automate a parameter (mixer volume/pan, a plugin parameter, or a send amount) over a time range. Creates the lane and clip, and optionally seeds breakpoints or an LFO. `absolute` sets the value directly; `relative` stacks a modulation layer on top — so you can drive one parameter from several automations. Returns the lane index and clip ID. |
| `automation_clip_read`        | Read an automation clip: its targets, blend mode and range, and breakpoints or LFO shape.                                                                                                                                                                                                                                                              |
| `automation_clip_edit`        | Add, delete, modify, or re-curve breakpoints in an automation clip. Supports batch operations.                                                                                                                                                                                                                                                         |
| `automation_lfo`              | Configure LFO generate mode on a clip: set the shape, bake it to editable points, or clear it.                                                                                                                                                                                                                                                         |
| `automation_target_configure` | Edit a lane's parameter bindings: add or remove targets (one curve → many parameters), or change a target's blend mode or range.                                                                                                                                                                                                                       |

### Samples

| Tool                      | Description                                                               |
| ------------------------- | ------------------------------------------------------------------------- |
| `sample_search`           | Search the indexed sample library by filename, folder, and category tags. |
| `sample_place`            | Place a sample as a clip, creating a sample track if needed.              |
| `sample_replace_on_track` | Swap the audio source on a sample track, preserving clip positions.       |

### Project

| Tool              | Description                                                                   |
| ----------------- | ----------------------------------------------------------------------------- |
| `project_artwork` | Get, set, or remove the project artwork (cover image). Supports PNG and JPEG. |

## Design principles

Gridshift's MCP tools follow best practices for LLM integration:

* **Workflow-oriented**: Tools map to user goals, not internal APIs.
* **Compound operations**: Batch changes in single round-trips (e.g. configure multiple tracks at once).
* **Rich metadata**: Plugin parameters include type info and human-readable labels so the AI can set values correctly without trial-and-error.
* **Musical context**: Project key and scale are included in the session overview so the AI writes in-key MIDI.
