MPC to control Moog Sub37 Monophonic Synthesizer
Project description
Moog Sub37 MCP
A Model Context Protocol (MCP) server that allows Claude and other MCP-compatible LLMs to interact with and control Moog Sub37 Monophonic Synthesizer via MIDI.
A web-based version of this MCP server can be found at senthgenie.com. (You can ask for API key for free on discord)
If you want help or would like to contribute to development, please join our Discord community.
Prompt examples
"Use Sub37 MCP to design an evolving dark pad."
"Use Sub37 MCP to design a Dark thick bass line."
Features
- Complete MIDI control interface for the Moog Sub37 Monophonic Synthesizer
Demo
Watch Claude control the Moog Sub37 Monophonic Synthesizer in real-time:
Installation and Usage
Prerequisites
- Python 3.10+
- uv for package management
- An Moog Sub37 Monophonic Synthesizer connected via USB
- Claude Desktop app (for full integration)
Installing Dependencies
uv is mandatory for this project so start by installing it:
For macOS:
brew install uv
For Windows:
Follow the instructions here
3. Installing with Claude Desktop
To use with Claude AI, add the MCP server configuration in Claude Desktop:
⚠️ Important: You don't need to clone the repository or install the packages, all you need is to add the MCP server configuration to your claude_desktop_config.json file the MPC server is already published on pypi.
Go to Claude > Settings > Developer > Edit Config > claude_desktop_config.json to include the following:
{
"mcpServers": {
"Sub37": {
"command": "uvx",
"args": ["moog-sub37-mcp"]
}
}
}
Architecture
- Base Controllers: Common functionality abstracted into base classes
- Specialized Controllers: Dedicated controllers for each synth engine and module
- MCP Tools: Direct interface between LLMs and the synth's parameters
- MIDI Interface: Reliable communication with Sub37 hardware
Implementation Details
This library uses:
- FastMCP: For exposing synth controls to LLMs
- Pydantic models: For data validation, serialization, and type safety
- mido: For MIDI communication
Use Cases
- Allow Claude and other LLMs to create and modify sounds on the Sub37
- Programmatically control Sub37 parameters for automated sound design
- Bridge between AI-generated music and hardware synthesis
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file moog_sub37_mcp-0.0.2.tar.gz.
File metadata
- Download URL: moog_sub37_mcp-0.0.2.tar.gz
- Upload date:
- Size: 28.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d980314c641345876dcc6f95acc8350a9bab3ff828d4b6c502d2dd3f07baa765
|
|
| MD5 |
103d7175dc4fd635adb241b234424ea6
|
|
| BLAKE2b-256 |
8a0e6314d491e12f0e6c8061e5e029ab21c4bf14f3541cbf0353221b4f02171b
|
File details
Details for the file moog_sub37_mcp-0.0.2-py3-none-any.whl.
File metadata
- Download URL: moog_sub37_mcp-0.0.2-py3-none-any.whl
- Upload date:
- Size: 17.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22c96be6b9c639d11382604c3014f56abd4e57f87df5dc9fb43555f5a8683551
|
|
| MD5 |
cb0a8420a3325b001d5406ed88b10fbb
|
|
| BLAKE2b-256 |
f9e4d41ae9c54d5b5836bac5c88753439dc67d9dbb2aed6b938776d6ed433ed4
|