Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,070Paid calls: 1,528Letters: 13Defects: 1,322counted 3 min ago
teppi

Server definition

Hash
sha256:45a8764a8a0c049ae8264270113bdbb5f0509634171170b8be39bef2a01339fe
What it is
What a remote MCP server returned when asked what it offers: 2 tools

The blob, as servednamed by its sha256

{ "instructions": "SEMIPRO Cycling Intelligence provides bounded cycling-event route analysis and general ride-fuelling planning. Use analyse_event_route for a GPX course and plan_ride_fuelling for a carbohydrate target and carry plan. Do not use either tool for athlete-specific coaching, training prescriptions, medical conclusions or outcome predictions. The fuelling tool does not prescribe hydration or sodium. Public Activity Intelligence remains evaluation-only and is intentionally not exposed as a callable tool.", "tools": [ { "description": "Analyse a cycling-event GPX using SEMIPRO Event Demand Intelligence. Use this when a rider, coach or agent asks what a route will demand, which climbs or sections matter, or what kind of performance problem the course creates. This analyses the course only: it does not inspect an athlete, prescribe training, predict a result, diagnose a medical issue, or analyse a completed FIT activity.", "inputSchema": { "additionalProperties": false, "anyOf": [ { "required": [ "gpx_xml" ] }, { "required": [ "gpx_base64" ] } ], "properties": { "event": { "additionalProperties": false, "properties": { "course_format": { "enum": [ "point_to_point", "loop", "laps" ], "type": "string" }, "course_laps": { "maximum": 100, "minimum": 1, "type": "integer" }, "date": { "format": "date", "type": "string" }, "name": { "maxLength": 160, "type": "string" }, "start_time": { "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$", "type": "string" }, "type": { "enum": [ "road_race", "criterium", "time_trial", "gran_fondo", "sportive", "gravel", "mtb", "mtb_xc", "ultra", "stage", "triathlon_bike_leg", "other" ], "type": "string" } }, "type": "object" }, "gpx_base64": { "description": "Base64-encoded GPX file. Provide this or gpx_xml. Maximum decoded size: 3 MB.", "type": "string" }, "gpx_xml": { "description": "Complete GPX XML. Provide this or gpx_base64. Maximum decoded size: 3 MB.", "type": "string" } }, "type": "object" }, "name": "analyse_event_route", "outputSchema": null }, { "description": "Turn a cycling session duration, broad work type and current carbohydrate tolerance into a bounded carbohydrate target, carry plan and timing guide. Use this when a rider needs to know how much carbohydrate to carry and how to divide it across their own gels, drink, chews or food. This is general sports-fuelling guidance: it does not provide medical nutrition, prescribe hydration or sodium, create a daily meal plan, or use connected athlete data.", "inputSchema": { "additionalProperties": false, "properties": { "carb_sources": { "description": "Optional products or foods the rider already has. Omit to receive a generic equivalent pack.", "items": { "additionalProperties": false, "properties": { "carbs_g": { "maximum": 150, "minimum": 1, "type": "integer" }, "form": { "enum": [ "drink", "gel", "chew", "food" ], "type": "string" }, "max_servings": { "default": 12, "maximum": 24, "minimum": 1, "type": "integer" }, "name": { "maxLength": 80, "minLength": 1, "type": "string" } }, "required": [ "name", "form", "carbs_g" ], "type": "object" }, "maxItems": 12, "minItems": 1, "type": "array" }, "current_tolerance": { "description": "Highest carbohydrate intake in grams per hour already tolerated reliably in similar cycling.", "enum": [ "not_established", "up_to_45", "up_to_60", "up_to_75", "up_to_90" ], "type": "string" }, "duration_minutes": { "description": "Planned cycling duration in minutes.", "maximum": 1440, "minimum": 15, "type": "integer" }, "ride_type": { "description": "Broad work demand. Use race_event only for a race, sportive or equivalent performance event.", "enum": [ "recovery", "endurance", "tempo_threshold", "intervals", "race_event" ], "type": "string" } }, "required": [ "duration_minutes", "ride_type", "current_tolerance" ], "type": "object" }, "name": "plan_ride_fuelling", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:45a8764a8a0c049ae8264270113bdbb5f0509634171170b8be39bef2a01339fe | sha256sum