← WebMCP Directory

Tool tree

your-last-coach.vercel.app

Health & EducationTools verified
Website
A shared Training Plan workspace for an Athlete and Coach Agent.
Explore capabilities
    get_coaching_briefingAnswer

    Start here for the bounded Coaching Briefing and structured interaction contract for this workspace.

    View tool JSON
    {
      "name": "get_coaching_briefing",
      "kind": "answer",
      "impl": "imperative",
      "description": "Start here for the bounded Coaching Briefing and structured interaction contract for this workspace.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    get_training_planAnswer

    Retrieve the relevant date range from the current planVersion; use returned Planned Workout IDs in later calls and proposals.

    View tool JSON
    {
      "name": "get_training_plan",
      "kind": "answer",
      "impl": "imperative",
      "description": "Retrieve the relevant date range from the current planVersion; use returned Planned Workout IDs in later calls and proposals.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "format": "date",
            "description": "First Planned Workout date to include, YYYY-MM-DD."
          },
          "to": {
            "type": "string",
            "format": "date",
            "description": "Last Planned Workout date to include, YYYY-MM-DD."
          }
        },
        "required": [
          "from",
          "to"
        ],
        "additionalProperties": false
      }
    }
    get_workout_contextAnswer

    Inspect the prescription, result, and feedback for one returned Planned Workout ID before explaining what happened.

    View tool JSON
    {
      "name": "get_workout_context",
      "kind": "answer",
      "impl": "imperative",
      "description": "Inspect the prescription, result, and feedback for one returned Planned Workout ID before explaining what happened.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "workoutId": {
            "type": "string",
            "minLength": 1,
            "description": "Stable Planned Workout ID returned by get_training_plan."
          }
        },
        "required": [
          "workoutId"
        ],
        "additionalProperties": false
      }
    }
    record_athlete_feedbackAction

    Record the current Athlete message when it reports new workout experience; preserve the raw words and only explicitly stated structured fields before proposing related changes. The result includes evidenceRef; reuse that value verbatim in a later adaptation proposal. Reusing the same requestId returns the original feedback without recording twice.

    View tool JSON
    {
      "name": "record_athlete_feedback",
      "kind": "act",
      "impl": "imperative",
      "description": "Record the current Athlete message when it reports new workout experience; preserve the raw words and only explicitly stated structured fields before proposing related changes. The result includes evidenceRef; reuse that value verbatim in a later adaptation proposal. Reusing the same requestId returns the original feedback without recording twice.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "requestId": {
            "type": "string",
            "minLength": 1,
            "description": "Stable idempotency key for this feedback report."
          },
          "relatedWorkoutId": {
            "type": "string",
            "minLength": 1,
            "description": "Stable Planned Workout ID returned by get_training_plan."
          },
          "rawText": {
            "type": "string",
            "minLength": 1,
            "description": "The Athlete’s natural-language statement, unchanged."
          },
          "reported": {
            "type": "object",
            "properties": {
              "sessionRpe": {
                "type": "number",
                "minimum": 0,
                "maximum": 10
              },
              "legFeel": {
                "type": "string",
                "minLength": 1
              },
              "painReported": {
                "type": "boolean"
              },
              "stoppedReason": {
                "type": "string",
                "minLength": 1
              }
            },
            "additionalProperties": false
          }
        },
        "required": [
          "requestId",
          "relatedWorkoutId",
          "rawText"
        ],
        "additionalProperties": false
      }
    }
    open_workout_adaptation_reviewAction

    Submit evidence-grounded rationale and exactly two ranked, structurally different options; open the on-page review; never apply a plan directly; the call returns immediately.

    View tool JSON
    {
      "name": "open_workout_adaptation_review",
      "kind": "act",
      "impl": "imperative",
      "description": "Submit evidence-grounded rationale and exactly two ranked, structurally different options; open the on-page review; never apply a plan directly; the call returns immediately.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "reviewId": {
            "type": "string",
            "minLength": 1
          },
          "sourceWorkoutId": {
            "type": "string",
            "minLength": 1
          },
          "expectedPlanVersion": {
            "type": "integer",
            "minimum": 1
          },
          "evidenceRefs": {
            "type": "array",
            "minItems": 1,
            "uniqueItems": true,
            "items": {
              "type": "string",
              "minLength": 1
            }
          },
          "rationale": {
            "type": "object",
            "properties": {
              "summary": {
                "type": "string",
                "minLength": 1
              },
              "counterEvidence": {
                "type": "string",
                "minLength": 1
              },
              "confidence": {
                "type": "string",
                "enum": [
                  "low",
                  "moderate",
                  "high"
                ]
              },
              "limitations": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "string",
                  "minLength": 1
                }
              }
            },
            "required": [
              "summary",
              "counterEvidence",
              "confidence",
              "limitations"
            ],
            "additionalProperties": false
          },
          "recommended": {
            "$ref": "#/$defs/adaptationOption"
          },
          "alternative": {
            "$ref": "#/$defs/adaptationOption"
          }
        },
        "required": [
          "reviewId",
          "sourceWorkoutId",
          "expectedPlanVersion",
          "evidenceRefs",
          "rationale",
          "recommended",
          "alternative"
        ],
        "additionalProperties": false,
        "$defs": {
          "prescription": {
            "type": "object",
            "properties": {
              "blocks": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "type": "object"
                }
              }
            },
            "required": [
              "blocks"
            ],
            "additionalProperties": false
          },
          "workoutChange": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "const": "create"
                  },
                  "workout": {
                    "type": "object"
                  }
                },
                "required": [
                  "kind",
                  "workout"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "const": "update"
                  },
                  "workoutId": {
                    "type": "string",
                    "minLength": 1
                  },
                  "changes": {
                    "type": "object",
                    "properties": {
                      "date": {
                        "type": "string",
                        "format": "date"
                      },
                      "title": {
                        "type": "string",
                        "minLength": 1
                      },
                      "purpose": {
                        "type": "string",
                        "minLength": 1
                      },
                      "distanceKm": {
                        "type": "number",
                        "exclusiveMinimum": 0
                      },
                      "prescription": {
                        "$ref": "#/$defs/prescription"
                      }
                    },
                    "minProperties": 1,
                    "additionalProperties": false
                  }
                },
                "required": [
                  "kind",
                  "workoutId",
                  "changes"
                ],
                "additionalProperties": false
              },
              {
                "type": "object",
                "properties": {
                  "kind": {
                    "const": "delete"
                  },
                  "workoutId": {
                    "type": "string",
                    "minLength": 1
                  }
                },
                "required": [
                  "kind",
                  "workoutId"
                ],
                "additionalProperties": false
              }
            ]
          },
          "adaptationOption": {
            "type": "object",
            "properties": {
              "optionId": {
                "type": "string",
                "minLength": 1
              },
              "label": {
                "type": "string",
                "minLength": 1
              },
              "summary": {
                "type": "string",
                "minLength": 1
              },
              "tradeoff": {
                "type": "string",
                "minLength": 1
              },
              "workoutChanges": {
                "type": "array",
                "minItems": 1,
                "items": {
                  "$ref": "#/$defs/workoutChange"
                }
              }
            },
            "required": [
              "optionId",
              "label",
              "summary",
              "tradeoff",
              "workoutChanges"
            ],
            "additionalProperties": false
          }
        }
      }
    }
    read_workout_adaptation_decisionAnswer

    Use the same reviewId after opening; poll only as needed until approved, declined, discuss_further, or cancelled; return the Athlete-controlled terminal outcome.

    View tool JSON
    {
      "name": "read_workout_adaptation_decision",
      "kind": "answer",
      "impl": "imperative",
      "description": "Use the same reviewId after opening; poll only as needed until approved, declined, discuss_further, or cancelled; return the Athlete-controlled terminal outcome.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "reviewId": {
            "type": "string",
            "minLength": 1
          }
        },
        "required": [
          "reviewId"
        ],
        "additionalProperties": false
      }
    }