WaveMind Preset MCP
You can create, inspect, list, delete, and manage WaveMind NAM Universal II presets, and search/inventory your organized NAM/IR capture library.
Create presets with amp, optional pedal, up to 4 cab IRs, and custom parameter values.
List user presets with their amp/pedal/cab slots.
Read a preset's slot file paths and key parameters.
Delete user presets.
List all valid plugin parameter IDs for use in preset creation.
Search the capture library by text, filtered by NAM, IR, or all.
Inventory the library to see NAM categories and IR collections with counts.
Generated presets get built-in defaults: solo off, stereo balance, phase/time alignment, and 90 Hz HPF.
Presets are written to the plugin's User presets folder and appear live without restart.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WaveMind Preset MCPmake a preset named Brown Sound using a Plexi amp and two 4x12 cab IRs"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
WaveMind Preset MCP
A Model Context Protocol server that creates and manages presets for WaveMind NAM Universal II (the free NAM plugin that chains Pedal NAM → Amp NAM → 4 Cabinet IR slots → EQ → FX) by writing the plugin's own preset files directly — no GUI automation, no host DAW tricks.
How it works
WaveMind NAM Universal II stores user presets as plain XML:
%APPDATA%\WaveMind\NAM Universal II\Presets\User\<name>.presetThe root <PARAMETERS> element carries the slot file paths as attributes:
Attribute | Slot |
| Amplifier |
| Pedal |
| Cabinet IR |
plus ~177 <PARAM id="..." value="..."/> children: amp EQ (bass/mid/treble/presence), gate,
IntellEQ, per-slot level/pan/mic/IR-shift/HPF/LPF, delay, reverb, chorus, compressor...
The visible preset name = the file name, and the plugin picks up new/edited/deleted
.preset files live — no restart needed. So an agent (or a script) can generate complete
presets pointing at an organized capture library, and they appear in the plugin instantly.
Related MCP server: u-he-preset-randomizer-mcp
Setup
Install (either way):
# with uv/uvx (recommended - no install step, cached)
uvx wavemind-preset-mcp
# or classic pip
pip install wavemind-preset-mcpCreate the template: open WaveMind NAM Universal II in any DAW, load anything, and save a preset. Then copy that
.presetfile to this repo's folder aswavemind_mcp/plantilla.preset(or pointWAVEMIND_TEMPLATEat it). The template provides the full parameter list. (A placeholder template ships with the package — it has the correct parameter ids but points at dummy paths, so a real one from your plugin is strongly recommended.)(Optional) Organize your library: put your
.namcaptures and.wavIRs in folders and pointWAVEMIND_NAM_DIR/WAVEMIND_IR_DIRat them (used by the search/inventory tools).
MCP configuration
{
"mcpServers": {
"wavemind": {
"command": "uvx",
"args": ["wavemind-preset-mcp"],
"env": {
"WAVEMIND_NAM_DIR": "C:\\Music\\NAMs",
"WAVEMIND_IR_DIR": "C:\\Music\\IRs"
}
}
}
}Tools
Tool | What it does |
| Write a new |
| List user presets with their amp/pedal/cab slots |
| Inspect a preset (slots + key parameters) |
| Delete a preset |
| The full valid parameter catalog from the template |
| Search the organized capture library by text |
| Inventory the library (categories + counts) |
Built-in engineering defaults
Every generated preset gets, unless overridden:
Solo OFF on all 4 cabinet slots (a soloed slot mutes the rest of the chain)
Stereo balance: symmetric L/R pairs (2 cabs), centered main + equal sides (3), or wide pair
centered fillers (4) — so no earpiece ends up silent
Phase/time alignment + 90 Hz HPF on every populated slot (
AlignComp,IRShift, HPF) — blending unaligned IRs causes low-frequency comb filtering (a "wobble"); this kills it
Tips
Documented per-song amp settings for popular records exist on sites like ToneMirror and TonesMatch — use them as the
paramsforcreate_presetinstead of guessing.Remember input calibration: each
.namcapture was taken at a specific input level (often stated in its Tone3000 page). If an amp sounds under/over-distorted, calibrate your interface's input level first.Tone3000 hosts free NAM captures; the download URLs are public and the IDs live in each tone page's payload.
Disclaimer
This is an independent community tool. It is not affiliated with or endorsed by WaveMind, Tone3000, or any plugin vendor. "NAM" refers to the open Neural Amp Modeler format.
Available Tools
7 toolsbuscar_bibliotecaBuscar BibliotecaC
Search the organized capture library. tipo: 'nam', 'ir' or 'all'.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | No | all | |
| texto | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. 'Search' implies a read-only operation, but the description says nothing about result caps, pagination, matching semantics (substring vs. exact), or auth/permission needs. An output schema exists, which covers return shape, but other behavioral traits remain undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the purpose front-loaded and the parameter hint attached directly to it; there is no filler. The only structural weakness is that the cryptic enum values are stated without decoding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be described, but the description still leaves the core concept ('organized capture library'), the meaning of the 'tipo' values, and the relationship to categorias_biblioteca undefined. For a search tool this is not enough for reliable invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the schema declares no enum for 'tipo', so the description does add value by enumerating the accepted values ('nam', 'ir', 'all'). However, it never explains what those abbreviations mean, and 'texto' is left entirely unexplained, so the compensation for the coverage gap is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a verb and a resource ('Search the organized capture library'), so the basic action is identifiable. However, 'organized capture library' is an undefined concept in this tool set, and nothing distinguishes this from the sibling categorias_biblioteca, which presumably also relates to the library.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, no prerequisite or scoping conditions, and no mention of the other library/preset tools in the sibling list. The agent must infer usage entirely from the name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
categorias_bibliotecaCategorias BibliotecaB
Inventory the organized library: NAM categories and IR collections with counts.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are supplied, so the description carries the full burden. "Inventory" implies a read-only enumeration and the phrase "with counts" hints at aggregate return content, but nothing states whether the result is exhaustive, paginated, permission-scoped, or cached. It adds modest behavioral signal but leaves the important traits unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single short sentence with the core action front-loaded and no filler. It is efficient, though the unexplained acronyms cost a little clarity per word spent.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be re-explained, and the input is empty. The remaining gap is conceptual: an agent cannot map "NAM categories" or "IR collections" to the domain without external knowledge, so the definition is not self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline of 4 applies. The description does not need to explain syntax or formats because no input exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Inventory the organized library" gives a specific verb+resource, and it enumerates the contents (categories and collections with counts), which separates it from search-style siblings like buscar_biblioteca. The cryptic acronyms "NAM" and "IR" are never expanded, so part of the resource is opaque to an agent that lacks domain context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no stated prerequisites, and no mention of how this differs from buscar_biblioteca or list_param_ids. An agent must infer from the name alone that this is a browse-and-count tool rather than a search tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_presetCreate PresetA
Create a WaveMind preset (.preset XML written to the User presets folder; the plugin lists it live, no restart).
nombre: visible preset name (becomes the file name). ampli_nam: absolute path to the amplifier .nam capture (AMPLIFIER slot). pedal_nam: absolute path to a pedal .nam capture (PEDALS slot), optional. cab1..cab4: absolute paths to cabinet IR .wav files, optional. params: dict of plugin parameter ids to set (run list_param_ids for the full catalog), e.g. {"gate_active": "1.0", "gateThreshold": "-52.0", "amplifier_bass": "5.5", "intelleq_bite": "2.5"}.
| Name | Required | Description | Default |
|---|---|---|---|
| cab1 | No | ||
| cab2 | No | ||
| cab3 | No | ||
| cab4 | No | ||
| nombre | Yes | ||
| params | No | ||
| ampli_nam | Yes | ||
| pedal_nam | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden; it does disclose the side effect (an XML file written to the User presets folder, picked up live with no restart), which is genuinely useful. It omits other behavior an agent needs, such as what happens on a name collision/overwrite or how path errors surface.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the one-sentence purpose, then a tight per-parameter list with no filler. Slightly dense but every line carries information; only minor trim possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values needn't be described, and the parameter coverage is complete. The remaining gap is mutation semantics (overwrite/duplicate handling and path validation) that a create tool should disclose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate and largely does: it explains nombre (and that it becomes the file name), ampli_nam's slot, pedal_nam's slot, cab1..cab4, and gives a concrete params example with real keys/values plus a pointer to list_param_ids.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Create a WaveMind preset') and immediately clarifies the underlying artifact (a .preset XML written to the User presets folder). This cleanly separates it from siblings like list_presets, read_preset, and delete_preset.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the name and the parameter docs, and it usefully routes the agent to list_param_ids when it needs parameter ids. However, it never states when to prefer this over alternatives or what prerequisites (valid .nam/.wav paths) must hold.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_presetDelete PresetC
Delete a user preset.
| Name | Required | Description | Default |
|---|---|---|---|
| nombre | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It indicates deletion but omits critical details such as permanence, reversibility, required permissions, and side effects. For a destructive tool, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear, front-loaded sentence with no wasted words. It is perhaps overly terse for a destructive operation, but conciseness itself is well-executed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained. However, for a destructive tool with no annotations and an undocumented required parameter, the description is far too incomplete to guide safe and correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not mention the required 'nombre' parameter or explain its meaning. It adds no information beyond the schema's bare property definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Delete') and resource ('user preset'), which clearly separates it from create_preset, list_presets, and read_preset. However, it does not explicitly differentiate itself from siblings or clarify scope beyond the operation name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides no when-to-use guidance, no when-not-to-use conditions, and no mention of alternatives or prerequisites. The agent must infer usage purely from the operation name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_param_idsList Param IdsA
List every valid parameter id from the template (usable in create_preset params).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that it reads from a 'template' and the returned values are valid ids, but doesn't describe return format, potential errors, or permissions. With an output schema present, some return behavior is covered elsewhere.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One succinct sentence, front-loaded with the core action and immediately followed by the relevant use case. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 0 params and an output schema, the description covers the essential purpose and downstream use. It lacks behavioral details like whether the list is static or dynamic, but these are not critical for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are 0 parameters, so no parameter semantics are needed. The baseline for 0 params is 4, and the description doesn't need to add anything.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (List) and resource (parameter ids from the template), and clarifies the valid domain. Distinguishes from siblings like list_presets by naming the exact resource returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical '(usable in create_preset params)' tells the agent the downstream use case, implicitly when to call it. However, it doesn't explicitly state when not to use it or name alternatives like list_presets.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_presetsList PresetsA
List user presets with their amp/pedal/cab slots.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but 'list' clearly conveys read-only semantics and it discloses the shape of the returned data (amp/pedal/cab slots). It omits any mention of auth, pagination, or result limits, which is a real gap given zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Every word (verb, resource, returned fields) earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained in the description. For a parameterless read-only list tool this is nearly sufficient, though a note on scope (all presets vs. paginated) would close the remaining gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the schema fully covers inputs. Baseline 4 applies; there is nothing for the description to clarify beyond what the empty schema already conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (List) and resource (user presets), qualified by the returned content (amp/pedal/cab slots). The bulk 'list' semantics implicitly separate it from the singular read_preset sibling, but no sibling is named explicitly, so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied: 'List user presets' suggests bulk retrieval, which contrasts with read_preset for a single preset. No explicit when-to-use statement, prerequisites, or named alternatives are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_presetRead PresetB
Read a preset: slot file paths and key parameters.
| Name | Required | Description | Default |
|---|---|---|---|
| nombre | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. 'Read' strongly implies a safe, non-mutating operation and the mention of returned content adds useful context, but it says nothing about error behavior when the preset is missing or whether any auth is required. An output schema exists, so return structure need not be explained here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight sentence with the action front-loaded and zero filler. It is efficient, though bordering on under-specified for a tool with an undocumented parameter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return values, so the description needn't explain them. However, with a required parameter left undefined and no usage or failure context, the definition is only minimally complete for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'nombre' has 0% schema description coverage, so the description must compensate — and it does not. It never clarifies whether 'nombre' is a preset name, slot identifier, or file path, leaving the one required input effectively undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Read a preset') and adds what is returned ('slot file paths and key parameters'). This distinguishes it from list_presets and the create/delete siblings, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no alternatives named. An agent must infer that this is the singular counterpart to list_presets, with nothing in the text confirming that or describing prerequisites such as needing an existing preset name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
7 tool updates
v1.0.0- First observed
buscar_biblioteca - First observed
categorias_biblioteca - First observed
create_preset - First observed
delete_preset - First observed
list_param_ids - First observed
list_presets - First observed
read_preset
TDQS
Scored across 7 tools
The four preset tools (list/read/create/delete) target clearly distinct operations, and list_param_ids is a distinct helper for create_preset. The two library tools (buscar_biblioteca search vs categorias_biblioteca inventory) overlap somewhat since both explore the same library, but their purposes are distinguishable.
Five tools follow a clean English verb_noun pattern (list_presets, read_preset, create_preset, delete_preset, list_param_ids), but the two library tools switch to Spanish, and categorias_biblioteca is noun-oriented rather than verb_noun, breaking the pattern.
Seven tools is well-scoped for a preset management server, with each tool covering a distinct preset lifecycle action or a supporting library/parameter lookup.
Create, read, delete, list, and parameter discovery are covered, but there is no update/edit_preset operation, so modifying an existing preset's slots or params is a notable gap. Library browsing and search are present but no cleanup/delete for library entries.
Maintenance
Related MCP Connectors
Control Unreal Engine to browse assets, import content, and manage levels and sequences. Automate…
- mozonicOAuthcom.mozonic
AI mixing and mastering: analyze your mixes, run DSP autofix, render stems, and master tracks.
Universal AI API Orchestrator — 1,554 tools, 96 services. One install.
Create, co-edit, analyze, publish, and export collaborative step-sequencer sessions through MCP.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceBridges AI assistants with Ableton Live, enabling real-time control, offline project analysis, version tracking, and rack/preset parsing for music production workflows.MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to search, generate, and manipulate u-he synth presets through natural language, including browsing libraries, randomizing presets, and merging multiple presets.1436 npm31MIT
- AlicenseNot gradedqualityBmaintenanceLets AI assistants control a NUX MG-30 guitar processor over USB MIDI by picking amp, cab, drive, modulation, delay and reverb models, toggling blocks, and setting knobs by name. It can also read, save, rename, back up and restore presets on the device, and apply whole tone recipes from JSON patch files.77 PyPIMIT
- AlicenseNot gradedqualityCmaintenanceA local stdio MCP server that lets a client list, load, copy, create, rename, and save guitar presets, select and tweak 44 amp/effect models with bypass, set master and channel mixer levels, and drive practice tools like drums, metronome, tuner, and guarded looper controls on a JBL BandBox Trio over Bluetooth. It exposes 21 named tools alongside a browser GUI sharing the same controller, requiring no cloud account, phone, or JBL One app at runtime.MIT