← WebMCP Directory

webmcp-synth-creator.vercel.app

webmcp-synth-creator.vercel.app

live Unverified (seed import) Media & Personal 15 tools imperative implementation

A browser wavetable synthesizer with transactional WebMCP editing and Vital preset export.

First seen 2026-11-05 · Last seen 2026-11-05 · Source: webmcp.com

Answer 5 · Act 10 · Transact 0 · Score: Not yet scored

Tool inspector

apply_patch

act imperative

The V1 operation vocabulary. Arguments are normalized 0..1 unless noted; right-hand sides are PatchState values in musical units. ### tone { op: "tone", brightness: 0..1, keep_air?: bool, resonance?: 0..1 } filter.enabled = true filter.type = "lowpass" filter.slope = keep_air ? 12 : 24 filter.cutoffHz = cutoffHz(0.12 + brightness*0.80 + (keep_air ? 0.06 : 0)) if resonance given: filter.resonance = resonance ### articulation { op: "articulation", kind: "pluck" | "stab" | "percussive" | "keys" | "bell" | "pad" | "swell" | "sustain" | "reverse", speed?: 0..1 } Values are seconds; sustainLevel and decayCurve are unscaled. kind delay attack hold decay sustain release decayCurve pluck 0 0.00 0 0.18 0.00 0.12 -0.6 stab 0 0.00 0 0.10 0.00 0.06 -0.7 percussive 0 0.00 0 0.06 0.00 0.04 -0.8 keys 0 0.00 0 0.35 0.45 0.25 -0.5 bell 0 0.00 0 0.55 0.00 0.50 -0.8 pad 0 0.45 0 0.40 0.85 0.62 0.0 swell 0 0.72 0 0.30 0.90 0.70 +0.3 sustain 0 0.02 0 0.10 1.00 0.15 0.0 reverse 0 0.85 0.05 0.05 0.00 0.02 +0.5 writes ampEnvelope.{delaySeconds,attackSeconds,holdSeconds,decaySeconds,sustainLevel,releaseSeconds,decayCurve} speed (default 0.5): t' = t * (0.25 + speed*1.5), applied to delay/attack/hold/decay/release only ### timbre { op: "timbre", character: "pure" | "warm" | "bright" | "hollow" | "vocal" | "metallic" | "glassy" | "harsh" | "digital", position?: 0..1, target?: 1 | 2 | 3 | "both" | "all" } target defaults to 1; "both" = oscillators 1-2; "all" = oscillators 1-3. character wavetableId defaultPosition: pure sine 0.00; warm warm-saw 0.35; bright airy 0.70; hollow soft-square 0.30; vocal vocal 0.45; metallic metallic 0.55; glassy glass 0.40; harsh harsh 0.75; digital digital 0.50. Also sets oscillators.N.enabled = true. ### width { op: "width", amount: 0..1, method?: "unison" | "pan" | "stereo_fx" | "auto" } auto (default): unison below 0.6; unison + stereo_fx at or above 0.6 unison: oscillators.0.unisonVoices = clamp(round(1 + amount*8), 1, 8) oscillators.0.unisonDetune = amount*0.…

Input schema

