API & MCP
Everything a person can do on Tempo Ramp Planner (Speed Trainer), a program or AI agent can do with the same inputs and get the identical result.
HTTP API
POST https://tonegridtemporamp.usefulweb.app/api/v1/calculate– run Tempo Ramp Planner (Speed Trainer)GET https://tonegridtemporamp.usefulweb.app/api/v1/tool– inputs, output schema, examples- OpenAPI 3.1: /openapi.json · /openapi.yaml
- Errors:
application/problem+json;422includes per-fielderrors.
Tempo Ramp Planner (Speed Trainer)
Build a piece up to speed step by step: choose a start tempo, a target, the step in BPM and how many bars each tempo lasts. You get the plan with the time each stage starts, the total practice time, a song map for the Tonegrid metronome and the whole ramp as a MIDI file and a WAV click track. Works for slowing down too.
| Field | Type | Default | Description |
|---|---|---|---|
start | number | 80 | Start tempo (BPM) |
target | number | 120 | Target tempo (BPM) |
step | number | 5 | Change per stage (BPM) |
every | integer | 4 | Bars per stage |
meter | text | "4/4" | Meter |
groups | text | — | Accent groups (optional). Numbers joined by + that add up to the beats per bar; empty = accent only on beat 1. |
sub | select (1, 2, 3, 4) | "1" | Subdivision |
hold | integer | 4 | Extra bars at the target |
sound | select (wood, beep, soft) | "wood" | Click sound |
countIn | integer | 1 | Count-in bars |
audio | boolean | true | Render a WAV click track as well |
Example request
From 80 to 120 BPM, +5 every 4 bars
curl -X POST https://tonegridtemporamp.usefulweb.app/api/v1/calculate -H 'content-type: application/json' -d '{"start":80,"target":120,"step":5,"every":4,"meter":"4/4","groups":"","sub":"1","hold":4,"sound":"wood","countIn":1,"audio":true}'
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://tonegridtemporamp.usefulweb.app/mcp– protocol revisions 2026-07-28 (stateless) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize handshake). - Tools:
tonegrid_tempo_ramp - Local stdio connector:
node src/mcp-stdio.ts --tool=tonegrid-tempo-ramp
{
"mcpServers": {
"tonegrid-tempo-ramp": { "type": "http", "url": "https://tonegridtemporamp.usefulweb.app/mcp" }
}
}