This server has 16 tools with uneven definition quality. Most tools have clear French descriptions (averaging ~60 chars, below the ideal 194 baseline) and reasonable naming. However, critical gaps exist: (1) No parameter descriptions for most tool inputs, only type/enum constraints are visible, no explanations of what each parameter controls. (2) No visible output schemas documented anywhere, LLMs cannot infer what these tools return. (3) Parameter descriptions that do exist are minimal ('Niveau de volume', 'Direction de navigation') and lack context about when to use the tool. (4) Error handling is completely absent from definitions. The schema quality is inconsistent: some tools like set_volume have min/max constraints, but many lack any validation hints. Tool composition is reasonable, most tools are single-purpose (play_movie, stop_player, search_movies). However, tools like find_and_play combine search+playback, which is acceptable for convenience but slightly violates single-responsibility. The naming convention is generally good (verb_noun style: get_*, list_*, play_*, search_*), but descriptions are too terse and generic to reliably guide LLM selection.
Smart search and automatic playback of the best matching file in downloads
Récupérer les statistiques de la bibliothèque Kodi (films, séries, épisodes, musique)
Récupère ce qui joue actuellement sur Kodi (titre, durée, temps écoulé, etc.)
Liste tous les fichiers vidéo dans le dossier downloads (récursif)
Liste les films récemment ajoutés à Kodi
Liste toutes les séries TV dans Kodi
Navigation dans l'interface de Kodi
No output schemas documented for ANY tool. LLMs cannot infer what get_now_playing, list_tv_shows, or get_library_stats return. Without documented return types, agents cannot plan downstream data extraction or tool chaining.
Parameter descriptions are largely missing or minimal. Tools like player_play_pause, player_stop, list_tv_shows have empty required arrays but no explanation of what they do, when to use them, or what they return. 'Toggle play/pause sur le player actif' is too short (27 chars), LLMs need context about preconditions (is media playing?) and side effects (does it pause if playing?).
No error handling guidance in tool definitions. If play_movie is called with an invalid movie_id, what should the agent do? Retry? Search for the movie first? Fall back to search_movies? No tool provides recovery hints.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 49 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 39 | - | v1 |
Lancer un épisode de série dans Kodi
Lance un fichier vidéo par son chemin complet
Lancer un film par son ID dans Kodi
Toggle play/pause sur le player actif de Kodi
Arrêter la lecture sur Kodi
Lancer un scan de la bibliothèque Kodi
Cherche des fichiers dans le dossier downloads par nom (insensible à la casse)
Chercher des films dans la bibliothèque Kodi
Régler le volume de Kodi (0-100)
Composition risk: find_and_play combines search AND automatic playback. While convenient, this reduces agent flexibility, the agent cannot search without committing to playback. Consider separating into find_* (search only) and play_file (execute separately) so agents can decide whether to preview results first.
Pagination not described for list_* tools. list_downloads and list_recent_movies accept 'limit' but do not mention offset, cursor, or total_count. If there are 500 downloads, how does the agent fetch the next page? No next_cursor or total field is documented.
No mutation confirmation or dry-run for destructive tools. scan_library, play_file, and find_and_play can modify Kodi state (change playback, queue content). No dry-run, no confirmation_request pattern, no rollback mechanism documented.