SEMIPRO Cycling Intelligence

Analyse cycling-event GPX routes and build bounded, practical ride-fuelling carry plans.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
100%
Integridad del esquema
92%
Calidad de los nombres
80%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~781Tokens (definiciones de herramientas)
~3.0 KBTamaño de respuesta típico
Impacto moderado en la atención (0.61% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "semipro-intelligence": {
      "url": "https://api.semipro.coach/mcp"
    }
  }
}

Puntos de conexión remotos

https://api.semipro.coach/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (2)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢analyse_event_route(gpx_xml, gpx_base64, event)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "gpx_xml": {
      "type": "string",
      "description": "Complete GPX XML. Provide this or gpx_base64. Maximum decoded size: 3 MB."
    },
    "gpx_base64": {
      "type": "string",
      "description": "Base64-encoded GPX file. Provide this or gpx_xml. Maximum decoded size: 3 MB."
    },
    "event": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 160
        },
        "type": {
          "type": "string",
          "enum": [
            "road_race",
            "criterium",
            "time_trial",
            "gran_fondo",
            "sportive",
            "gravel",
            "mtb",
            "mtb_xc",
            "ultra",
            "stage",
            "triathlon_bike_leg",
            "other"
          ]
        },
        "date": {
          "type": "string",
          "format": "date"
        },
        "start_time": {
          "type": "string",
          "pattern": "^([01]\\d|2[0-3]):[0-5]\\d$"
        },
        "course_format": {
          "type": "string",
          "enum": [
            "point_to_point",
            "loop",
            "laps"
          ]
        },
        "course_laps": {
          "type": "integer",
          "minimum": 1,
          "maximum": 100
        }
      }
    }
  },
  "anyOf": [
    {
      "required": [
        "gpx_xml"
      ]
    },
    {
      "required": [
        "gpx_base64"
      ]
    }
  ],
  "additionalProperties": false
}
🟢plan_ride_fuelling(duration_minutes, ride_type, current_tolerance, carb_sources)

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.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "duration_minutes": {
      "type": "integer",
      "minimum": 15,
      "maximum": 1440,
      "description": "Planned cycling duration in minutes."
    },
    "ride_type": {
      "type": "string",
      "enum": [
        "recovery",
        "endurance",
        "tempo_threshold",
        "intervals",
        "race_event"
      ],
      "description": "Broad work demand. Use race_event only for a race, sportive or equivalent performance event."
    },
    "current_tolerance": {
      "type": "string",
      "enum": [
        "not_established",
        "up_to_45",
        "up_to_60",
        "up_to_75",
        "up_to_90"
      ],
      "description": "Highest carbohydrate intake in grams per hour already tolerated reliably in similar cycling."
    },
    "carb_sources": {
      "type": "array",
      "minItems": 1,
      "maxItems": 12,
      "description": "Optional products or foods the rider already has. Omit to receive a generic equivalent pack.",
      "items": {
        "type": "object",
        "required": [
          "name",
          "form",
          "carbs_g"
        ],
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "minLength": 1,
            "maxLength": 80
          },
          "form": {
            "type": "string",
            "enum": [
              "drink",
              "gel",
              "chew",
              "food"
            ]
          },
          "carbs_g": {
            "type": "integer",
            "minimum": 1,
            "maximum": 150
          },
          "max_servings": {
            "type": "integer",
            "minimum": 1,
            "maximum": 24,
            "default": 12
          }
        }
      }
    }
  },
  "required": [
    "duration_minutes",
    "ride_type",
    "current_tolerance"
  ],
  "additionalProperties": false
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada2 herramientas
verificadoversión no registrada2 herramientas
verificadoversión no registrada2 herramientas