Uses Pydantic models for type-safe configuration validation and data modeling when controlling Moku devices
moku-mcp
Model Context Protocol (MCP) server for Moku device control.
Overview
This MCP server provides LLM-friendly tools for controlling Moku devices:
Device Discovery: Find Moku devices on the network
Connection Management: Attach/detach with graceful ownership handoff
Configuration Deployment: Push
MokuConfigmodels to hardwareRouting Control: Configure MCC signal routing
Metadata Queries: Get device info and slot status
Architecture
Session Model: Stateful connection management
attach(device_id)→ Connect and maintain ownershipdetach()→ Release ownership (allows iPad/CLI handoff)
Graceful Handoff: Supports common workflow where ownership moves between:
Machine A (CLI) → iPad (GUI) → Machine B (LLM) → ...
MokuConfig-Driven: Uses moku-models package for type-safe configuration.
Installation
MCP Tools
1. discover_mokus()
Discover Moku devices on network via zeroconf.
Returns: List of devices with IP, name, serial number
2. attach_moku(device_id)
Connect to Moku device and assume ownership.
Args:
device_id(str): IP address, device name, or serial number
Returns: Connection status and device metadata
3. release_moku()
Disconnect and release ownership.
Returns: Disconnect status
4. push_config(config)
Deploy MokuConfig to connected device.
Args:
config(dict): MokuConfig serialized as dictionary
Returns: Deployment status
Example:
5. get_config()
Retrieve current device configuration.
Returns: MokuConfig as dict
6. set_routing(connections)
Configure MCC signal routing.
Args:
connections(list): List of MokuConnection dicts
Example:
7. get_device_info()
Query device metadata.
Returns: Dict with name, serial, IP, platform type
8. list_slots()
List configured instrument slots.
Returns: Dict of slot numbers to instrument info
Implementation Status
🚧 Skeleton Only - See IMPLEMENTATION_GUIDE.md for implementation details.
All tool methods currently raise NotImplementedError with references to the implementation guide.
Development
Dependencies
1st Party:
moku-models- Pydantic models for Moku configurationmoku- Official Moku hardware API
3rd Party:
mcp- Model Context Protocol SDKpydantic- Data validationloguru- Logging
Next Steps
See IMPLEMENTATION_GUIDE.md for:
MCP SDK setup
Tool implementation patterns
Testing strategies
Deployment workflows
License
MIT License - see LICENSE file for details.
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Enables LLM control of Moku devices through network discovery, connection management, configuration deployment, and signal routing. Supports graceful ownership handoff between different interfaces (CLI, iPad, LLM) for seamless workflow integration.