Server has 13 tools with complete Zod schemas and descriptions in French. Naming follows verb_noun pattern (strava_analyze_training, strava_get_activities). Descriptions are substantive (100-250 chars typical), explaining WHAT and WHEN. However, parameter descriptions lack actionable constraints (e.g., 'weeks' has no guidance on typical values or why 52 is max). Output schemas are not documented, LLMs cannot predict response structure. Error handling is absent; no recovery guidance. All tools are READ_ONLY except strava_exchange_token (WRITE), but no confirmation pattern for the write operation. French descriptions reduce LLM clarity in English-first agents.
Analyse la charge d'entraînement récente : volume hebdomadaire (km, temps, sorties), longue sortie, allure moyenne par semaine, score de régularité.
Récupère les statistiques globales Strava : kilomètres cette semaine, ce mois, cette année, et all-time.
Vérifie si des tokens Strava valides existent et quand ils expirent.
Échange le code OAuth2 (depuis l'URL de redirection après autorisation dans le navigateur) contre des tokens d'accès et de rafraîchissement. Les tokens sont sauvegardés localement.
Génère un plan d'entraînement structuré depuis aujourd'hui jusqu'au jour de la course, en 4 phases : Base (fondation aérobie), Build (développement du seuil), Peak (VO2max et spécifique course), Taper (affûtage). Mode Strava : calibre automatiquement le volume et le VDOT depuis l'historique. Mode manuel : passer current_weekly_km + goal_time pour générer un plan sans compte Strava.
No output schemas documented. LLMs cannot predict response structure (fields, types, nesting). Responses are JSON strings, not structured objects. Downstream tool chaining is blind.
Descriptions in French reduce clarity for English-first LLM agents. Tool selection and parameter reasoning degrade when descriptions are not in the agent's primary language.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Récupère la liste des activités récentes de l'athlète avec distance, temps, allure et fréquence cardiaque.
Récupère le détail complet d'une activité Strava (laps, splits kilomètre par kilomètre, calories).
Génère l'URL OAuth2 Strava. Ouvrir cette URL dans un navigateur, autoriser l'application, puis copier le paramètre 'code' depuis l'URL de redirection et le passer à strava_exchange_token.
Analyse la répartition des kilomètres par zone d'allure (Récupération, Facile, Aérobie, Seuil, VO2max, Anaérobie). Aide à vérifier la règle 80/20 (80% en zones basses).
Prédit les temps sur les distances standard (5K, 10K, Semi, Marathon) en utilisant la formule de Riegel (T2 = T1 × (D2/D1)^1.06) depuis une performance récente. Auto-détecte la meilleure performance récente sur Strava, ou accepte une entrée manuelle.
Calcule les métriques de forme, fatigue et fraîcheur via des moyennes exponentielles. CTL (fitness chronique, 42j) / ATL (fatigue aiguë, 7j) / TSB = CTL - ATL (fraîcheur). TSB > +10 = frais pour une course ; TSB < -20 = surcharge.
Calcule ton score VDOT (indice de capacité aérobie de Jack Daniels) depuis une performance récente. Retourne : score VDOT, 5 zones d'allure d'entraînement (Facile, Marathon, Seuil, Intervalle, Répétition), et les équivalents de temps sur toutes les distances standard.
Génère uniquement les séances d'entraînement de la semaine prochaine, basées sur le VDOT et le volume actuel. Plus léger que le plan complet.
No error handling or recovery guidance. If Strava API fails, auth expires, or parameters are invalid, tools return raw errors with no actionable next steps for the LLM.
strava_exchange_token is a WRITE operation (stores tokens) with no confirmation or dry-run pattern. Agents cannot preview the action before committing.
Parameter constraints lack actionable guidance. E.g., 'weeks' (min 1, max 52) has no explanation of why 52 is the limit or what typical values are. LLMs may pick arbitrary values within the range.