Skip to main content

16_Kavita

Kavita

Kavita is a fast, feature rich, cross platform reading server. Built with the goal of being a full solution for all your reading needs. Setup your own server and share your reading collection with your friends and family.

Image jvmilazz0/kavita:latest
Version latest
Etat Up (healthy)
Compose project kavita
Réseau kavita_default
URL https://kavita.juxjux.ovh
Source https://github.com/Kareadita/Kavita

Ports

Hote Container IP
5471 5000/tcp 0.0.0.0

Volumes

Source (hote) Destination Type Mode
/home/debian/docker/kavita/config /kavita/config bind rw
/home/debian/livres /manga bind rw

Integration Claude Code — MCP

Statut MCP MCP actif
Outils (prefix) mcp__kavita__
Configuration Script Python : C:\Users\eliob\.claude\mcp_kavita.py | Auth : JWT via POST /api/Account/login

Outils opérationnels (confirmés 2026-06-25)

  • get_libraries — liste les 53 bibliothèques
  • get_series — liste les séries (filtre library_id non fonctionnel : retourne toutes les bibliothèques)
  • get_series_detail
  • get_series_metadata — retourne genres, auteurs, éditeur, résumé, année
  • get_series_volumes
  • get_recently_added
  • get_on_deck — séries en cours de lecture
  • get_server_stats
  • search — recherche full-text sur noms de séries, genres, fichiers, chapitres

Outils cassés — 404 (endpoints dépréciés)

  • get_collections/api/Collection/list
  • get_reading_lists/api/ReadingList/lists
  • get_want_to_read/api/Want-To-Read/get-list
  • get_user_stats/api/Stats/user/0/read

Ce que nous pouvons faire ensemble

  • Parcourir la bibliothèque par série, volume ou bibliothèque thématique
  • Rechercher un titre, auteur ou genre
  • Consulter les séries récemment ajoutées ou en cours de lecture
  • Croiser les métadonnées (auteur + genre + année)
  • Appeler l'API directement via PowerShell pour filtrer par genre (/api/Series/all-v2)

REX — 2026-06-25

Statistiques bibliothèque

Stat Valeur
Bibliothèques 53 (toutes de type Book/epub+PDF)
Séries 2 976
Fichiers 5 519
Volumes 1 173
Taille totale ~79 Go
Auteurs/contributeurs indexés 3 475
Genres indexés 6 990
Tags 0

Étiquettes Calibre → genres Kavita

Les étiquettes appliquées via Calibre sont visibles dans Kavita sous le champ genres, pas tags (qui reste toujours vide, totalTags: 0).

Mécanisme : Calibre écrit ses étiquettes dans <dc:subject> du fichier epub lors du writeback → Kavita lit ce champ et le mappe en genres.

Exemple confirmé — "Il faut s'adapter" (Barbara Stiegler, lib. Actualités, ID série 4210) :

  • genres : Actualités, Philosophie, Politique, 2020-2025

Conditions pour que ça fonctionne :

  • Le fichier epub doit avoir été re-sauvegardé depuis Calibre après ajout des étiquettes (Préférences > Sauvegarde des métadonnées → writeback activé)
  • La bibliothèque Kavita doit avoir enableMetadata: true (c'est le cas pour Actualités)
  • Les PDFs ne portent généralement pas les métadonnées Calibre → genres vides

La bibliothèque Actualités (ID 63) est entièrement étiquetée et correctement indexée.

Lecture du contenu

Le MCP ne permet pas de lire le contenu des livres — uniquement les métadonnées. Kavita expose des endpoints de lecture (/api/Reader/image, /api/Reader/epub-file) mais non implémentés dans le MCP. Pour les epub, la lecture via appel API direct + parsing HTML serait techniquement faisable au cas par cas.

Limitations MCP identifiées

  • Le paramètre library_id de get_series ne filtre pas : retourne toutes les bibliothèques triées alphabétiquement
  • Pour filtrer par genre, utiliser l'API directe : POST /api/Series/all-v2 avec filtre JSON (hors MCP, via PowerShell)
  • 4 outils sur 17 retournent 404 (endpoints Kavita dépréciés dans le script MCP)