- Home
- MCP servers
- Moku
Moku
- 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.