PropertyTypeRequiredDescription
reason string yes Concise musical intent for this one transaction.
changes array yes —
Raw JSON schema
{
  "type": "object",
  "examples": [
    {
      "reason": "Make the held patch darker",
      "changes": [
        {
          "path": "filter.cutoffHz",
          "value": 3200
        }
      ]
    }
  ],
  "properties": {
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 500,
      "description": "Concise musical intent for this one transaction."
    },
    "changes": {
      "type": "array",
      "minItems": 1,
      "maxItems": 32,
      "items": {
        "oneOf": [
          {
            "type": "object",
            "properties": {
              "op": {
                "type": "string",
                "const": "tone"
              },
              "brightness": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "keep_air": {
                "type": "boolean"
              },
              "resonance": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              }
            },
            "required": [
              "op",
              "brightness"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "type": "string",
                "const": "articulation"
              },
              "kind": {
                "type": "string",
                "enum": [
                  "pluck",
                  "stab",
                  "percussive",
                  "keys",
                  "bell",
                  "pad",
                  "swell",
                  "sustain",
                  "reverse"
                ]
              },
              "speed": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              }
            },
            "required": [
              "op",
              "kind"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "type": "string",
                "const": "timbre"
              },
              "character": {
                "type": "string",
                "enum": [
                  "pure",
                  "warm",
                  "bright",
                  "hollow",
                  "vocal",
                  "metallic",
                  "glassy",
                  "harsh",
                  "digital"
                ]
              },
              "position": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "target": {
                "enum": [
                  1,
                  2,
                  3,
                  "both",
                  "all"
                ]
              }
            },
            "required": [
              "op",
              "character"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "type": "string",
                "const": "width"
              },
              "amount": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "method": {
                "type": "string",
                "enum": [
                  "unison",
                  "pan",
                  "stereo_fx",
                  "auto"
                ]
              }
            },
            "required": [
              "op",
              "amount"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "type": "string",
                "const": "space"
              },
              "amount": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "size": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "delay_amount": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "predelay": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              }
            },
            "required": [
              "op",
              "amount"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "type": "string",
                "const": "drive"
              },
              "amount": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "character": {
                "type": "string",
                "enum": [
                  "soft",
                  "hard",
                  "fold",
                  "crush"
                ]
              }
            },
            "required": [
              "op",
              "amount"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "type": "string",
                "const": "movement"
              },
              "amount": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "rate": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "target": {
                "type": "string",
                "enum": [
                  "level",
                  "position",
                  "pitch",
                  "cutoff"
                ]
              },
              "scope": {
                "enum": [
                  "all",
                  1,
                  2,
                  3
                ]
              },
              "shape": {
                "type": "string",
                "enum": [
                  "sine",
                  "triangle",
                  "ramp_up",
                  "ramp_down",
                  "random",
                  "smooth_random"
                ]
              }
            },
            "required": [
              "op",
              "amount"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "type": "string",
                "const": "gate"
              },
              "pattern": {
                "type": "string",
                "enum": [
                  "even_8",
                  "even_16",
                  "offbeat",
                  "long_short",
                  "short_long",
                  "triplet",
                  "dotted",
                  "swung",
                  "stutter",
                  "none"
                ]
              },
              "division": {
                "type": "string",
                "enum": [
                  "1/1",
                  "1/2",
                  "1/4",
                  "1/8",
                  "1/8T",
                  "1/16",
                  "1/16T",
                  "1/32",
                  "1/64"
                ]
              },
              "depth": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "smoothing": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "target": {
                "type": "string",
                "enum": [
                  "level",
                  "position",
                  "pitch",
                  "cutoff"
                ]
              },
              "scope": {
                "enum": [
                  "all",
                  1,
                  2,
                  3
                ]
              }
            },
            "required": [
              "op",
              "pattern"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "type": "string",
                "const": "balance"
              },
              "osc1": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "osc2": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "osc3": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              }
            },
            "required": [
              "op"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "type": "string",
                "const": "layer"
              },
              "role": {
                "type": "string",
                "enum": [
                  "sub",
                  "octave_up",
                  "fifth",
                  "unison_detune",
                  "none"
                ]
              },
              "level": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "wavetable": {
                "type": "string",
                "minLength": 1
              }
            },
            "required": [
              "op",
              "role"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "type": "string",
                "const": "pitch"
              },
              "octave": {
                "type": "integer",
                "minimum": -3,
                "maximum": 3
              },
              "semitones": {
                "type": "integer",
                "minimum": -12,
                "maximum": 12
              },
              "glide": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "mono": {
                "type": "boolean"
              },
              "legato": {
                "type": "boolean"
              }
            },
            "required": [
              "op"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "op": {
                "type": "string",
                "const": "response"
              },
              "velocity_to_level": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "velocity_to_cutoff": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              },
              "keytrack": {
                "type": "number",
                "minimum": 0,
                "maximum": 1
              }
            },
            "required": [
              "op"
            ],
            "additionalProperties": false
          },
          {
            "type": "object",
            "properties": {
              "path": {
                "type": "string",
                "enum": [
                  "metadata.name",
                  "metadata.category",
                  "metadata.description",
                  "metadata.tags",
                  "oscillators.0.enabled",
                  "oscillators.0.wavetableId",
                  "oscillators.0.wavetablePosition",
                  "oscillators.0.level",
                  "oscillators.0.transposeSemitones",
                  "oscillators.0.fineTuneCents",
                  "oscillators.0.unisonVoices",
                  "oscillators.0.unisonDetune",
                  "oscillators.0.stereoSpread",
                  "oscillators.0.randomPhase",
                  "oscillators.0.pan",
                  "oscillators.1.enabled",
                  "oscillators.1.wavetableId",
                  "oscillators.1.wavetablePosition",
                  "oscillators.1.level",
                  "oscillators.1.transposeSemitones",
                  "oscillators.1.fineTuneCents",
                  "oscillators.1.unisonVoices",
                  "oscillators.1.unisonDetune",
                  "oscillators.1.stereoSpread",
                  "oscillators.1.randomPhase",
                  "oscillators.1.pan",
                  "oscillators.2.enabled",
                  "oscillators.2.wavetableId",
                  "oscillators.2.wavetablePosition",
                  "oscillators.2.level",
                  "oscillators.2.transposeSemitones",
                  "oscillators.2.fineTuneCents",
                  "oscillators.2.unisonVoices",
                  "oscillators.2.unisonDetune",
                  "oscillators.2.stereoSpread",
                  "oscillators.2.randomPhase",
                  "oscillators.2.pan",
                  "ampEnvelope.delaySeconds",
                  "ampEnvelope.attackSeconds",
                  "ampEnvelope.holdSeconds",
                  "ampEnvelope.decaySeconds",
                  "ampEnvelope.sustainLevel",
                  "ampEnvelope.releaseSeconds",
                  "ampEnvelope.attackCurve",
                  "ampEnvelope.decayCurve",
                  "ampEnvelope.releaseCurve",
                  "modEnvelope.delaySeconds",
                  "modEnvelope.attackSeconds",
                  "modEnvelope.holdSeconds",
                  "modEnvelope.decaySeconds",
                  "modEnvelope.sustainLevel",
                  "modEnvelope.releaseSeconds",
                  "modEnvelope.attackCurve",
                  "modEnvelope.decayCurve",
                  "modEnvelope.releaseCurve",
                  "filter.enabled",
                  "filter.type",
                  "filter.cutoffHz",
                  "filter.resonance",
                  "filter.slope",
                  "filter.drive",
                  "filter.keytrack",
                  "filter.velocityToCutoff",
                  "lfo1.enabled",
                  "lfo1.points",
                  "lfo1.rate",
                  "lfo1.phase",
                  "lfo1.smooth",
                  "lfo1.smoothing",
                  "lfo1.target",
                  "lfo1.scope",
                  "lfo1.depth",
                  "lfo2.enabled",
                  "lfo2.points",
                  "lfo2.rate",
                  "lfo2.phase",
                  "lfo2.smooth",
                  "lfo2.smoothing",
                  "lfo2.target",
                  "lfo2.scope",
                  "lfo2.depth",
                  "voice.polyphony",
                  "voice.legato",
                  "voice.glideSeconds",
                  "voice.velocitySensitivity",
                  "voice.transposeSemitones",
                  "effects.order",
                  "effects.distortion.enabled",
                  "effects.distortion.type",
                  "effects.distortion.drive",
                  "effects.distortion.mix",
                  "effects.compressor.enabled",
                  "effects.compressor.bands",
                  "effects.compressor.amount",
                  "effects.compressor.attack",
                  "effects.compressor.release",
                  "effects.compressor.mix",
                  "effects.chorus.enabled",
                  "effects.chorus.voices",
                  "effects.chorus.rate",
                  "effects.chorus.depth",
                  "effects.chorus.feedback",
                  "effects.chorus.mix",
                  "effects.delay.enabled",
                  "effects.delay.mode",
                  "effects.delay.division",
                  "effects.delay.timeSeconds",
                  "effects.delay.feedback",
                  "effects.delay.mix",
                  "effects.reverb.enabled",
                  "effects.reverb.mix",
                  "effects.reverb.decaySeconds",
                  "effects.reverb.size",
                  "effects.reverb.predelay",
                  "effects.reverb.lowCut",
                  "effects.reverb.highCut"
                ]
              },
              "value": {
                "description": "JSON value for the selected path. The path-specific type and bounds are validated before commit.",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "type": "number"
                  },
                  {
                    "type": "boolean"
                  },
                  {
                    "type": "array"
                  },
                  {
                    "type": "object"
                  }
                ]
              }
            },
            "required": [
              "path",
              "value"
            ],
            "additionalProperties": false
          }
        ],
        "examples": [
          {
            "path": "filter.cutoffHz",
            "value": 3200
          }
        ]
      }
    }
  },
  "required": [
    "reason",
    "changes"
  ],
  "additionalProperties": false
}

