synthlab-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| parse_patchA | Parse a Pure Data .pd file and return a structured description of its objects, connections, and signal flow. |
| generate_patchA | Generate a valid Pure Data .pd file from a JSON specification of nodes and connections. The complete .pd file content is ALWAYS returned in the response — present it directly to the user. STOP after presenting the result. Do NOT run bash, ls, mkdir, cat, cp, mv, or ANY file/shell operations after this tool. For message boxes (type: 'msg'), use '\,' as a separate arg for multi-segment messages (e.g. ADSR: args: [0, '\,', 1, 10, '\,', 0.7, 100, '\,', 0, 200]). Bare commas are auto-escaped. |
| validate_patchA | Validate a Pure Data .pd file for structural issues: broken connections, orphan objects, unknown objects, missing DSP sinks. |
| analyze_patchA | Analyze a Pure Data .pd file: object counts by category, signal flow graph, DSP chain detection, complexity scoring, and validation. |
| create_from_templateA | Generate a Pd patch from a parameterized template. Available: synth, sequencer, reverb, mixer, drum-machine, clock, chaos, maths, turing-machine, granular, bridge. Each template accepts specific params (e.g. synth: waveform, filter; sequencer: steps, bpm; drum-machine: voices, bpm, morphX, morphY). The complete .pd file content is ALWAYS returned in the response — present it directly to the user. STOP after presenting the result. Do NOT run bash, ls, mkdir, cat, cp, mv, or ANY file/shell operations after this tool. Do NOT try to save or verify files — everything is already handled. Just show the content to the user. |
| create_rackA | Generate an entire Eurorack-style rack of Pd patches at once. Takes an array of module specs (template + params) and generates: individual .pd files for each module + a combined _rack.pd with all modules side-by-side. Use wiring to connect modules via throw~/catch~ (audio) or send/receive (control) buses. Add controller config to map a MIDI controller (e.g. K2) to rack parameters — generates _controller.pd (MIDI routing) and _k2_config.json (LED feedback). Parameters auto-map by category (faders→volume, pots→filter) or use custom mappings. If outputDir is provided, files are written to disk automatically by the server. IMPORTANT: The complete .pd content is ALWAYS returned in the response — present it directly to the user. STOP after presenting the result. Do NOT run bash, ls, mkdir, cat, cp, mv, or ANY file/shell operations after this tool. Do NOT try to save, verify, or create files — everything is already handled. Just show the content to the user. |
| send_messageA | Send a control message to a running Pure Data instance via OSC (UDP) or FUDI (TCP). Requires a bridge patch loaded in Pd — use create_from_template with template 'bridge' to generate one. Common addresses: /pd/tempo , /pd/note , /pd/cc <cc#> , /pd/bang, /pd/param/ . The confirmation is ALWAYS returned in the response. Do NOT attempt additional file operations after calling this tool. |
| list_vcv_modulesA | List available VCV Rack modules and their ports/params for a given plugin. Call with just a plugin name to see all module slugs, tags, and HP widths. Call with plugin + module to see exact input/output port names and param names for cabling. ALWAYS call this BEFORE generate_vcv to look up correct module slugs and port names — do NOT guess. Supported plugins: Core, Fundamental, AudibleInstruments (aliases: mi, mutable), Befaco, Bogaudio (bg), CountModula, ImpromptuModular (impromptu), Valley, Stoermelder PackOne (stoermelder, p1), ML Modules (ml), VCV Recorder (recorder), Prism, GlueTheGiant (gtg), OrangeLine, StudioSixPlusOne (s6). |
| generate_vcvA | Generate a VCV Rack .vcv patch file from a JSON specification of modules and cables. Uses a registry of module port/param IDs scraped from C++ source. IMPORTANT: Use list_vcv_modules first to look up exact module slugs and port names — do NOT guess. Supported plugins (15): Core, Fundamental, AudibleInstruments (Mutable Instruments), Befaco, Bogaudio, CountModula, ImpromptuModular, Valley, Stoermelder PackOne, ML Modules, VCV Recorder, Prism, GlueTheGiant, OrangeLine, StudioSixPlusOne. The complete .vcv file content is ALWAYS returned in the response — present it directly to the user. STOP after presenting the result. Do NOT run bash, ls, mkdir, cat, cp, mv, or ANY file/shell operations after this tool. Do NOT try to save or verify files — everything is already handled. Just show the content to the user. |
| compose_patchA | Compose a complete musical Pd patch from a high-level song description. Before calling this tool, ask the user about genre, mood, tempo, key, instruments, and effects — use the song_analysis prompt as a guide. Only call this tool once you have enough info. Genres: ambient, techno, house, dnb, experimental, idm, minimal, drone, noise. Moods: dark, bright, aggressive, chill, ethereal, melancholic, energetic. Instrument roles: lead, bass, pad, drums, arpeggio, sequence, texture, modulator. Each role auto-selects appropriate templates (e.g. lead → sequencer + synth, texture → noise synth + granular). IMPORTANT: The complete .pd content is ALWAYS returned in the response — present it directly to the user as code blocks. STOP after presenting the result. Do NOT run bash, ls, mkdir, cat, cp, mv, or ANY file/shell operations after this tool. Do NOT try to save, create, write, or verify files — NEVER use artifacts or file downloads. Everything is already in the response text. Just show the content to the user as-is. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| song_analysis | Guided conversation to design a song and generate a Pd patch. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/j0KZ/synthlab-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server