← WebMCP Directory

Tool tree

thai-run-club-webmcp.humble-flea-4717.chatgpt.site

Travel & EventsTools verified
Website
An English-first multilingual Runner Agent for planning Thai run weeks, checking readiness, arranging a safe return, and preparing a human-confirmed Run Pass through WebMCP.
Explore capabilities
    plan_run_scheduleAction

    Build a chronological run schedule from city, distance, pace, and social preferences, then show the same plan on the Runner Agent week board. Use when a runner asks what is coming up or wants a shortlist to act on.

    View tool JSON
    {
      "name": "plan_run_schedule",
      "kind": "act",
      "impl": "imperative",
      "description": "Build a chronological run schedule from city, distance, pace, and social preferences, then show the same plan on the Runner Agent week board. Use when a runner asks what is coming up or wants a shortlist to act on.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "enum": [
              "Bangkok",
              "Chiang Mai",
              "Phuket",
              "Khon Kaen"
            ]
          },
          "distance_km": {
            "type": "number",
            "enum": [
              3,
              5,
              7,
              10
            ]
          },
          "pace": {
            "type": "string",
            "enum": [
              "social",
              "steady",
              "tempo"
            ]
          },
          "social_preference": {
            "type": "string",
            "enum": [
              "alcohol_free",
              "beer_optional",
              "run_only"
            ]
          },
          "alcohol_free_required": {
            "type": "boolean",
            "default": false
          }
        },
        "additionalProperties": false
      }
    }
    save_run_scheduleAction

    Build the requested schedule and persist that exact week to the signed-in runner's D1-backed Runner Passport. Use only when the runner asks to remember or save a plan.

    View tool JSON
    {
      "name": "save_run_schedule",
      "kind": "act",
      "impl": "imperative",
      "description": "Build the requested schedule and persist that exact week to the signed-in runner's D1-backed Runner Passport. Use only when the runner asks to remember or save a plan.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "enum": [
              "Bangkok",
              "Chiang Mai",
              "Phuket",
              "Khon Kaen"
            ]
          },
          "distance_km": {
            "type": "number",
            "enum": [
              3,
              5,
              7,
              10
            ]
          },
          "pace": {
            "type": "string",
            "enum": [
              "social",
              "steady",
              "tempo"
            ]
          },
          "social_preference": {
            "type": "string",
            "enum": [
              "alcohol_free",
              "beer_optional",
              "run_only"
            ]
          },
          "alcohol_free_required": {
            "type": "boolean",
            "default": false
          }
        },
        "additionalProperties": false
      }
    }
    get_runner_passportAnswer

    Read the signed-in runner's profile, saved run weeks, and Run Pass count from persistent storage. Use this to continue planning from remembered goals without guessing preferences.

    View tool JSON
    {
      "name": "get_runner_passport",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read the signed-in runner's profile, saved run weeks, and Run Pass count from persistent storage. Use this to continue planning from remembered goals without guessing preferences.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    build_runner_support_loopAction

    Turn one run into a visible bring, borrow, refill, repair, and give-back plan. Use when a runner asks what to prepare or source without defaulting to shopping. Merchant search remains an optional future handoff and never creates a cart or checkout.

    View tool JSON
    {
      "name": "build_runner_support_loop",
      "kind": "act",
      "impl": "imperative",
      "description": "Turn one run into a visible bring, borrow, refill, repair, and give-back plan. Use when a runner asks what to prepare or source without defaulting to shopping. Merchant search remains an optional future handoff and never creates a cart or checkout.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "event_id": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          }
        },
        "required": [
          "event_id"
        ],
        "additionalProperties": false
      }
    }
    search_runner_needAnswer

    Search the connected Shopify Storefront MCP catalog for one runner-confirmed gap after bring, borrow, refill, and repair have been checked. Updates the visible Runner Commons panel with external merchant results. Never creates a cart or checkout.

    View tool JSON
    {
      "name": "search_runner_need",
      "kind": "answer",
      "impl": "imperative",
      "description": "Search the connected Shopify Storefront MCP catalog for one runner-confirmed gap after bring, borrow, refill, and repair have been checked. Updates the visible Runner Commons panel with external merchant results. Never creates a cart or checkout.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "event_id": {
            "type": "string",
            "enum": [
              "bkk-riverside-5",
              "bkk-oldtown-7",
              "cnx-moat-5",
              "hkt-oldtown-3",
              "kkc-lake-10",
              "bkk-green-3"
            ]
          },
          "need": {
            "type": "string",
            "enum": [
              "reflective_visibility",
              "reusable_hydration",
              "repair_essentials"
            ]
          }
        },
        "required": [
          "event_id",
          "need"
        ],
        "additionalProperties": false
      }
    }
    discover_run_eventsAction

    Find matching Thailand run-club events by city, distance, pace, date, and post-run social preference. Use this before comparing or registering. Alcohol is always optional.

    View tool JSON
    {
      "name": "discover_run_events",
      "kind": "act",
      "impl": "imperative",
      "description": "Find matching Thailand run-club events by city, distance, pace, date, and post-run social preference. Use this before comparing or registering. Alcohol is always optional.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "city": {
            "type": "string",
            "enum": [
              "Bangkok",
              "Chiang Mai",
              "Phuket",
              "Khon Kaen"
            ]
          },
          "distance_km": {
            "type": "number",
            "enum": [
              3,
              5,
              7,
              10
            ]
          },
          "pace": {
            "type": "string",
            "enum": [
              "social",
              "steady",
              "tempo"
            ]
          },
          "date": {
            "type": "string",
            "format": "date",
            "maxLength": 10
          },
          "social_preference": {
            "type": "string",
            "enum": [
              "alcohol_free",
              "beer_optional",
              "run_only"
            ]
          },
          "alcohol_free_required": {
            "type": "boolean",
            "default": false
          }
        },
        "additionalProperties": false
      }
    }
    compare_run_eventsAction

    Compare two or three run events side by side using dates, distance, pace, price, capacity, social choices, and safe-return information.

    View tool JSON
    {
      "name": "compare_run_events",
      "kind": "act",
      "impl": "imperative",
      "description": "Compare two or three run events side by side using dates, distance, pace, price, capacity, social choices, and safe-return information.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "event_ids": {
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "bkk-riverside-5",
                "bkk-oldtown-7",
                "cnx-moat-5",
                "hkt-oldtown-3",
                "kkc-lake-10",
                "bkk-green-3"
              ]
            },
            "minItems": 2,
            "maxItems": 3,
            "uniqueItems": true
          }
        },
        "required": [
          "event_ids"
        ],
        "additionalProperties": false
      }
    }
    get_run_event_detailsAnswer

    Get full operational details for one event and make it visible in the shared human interface.

    View tool JSON
    {
      "name": "get_run_event_details",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get full operational details for one event and make it visible in the shared human interface.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "event_id": {
            "type": "string",
            "enum": [
              "bkk-riverside-5",
              "bkk-oldtown-7",
              "cnx-moat-5",
              "hkt-oldtown-3",
              "kkc-lake-10",
              "bkk-green-3"
            ]
          }
        },
        "required": [
          "event_id"
        ],
        "additionalProperties": false
      }
    }
    get_event_rulesAnswer

    Read run safety, age, alcohol, licensed-venue, transport, health, and choice rules when evaluating participation or registration.

    View tool JSON
    {
      "name": "get_event_rules",
      "kind": "answer",
      "impl": "imperative",
      "description": "Read run safety, age, alcohol, licensed-venue, transport, health, and choice rules when evaluating participation or registration.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "event_id": {
            "type": "string",
            "enum": [
              "bkk-riverside-5",
              "bkk-oldtown-7",
              "cnx-moat-5",
              "hkt-oldtown-3",
              "kkc-lake-10",
              "bkk-green-3"
            ]
          },
          "topic": {
            "type": "string",
            "maxLength": 40
          }
        },
        "additionalProperties": false
      }
    }
    check_participation_readinessAnswer

    Apply event safety rules to user-provided declarations and return ready, attention, or blocked with next actions. This is not medical advice or diagnosis.

    View tool JSON
    {
      "name": "check_participation_readiness",
      "kind": "answer",
      "impl": "imperative",
      "description": "Apply event safety rules to user-provided declarations and return ready, attention, or blocked with next actions. This is not medical advice or diagnosis.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "event_id": {
            "type": "string",
            "enum": [
              "bkk-riverside-5",
              "bkk-oldtown-7",
              "cnx-moat-5",
              "hkt-oldtown-3",
              "kkc-lake-10",
              "bkk-green-3"
            ]
          },
          "age_20_plus": {
            "type": "boolean"
          },
          "has_concerning_symptoms": {
            "type": "boolean"
          },
          "has_hydration_plan": {
            "type": "boolean"
          },
          "transport_mode": {
            "type": "string",
            "enum": [
              "transit",
              "taxi",
              "walk",
              "sober_driver"
            ]
          },
          "social_preference": {
            "type": "string",
            "enum": [
              "alcohol_free",
              "beer_optional",
              "run_only"
            ]
          }
        },
        "required": [
          "event_id",
          "age_20_plus",
          "has_concerning_symptoms",
          "has_hydration_plan",
          "transport_mode",
          "social_preference"
        ],
        "additionalProperties": false
      }
    }
    get_safe_return_optionsAnswer

    Get event-specific public transport, taxi, walking, and sober-driver options, with non-driving choices for anyone selecting optional beer.

    View tool JSON
    {
      "name": "get_safe_return_options",
      "kind": "answer",
      "impl": "imperative",
      "description": "Get event-specific public transport, taxi, walking, and sober-driver options, with non-driving choices for anyone selecting optional beer.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "event_id": {
            "type": "string",
            "enum": [
              "bkk-riverside-5",
              "bkk-oldtown-7",
              "cnx-moat-5",
              "hkt-oldtown-3",
              "kkc-lake-10",
              "bkk-green-3"
            ]
          },
          "social_preference": {
            "type": "string",
            "enum": [
              "alcohol_free",
              "beer_optional",
              "run_only"
            ]
          }
        },
        "required": [
          "event_id"
        ],
        "additionalProperties": false
      }
    }
    prepare_run_registrationAction

    Validate and stage a run registration, then show the summary for the human to review and confirm in the visible page.

    View tool JSON
    {
      "name": "prepare_run_registration",
      "kind": "act",
      "impl": "imperative",
      "description": "Validate and stage a run registration, then show the summary for the human to review and confirm in the visible page.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "event_id": {
            "type": "string",
            "enum": [
              "bkk-riverside-5",
              "bkk-oldtown-7",
              "cnx-moat-5",
              "hkt-oldtown-3",
              "kkc-lake-10",
              "bkk-green-3"
            ]
          },
          "runner_name": {
            "type": "string",
            "minLength": 2,
            "maxLength": 80
          },
          "email": {
            "type": "string",
            "format": "email",
            "maxLength": 120
          },
          "emergency_contact": {
            "type": "string",
            "minLength": 8,
            "maxLength": 40
          },
          "pace": {
            "type": "string",
            "enum": [
              "social",
              "steady",
              "tempo"
            ]
          },
          "social_preference": {
            "type": "string",
            "enum": [
              "alcohol_free",
              "beer_optional",
              "run_only"
            ]
          },
          "age_20_plus": {
            "type": "boolean"
          },
          "transport_mode": {
            "type": "string",
            "enum": [
              "transit",
              "taxi",
              "walk",
              "sober_driver"
            ]
          },
          "rules_accepted": {
            "type": "boolean",
            "const": true
          },
          "privacy_accepted": {
            "type": "boolean",
            "const": true
          }
        },
        "required": [
          "event_id",
          "runner_name",
          "email",
          "emergency_contact",
          "pace",
          "social_preference",
          "age_20_plus",
          "transport_mode",
          "rules_accepted",
          "privacy_accepted"
        ],
        "additionalProperties": false
      }
    }
    get_my_run_passesAnswer

    List Run Passes from the signed-in Runner Passport, or from this browser in guest mode. Emergency-contact details are always redacted from the result.

    View tool JSON
    {
      "name": "get_my_run_passes",
      "kind": "answer",
      "impl": "imperative",
      "description": "List Run Passes from the signed-in Runner Passport, or from this browser in guest mode. Emergency-contact details are always redacted from the result.",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false
      }
    }
    cancel_run_registrationSensitive Action

    Cancel a run pass only after the user explicitly confirms cancellation. If confirmed is false, return confirmation_required without changing anything.

    View tool JSON
    {
      "name": "cancel_run_registration",
      "kind": "transact",
      "impl": "imperative",
      "description": "Cancel a run pass only after the user explicitly confirms cancellation. If confirmed is false, return confirmation_required without changing anything.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "pass_id": {
            "type": "string",
            "minLength": 8,
            "maxLength": 80
          },
          "confirmed": {
            "type": "boolean"
          }
        },
        "required": [
          "pass_id",
          "confirmed"
        ],
        "additionalProperties": false
      }
    }