Moku

3rd party MCP support for the liquid instruments moku package and devices.
  • python

0

GitHub Stars

python

Language

7 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": {
    "sealablab-moku-mcp": {
      "command": "python",
      "args": [
        "-m",
        "moku_mcp"
      ]
    }
  }
}

You have a Model Context Protocol (MCP) server designed to control Moku devices. It provides device discovery, connection management with graceful ownership handoff, configuration deployment, routing control, and device metadata queries. This enables safe, structured interactions with Moku hardware from automation scripts, conversational agents, or CLIs.

How to use

You interact with the MCP server through an MCP client that communicates via HTTP or a local stdio interface. Use the session model to attach to a specific Moku device, perform actions like deploying configurations or adjusting signal routing, and detach to release ownership when you’re done. The server is designed for safe handoffs between tools or users, so ownership can move from a CLI to a GUI and then to an autonomous agent without leaving the device in an undefined state.

Key capabilities you’ll leverage include discovering available Moku devices on the network, attaching to a device to take ownership, pushing a MokuConfig to the hardware, configuring MCC routing, and querying current device information and slot status. When you finish, detach to release ownership and allow another party to attach without conflict.

How to install

Prerequisites: you need Python installed on your system to run the MCP server. You also have the option to run via the uv tool for enhanced development ergonomics.

Step 1: Install the MCP server package using Python’s package manager. The recommended approach is to install in editable mode to allow local development and testing.

Step 2: Start the MCP server using one of the supported runtime commands.

Run the MCP server via Python or uv

# Run server via stdio (MCP standard)
python -m moku_mcp

# Or with uv for development workflow
uv run python -m moku_mcp

Additional usage notes

For safe device management, you can use a session context manager in your automation code. The session ensures the device is automatically connected on entry and released on exit or error.

Configuration and best practices

The MCP server supports a set of tools to discover, attach, configure, and query Moku devices. Use attach to take ownership of a device, push_config to deploy a MokuConfig, set_routing to adjust MCC connections, and get_device_info/get_config/list_slots to inspect the current state.

Troubleshooting

If you encounter issues with device discovery, ensure your network allows zeroconf/mDNS service announcements. If ownership conflicts occur, verify the current owner and detach any stale sessions before retrying an attach.

Available tools

discover_mokus

Discover Moku devices on network via zeroconf. Returns a list of devices with IP, name, and serial number.

attach_moku

Connect to a Moku device and assume ownership. Accepts a device_id such as IP, name, or serial.

release_moku

Disconnect from the device and release ownership.

push_config

Deploy a MokuConfig to the connected device. Accepts a serialized configuration as a dictionary.

get_config

Retrieve the current device configuration as a dictionary.

set_routing

Configure MCC signal routing by supplying a list of connection mappings.

get_device_info

Query device metadata such as name, serial, IP, and platform type.

list_slots

List configured instrument slots and their current state.

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