Similar websites

wfsim.app

wfsim.app

A Warframe calculator that simulates the fight instead of estimating it — builder, simulator, optimizer. Every formula cites its source, and the golden tests ar…

live Unverified Media & Personal
101 tools A12 / Act89 / T0 Not yet scored Seen 2026-11-05
enemies_targets_list enemies_target_new enemies_target_copy enemies_target_open enemies_target_set
Inspect tools
commonplace-webmcp.vercel.app

commonplace-webmcp.vercel.app

Commonplace is an editable social reading space built for people and their browser agents.

live Unverified Media & Personal Transact tools
89 tools A10 / Act77 / T2 Not yet scored Seen 2026-11-05
commonplace.get_page_state commonplace_get_page_state commonplace.get_reading_list commonplace_get_reading_list commonplace.get_profile
Inspect tools
pixelforge-studio.appcaster.chatgpt.site

pixelforge-studio.appcaster.chatgpt.site

A professional browser pixel-art editor for drawing, frame animation, palettes, sprite sheets, GIF export, and WebMCP automation.

live Unverified Media & Personal Transact tools
88 tools A12 / Act70 / T6 Not yet scored Seen 2026-11-05
plan_text_creation get_text_creation_status create_from_text claim_text_creation update_text_creation
Inspect tools
pixelite.taskcraft.site

pixelite.taskcraft.site

Pixelite

live Unverified Media & Personal Transact tools
83 tools A4 / Act78 / T1 Not yet scored Seen 2026-11-05
get_document_info list_layers get_active_layer get_selection_info new_document
Inspect tools

Related on Influzer