Sports
Derive your running Critical Power (CP) and W′ (anaerobic work capacity) from a 3-minute all-out test, power–time trial pairs, or distance–time trials, then replay a Stryd power session (.fit/.tcx/CSV) second by second: W′bal depletion and recovery timeline under the Skiba 2012 integral model and the Froncioni/Skiba/Clarke differential model, time-to-exhaustion forecasts, Stryd zone distribution (Easy/Moderate/Threshold/Interval/Repetition) and a dual-panel power/W′bal chart.
Call this tool from your code in three languages.
# 1) Request a presigned URL → returns { uploadUrl, storageKey }
curl -X POST 'http://127.0.0.1:3003/api/upload/presign/stryd-running-power-critical-power-and-w-prime-bal-reconstructor' \
-H 'Content-Type: application/json' \
-d '{"filename":"sessionFile.ext","contentType":"application/octet-stream","size":12345}'
# 2) PUT the file bytes directly to the presigned uploadUrl
curl -X PUT '<presigned uploadUrl>' \
--data-binary @/path/to/file.ext
# 3) Call the tool, passing the returned storageKey for each file field
curl -X POST 'http://127.0.0.1:3003/en/api/tools/stryd-running-power-critical-power-and-w-prime-bal-reconstructor' \
-F 'testMode=3min-allout' \
-F 'testData=0,430
5,428
10,425
15,420
20,415
25,410
30,405
35,400
40,395
45,390
50,385
55,380
60,375
65,370
70,365
75,360
80,355
85,350
90,345
95,340
100,335
105,332
110,330
115,328
120,325
125,322
130,320
135,318
140,315
145,312
150,310
155,308
160,306
165,304
170,302
175,301' \
-F 'sessionData=' \
-F 'sessionFile=uploads/2026/01/01/your-tool-1700000000000-abc123.ext' \
-F 'wbalModel=both' \
-F 'bodyWeight=70' \
-F 'efficiency=0.24'Send a POST request with your inputs as JSON. File parameters require a separate upload first.
POST http://127.0.0.1:3003/en/api/tools/stryd-running-power-critical-power-and-w-prime-bal-reconstructor| Name | Type | Required | Description |
|---|---|---|---|
| testMode | select | No | — |
| testData | textarea | Yes | — |
| sessionData | textarea | No | — |
| sessionFile | fileupload required | No | — |
| wbalModel | select | No | — |
| bodyWeight | number | No | — |
| efficiency | number | No | — |
HTML result
{
"result": "<div>Processed HTML content</div>",
"error": "Error message (optional)",
"message": "Notification message (optional)",
"metadata": {
"key": "value"
}
}Add this tool to your Model Context Protocol server so AI agents can list and call it.
Add this block to your MCP client configuration:
{
"mcpServers": {
"elysiatools-stryd-running-power-critical-power-and-w-prime-bal-reconstructor": {
"name": "stryd-running-power-critical-power-and-w-prime-bal-reconstructor",
"description": "Derive your running Critical Power (CP) and W′ (anaerobic work capacity) from a 3-minute all-out test, power–time trial pairs, or distance–time trials, then replay a Stryd power session (.fit/.tcx/CSV) second by second: W′bal depletion and recovery timeline under the Skiba 2012 integral model and the Froncioni/Skiba/Clarke differential model, time-to-exhaustion forecasts, Stryd zone distribution (Easy/Moderate/Threshold/Interval/Repetition) and a dual-panel power/W′bal chart.",
"baseUrl": "http://127.0.0.1:3003/mcp/sse?toolId=stryd-running-power-critical-power-and-w-prime-bal-reconstructor",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}After connecting to the SSE endpoint, list the exposed tools:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoke the tool by its id, passing arguments built from its parameters:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "stryd-running-power-critical-power-and-w-prime-bal-reconstructor",
"arguments": {
"testMode": "3min-allout",
"testData": "0,430\n5,428\n10,425\n15,420\n20,415\n25,410\n30,405\n35,400\n40,395\n45,390\n50,385\n55,380\n60,375\n65,370\n70,365\n75,360\n80,355\n85,350\n90,345\n95,340\n100,335\n105,332\n110,330\n115,328\n120,325\n125,322\n130,320\n135,318\n140,315\n145,312\n150,310\n155,308\n160,306\n165,304\n170,302\n175,301",
"sessionData": "",
"sessionFile": "https://example.com/file.ext",
"wbalModel": "both",
"bodyWeight": 70,
"efficiency": 0.24
}
}
}Questions or issues? Contact [email protected]