Server definition
- Hash
- sha256:97db87d37ac2c52d9a2f0d3c5474850ca31a7ef1ba6455e24d9d6d1196cfc4d1
- What it is
- What a remote MCP server returned when asked what it offers: 10 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "The 'what changed & why' feed — the engine's coaching decisions (volume bumps, deloads, swaps) in Coach Fly's voice. Use to explain to the athlete why their plan evolved.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"type": "object"
},
"name": "changelog",
"outputSchema": null
},
{
"description": "The athlete's current multi-day program (render-ready).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "get_program",
"outputSchema": null
},
{
"description": "Today's workout: exercises, sets/reps, per-exercise load guidance and concrete target weights, plus nutrition targets and cycle status. Auto-applies the user's readiness check-in (autoregulation) if they've done one today. Call this to see what the athlete should do now.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dayIndex": {
"description": "Which program day (1-based). Defaults to the first day.",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"type": "object"
},
"name": "get_todays_session",
"outputSchema": null
},
{
"description": "Valid alternatives for an exercise — same muscle group, filtered to the athlete's equipment/level/injuries. Use before swap_exercise.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"exerciseId": {
"type": "string"
}
},
"required": [
"exerciseId"
],
"type": "object"
},
"name": "list_swap_options",
"outputSchema": null
},
{
"description": "Record what the athlete actually lifted. The engine runs progression (double-progression, e1RM), detects PRs, and returns per-exercise outcomes (established/progressed/held/deloaded) with next-time targets. Weights are in kg.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dayIndex": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"exercises": {
"description": "Per-exercise completed sets (weights in kg).",
"items": {
"properties": {
"exerciseId": {
"type": "string"
},
"prescribedRepTop": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"sets": {
"items": {
"properties": {
"completed": {
"type": "boolean"
},
"reps": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"rpe": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
]
},
"weightKg": {
"type": "number"
}
},
"required": [
"weightKg",
"reps"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"exerciseId",
"sets"
],
"type": "object"
},
"type": "array"
},
"goal": {
"enum": [
"strength",
"hypertrophy",
"general_fitness",
"fat_loss"
],
"type": "string"
}
},
"required": [
"exercises"
],
"type": "object"
},
"name": "log_workout",
"outputSchema": null
},
{
"description": "A day of meals hitting the athlete's targets, USDA truth-checked (flags feasible=false with a note when macros are approximate). Slow (~15s AI call).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dietaryStyle": {
"type": "string"
},
"exclusions": {
"items": {
"type": "string"
},
"type": "array"
},
"mealsPerDay": {
"maximum": 5,
"minimum": 3,
"type": "integer"
},
"trainingDay": {
"type": "boolean"
}
},
"type": "object"
},
"name": "meal_plan",
"outputSchema": null
},
{
"description": "The athlete's daily calorie + macro targets, computed from body stats, activity, and goal.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "nutrition_targets",
"outputSchema": null
},
{
"description": "Record how the athlete feels today (energy, sleep, soreness — each 1–5). The engine scores readiness and, on the next get_todays_session, reshapes the workout accordingly (reduce volume / reduce intensity / recovery day). Returns the readiness score + modifier.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"energy": {
"description": "1 drained … 5 great",
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"sleep": {
"description": "1 terrible … 5 great",
"maximum": 5,
"minimum": 1,
"type": "integer"
},
"soreness": {
"description": "1 none … 5 very sore",
"maximum": 5,
"minimum": 1,
"type": "integer"
}
},
"required": [
"energy",
"sleep",
"soreness"
],
"type": "object"
},
"name": "readiness_checkin",
"outputSchema": null
},
{
"description": "Rebuild the whole program from the stored profile (~20s AI generation). Use after a profile change or a plateau.",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {},
"type": "object"
},
"name": "regenerate_program",
"outputSchema": null
},
{
"description": "Replace an exercise with a valid same-area alternative. scope 'today' = just this session; scope 'program' = going forward. The new lift starts fresh (day-one calibration).",
"inputSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dayIndex": {
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"exerciseId": {
"type": "string"
},
"scope": {
"description": "Default 'program'.",
"enum": [
"today",
"program"
],
"type": "string"
},
"toExerciseId": {
"type": "string"
}
},
"required": [
"exerciseId",
"toExerciseId"
],
"type": "object"
},
"name": "swap_exercise",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:97db87d37ac2c52d9a2f0d3c5474850ca31a7ef1ba6455e24d9d6d1196cfc4d1 | sha256sum