API & MCP
Everything a person can do on Membrane Sound Lab, a program or AI agent can do with the same inputs and get the identical result.
HTTP API
POST https://tonegridmembranelab.usefulweb.app/api/v1/calculate– run Membrane Sound LabGET https://tonegridmembranelab.usefulweb.app/api/v1/tool– inputs, output schema, examples- OpenAPI 3.1: /openapi.json · /openapi.yaml
- Errors:
application/problem+json;422includes per-fielderrors.
Membrane Sound Lab
Explore a rectangular membrane with spatial mode plots, interactive strike positions and configurable synthesized WAV samples.
| Field | Type | Default | Description |
|---|---|---|---|
width | number | 1 | Relative width |
height | number | 1.4 | Relative height |
strikeX | number | 0.35 | Strike X (0–1) |
strikeY | number | 0.4 | Strike Y (0–1) |
pitch | number | 130 | Fundamental frequency (Hz) |
seconds | number | 2 | Sample duration (seconds) |
decay | number | 2 | Decay rate |
Example request
Try an example
curl -X POST https://tonegridmembranelab.usefulweb.app/api/v1/calculate -H 'content-type: application/json' -d '{}'
Every result contains
inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.
MCP (Model Context Protocol)
- Streamable HTTP endpoint:
https://tonegridmembranelab.usefulweb.app/mcp– protocol revisions 2026-07-28 (stateless) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize handshake). - Tools:
tonegrid_membrane_lab - Local stdio connector:
node src/mcp-stdio.ts --tool=tonegrid-membrane-lab
{
"mcpServers": {
"tonegrid-membrane-lab": { "type": "http", "url": "https://tonegridmembranelab.usefulweb.app/mcp" }
}
}