Fitness
Fartlek & Interval Workout Builder
Builds a ready-to-run interval or fartlek session card from one anchor number: warm-up + reps × work + recoveries + cool-down with per-segment pace, power or split targets (Daniels zones from a 5K time, Coggan %FTP zones, or erg splits from a 2K time), work:rest ratio, CR-10 RPE distribution, and a polarized-training intensity-mix check.
Quick start
Call this tool from your code in three languages.
curl -X POST 'https://api.elysiatools.com/en/api/tools/fartlek-interval-workout-builder' \
-H 'Content-Type: application/json' \
-d '{"sport":"run","sessionFocus":"vo2max","targetMode":"duration","targetValue":50,"anchorValue":25,"warmupMin":10,"cooldownMin":10,"workMin":0,"reps":0,"recoveryMin":0}'API reference
Send a POST request with your inputs as JSON. File parameters require a separate upload first.
Endpoint
POST https://api.elysiatools.com/en/api/tools/fartlek-interval-workout-builderParameters
| Name | Type | Required | Description |
|---|---|---|---|
| sport | select | Yes | — |
| sessionFocus | select | Yes | — |
| targetMode | select | Yes | — |
| targetValue | number | Yes | — |
| anchorValue | number | Yes | — |
| warmupMin |
MCP integration
Add this tool to your Model Context Protocol server so AI agents can list and call it.
Server configuration
Add this block to your MCP client configuration:
{
"mcpServers": {
"elysiatools-fartlek-interval-workout-builder": {
"name": "fartlek-interval-workout-builder",
"description": "Builds a ready-to-run interval or fartlek session card from one anchor number: warm-up + reps × work + recoveries + cool-down with per-segment pace, power or split targets (Daniels zones from a 5K time, Coggan %FTP zones, or erg splits from a 2K time), work:rest ratio, CR-10 RPE distribution, and a polarized-training intensity-mix check.",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=fartlek-interval-workout-builder",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}List available tools
After connecting to the SSE endpoint, list the exposed tools:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Call this tool
Invoke the tool by its id, passing arguments built from its parameters:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "fartlek-interval-workout-builder",
"arguments": {
"sport": "run",
"sessionFocus": "vo2max",
"targetMode": "duration",
"targetValue": 50,
"anchorValue": 25,
"warmupMin": 10,
"cooldownMin": 10,
"workMin": 0,
"reps": 0,
"recoveryMin": 0
}
}
}