Hyperwave wavetable format lookup, encoder layouts, and float32 mono frame-size calculations.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Calculate packed float32 mono WAV sample count, payload bytes, total bytes, and durations. Pure calculation; no audio rendering or saved data.
Number of frames packed into the WAV
WAV sample-rate header, in Hz
Samples in each single-cycle frame
Calculate packed float32 mono WAV sample count, payload bytes, total bytes, and durations. Pure calculation; no audio rendering or saved data.
| Argument | Type | Description |
|---|---|---|
| frameCount* | integer | Number of frames packed into the WAV |
| sampleRate* | integer | WAV sample-rate header, in Hz |
| samplesPerFrame* | integer | Samples in each single-cycle frame |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"samplesPerFrame",
"frameCount",
"sampleRate"
],
"properties": {
"frameCount": {
"type": "integer",
"maximum": 65536,
"minimum": 1,
"description": "Number of frames packed into the WAV"
},
"sampleRate": {
"type": "integer",
"maximum": 384000,
"minimum": 1,
"description": "WAV sample-rate header, in Hz"
},
"samplesPerFrame": {
"type": "integer",
"maximum": 65536,
"minimum": 2,
"description": "Samples in each single-cycle frame"
}
},
"additionalProperties": false
}Create a restorable version of the current shared preset with a short description. Also use before a substantial experiment. Checkpoints are retained in the shared version history and exported preset. Use action=rename or delete with checkpointId to manage an existing version.
| Argument | Type | Description |
|---|---|---|
| label | string | |
| token* | string | |
| action | string | |
| sessionId* | string | |
| baseRevision* | integer | |
| checkpointId | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sessionId",
"token",
"baseRevision"
],
"properties": {
"label": {
"type": "string",
"default": "Checkpoint",
"maxLength": 120,
"minLength": 1
},
"token": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"action": {
"enum": [
"create",
"rename",
"delete"
],
"type": "string",
"default": "create"
},
"sessionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"checkpointId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}Permanently delete the temporary collaborative workspace. Save or export a preset first; downloaded and normally saved presets remain available.
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| sessionId* | string | |
| baseRevision* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sessionId",
"token",
"baseRevision"
],
"properties": {
"token": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"sessionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}Create a private temporary collaborative Hyperwave workspace, expiring after 24 hours. Returns sessionId, secret token, editorUrl, revision, and state. Share editorUrl with the user to collaborate. Keep token private. Sessions store project state, never chat prompts or analytics. Begin with read_session and edit_session; no account is needed.
| Argument | Type | Description |
|---|---|---|
| name | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"name": {
"type": "string",
"default": "Agent preset",
"maxLength": 100,
"minLength": 1
}
},
"additionalProperties": false
}Discover Hyperwave node types, inputs, numeric controls, graph sources, and complete default node templates. Pass a kind to retrieve details; omit it for the compact inventory. Use these templates and stable ids in edit_session changes.
| Argument | Type | Description |
|---|---|---|
| kind | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"kind": {
"enum": [
"error",
"comment",
"value",
"inspector",
"add",
"subtract",
"multiply",
"divide",
"mix",
"amRm",
"min",
"max",
"pow",
"mod",
"oneMinus",
"sign",
"sqrt",
"exp",
"log",
"floor",
"ceil",
"round",
"trunc",
"greaterThan",
"lessThan",
"greaterOrEqual",
"lessOrEqual",
"equal",
"not",
"and",
"or",
"xor",
"sin",
"cos",
"sinCycle",
"cosCycle",
"tan",
"atan",
"asin",
"acos",
"atan2",
"tanh",
"distortion",
"filter",
"combFilter",
"normalize",
"bipolar",
"unipolar",
"removeBias",
"equalPower",
"sampleRate",
"bitcrush",
"syncWarp",
"formantWarp",
"quantizeWarp",
"bendWarp",
"squeezeWarp",
"pwm",
"abs",
"fract",
"clamp",
"wrap",
"fold",
"phaseShift",
"phaser",
"slew",
"waves",
"noise",
"wavetable",
"additive",
"waveletMultiresolutionSmear",
"curveSqueeze",
"curveIndexRemap",
"toSpectral",
"spectralTilt",
"spectralFilter",
"spectralEq",
"spectralDistortion",
"spectralPhaser",
"spectralNotch",
"spectralLimiter",
"spectralContrast",
"spectralMask",
"spectralCurveMix",
"spectralAdd",
"spectralSubtract",
"spectralMultiply",
"spectralDivide",
"spectralMin",
"spectralMax",
"spectralPow",
"spectralAbs",
"spectralNormalize",
"spectralFract",
"spectralClamp",
"spectralMod",
"spectralSign",
"spectralSqrt",
"spectralExp",
"spectralLog",
"spectralFloor",
"spectralCeil",
"spectralRound",
"spectralTrunc",
"spectralBlurDiffusion",
"spectralResonatorBank",
"spectralPhaseLock",
"spectralParity",
"spectralHarmonicScatter",
"spectralHarmonicRandomizer",
"spectralVocode",
"spectralFormantScale",
"spectralHarmonicStretch",
"spectralInharmonicStretch",
"spectralSmear",
"spectralRandomAmplitudes",
"spectralLowPass",
"spectralHighPass",
"spectralPhaseDisperse",
"spectralShepardTone",
"spectralTimeSkew",
"spectralDataCompress",
"spectralFlanger",
"spectralFrequencyShift",
"toSignal",
"impulseResponse",
"remap",
"waveshaper",
"spectralGraph",
"feedback",
"componentGraph"
],
"type": "string"
}
},
"additionalProperties": false
}Read Hyperwave's actual WAV encoder layout for float32 or pcm16 exports, including format tag, bytes per sample, channel count, and header size.
| Argument | Type | Description |
|---|---|---|
| format* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"format"
],
"properties": {
"format": {
"enum": [
"float32",
"pcm16"
],
"type": "string"
}
},
"additionalProperties": false
}Apply one atomic, undoable batch of changes to the shared preset. Paths are field-name arrays; nodes and connections use stable element ids instead of numeric indices, e.g. [document,graphs,root,nodes,node-id,params,gain]. Use describe_nodes templates when adding nodes. Supply baseRevision from read_session. Independent concurrent changes merge; conflicting fields return SESSION_CONFLICT. Significant agent batches automatically checkpoint the previous state. Never blindly replace the whole document after a conflict.
| Argument | Type | Description |
|---|---|---|
| actor | string | |
| label | string | |
| token* | string | |
| changes* | array | |
| sessionId* | string | |
| checkpoint | boolean | |
| baseRevision* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sessionId",
"token",
"baseRevision",
"changes"
],
"properties": {
"actor": {
"enum": [
"agent",
"user"
],
"type": "string",
"default": "agent"
},
"label": {
"type": "string",
"default": "Agent edit",
"maxLength": 120,
"minLength": 1
},
"token": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"changes": {
"type": "array",
"items": {
"type": "object",
"required": [
"path"
],
"properties": {
"path": {
"type": "array",
"items": {
"type": "string",
"maxLength": 160,
"minLength": 1
},
"maxItems": 24,
"minItems": 1
},
"value": {
"allOf": [
{
"$ref": "#/definitions/__schema0"
}
]
},
"remove": {
"type": "boolean"
}
},
"additionalProperties": false
},
"maxItems": 256,
"minItems": 1
},
"sessionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"checkpoint": {
"type": "boolean",
"default": false
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"definitions": {
"__schema0": {
"anyOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/__schema0"
}
},
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"$ref": "#/definitions/__schema0"
}
}
]
}
},
"additionalProperties": false
}Read supported synthesizer import formats, steps, caveats, and primary sources. Filter by exact slug or category.
| Argument | Type | Description |
|---|---|---|
| slug | string | |
| limit | integer | |
| cursor | string | |
| category | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"limit": {
"type": "integer",
"default": 50,
"maximum": 100,
"minimum": 1
},
"cursor": {
"type": "string",
"pattern": "^[A-Za-z0-9_-]+$",
"maxLength": 500,
"minLength": 1
},
"category": {
"enum": [
"software",
"hardware",
"modular"
],
"type": "string"
}
},
"additionalProperties": false
}Read the shared preset, current revision, expiry, and checkpoint summaries. Include checkpoints=true to retrieve restorable states. Always read after a conflict and before editing an old revision.
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| sessionId* | string | |
| checkpoints | boolean |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sessionId",
"token"
],
"properties": {
"token": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"sessionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"checkpoints": {
"type": "boolean",
"default": false
}
},
"additionalProperties": false
}Render an exact shared revision using Hyperwave's shipped WASM engine without an open browser. Returns short-lived preview WAV, wavetable WAV, and editable preset archive links. Rendering is bounded; unsupported nodes are reported rather than silently rendered as passthroughs. Open editorUrl for larger interactive renders.
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| revision* | integer | |
| sessionId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sessionId",
"token",
"revision"
],
"properties": {
"token": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"revision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"sessionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}Restore a checkpoint as a new shared edit. Requires the exact current revision; preserves the current preset as a checkpoint first. Both participants see the restored state.
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| sessionId* | string | |
| baseRevision* | integer | |
| checkpointId* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sessionId",
"token",
"baseRevision",
"checkpointId"
],
"properties": {
"token": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"sessionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"baseRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
},
"checkpointId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
},
"additionalProperties": false
}Wait up to 20 seconds for a newer shared revision. Returns changed=false on timeout; otherwise the current state. Use while collaborating with the user, then inspect their changes before the next edit.
| Argument | Type | Description |
|---|---|---|
| token* | string | |
| sessionId* | string | |
| timeoutMs | integer | |
| afterRevision* | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"sessionId",
"token",
"afterRevision"
],
"properties": {
"token": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"sessionId": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"timeoutMs": {
"type": "integer",
"default": 15000,
"maximum": 20000,
"minimum": 0
},
"afterRevision": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0
}
},
"additionalProperties": false
}