Table des matières
Claude lisait un article sur mon blog... et après, il pouvait plus rien faire. Fenêtre de contexte pleine. Le MCP Ghost officiel bouffait tellement de tokens qu'il rendait Claude inutilisable.
Du coup, j'ai construit le mien. Et je l'ai publié sur NPM pour que tu puisses l'utiliser.
La video sur le sujet :
Le problème avec le MCP officiel
J'utilise Ghost pour publier sur mon blog. Et j'utilise Claude Code pour m'aider à rédiger. Le MCP Ghost fait le lien entre les deux : Claude peut lire mes articles, en créer, les modifier.
Sauf que le MCP officiel a un défaut majeur : il ne projette pas les champs. Quand tu lui demandes de lister tes articles, il te renvoie tout — le contenu HTML complet, les métadonnées, tout.
Résultat :
- 35 000 tokens pour lister 15 articles
- 14 000 tokens pour en lire un seul
Ça coûte cher. Mais surtout, ça remplit la fenêtre de contexte en un seul appel. Claude lit un article, et après il peut plus réfléchir, plus rédiger, plus rien faire. Le MCP devenait inutilisable en pratique.
La solution : mcp-ghost-optimized
J'ai créé un MCP Ghost avec projection de champs et modes de lecture.
Pour lister les articles (posts_browse)
| Mode | Ce que tu récupères | Tokens/article |
|---|---|---|
minimal |
id, titre, statut | ~15 |
compact |
+ slug, dates, temps de lecture | ~50 |
standard |
+ excerpt, image, tags | ~150 |
Pour lire un article (posts_read)
| Mode | Ce que tu récupères | Tokens |
|---|---|---|
metadata |
infos sans contenu | ~200 |
content |
+ texte en plaintext | ~500-2000 |
full |
+ HTML brut | ~500-3000 |
Résultat : 98% de réduction sur le listing, 92% sur la lecture.
Claude peut maintenant lister mes articles, en lire plusieurs, et garder de la place pour travailler.
Installation
Une seule commande avec Claude Code :
claude mcp add ghost-optimized -e GHOST_URL=https://ton-blog.ghost.io -e GHOST_ADMIN_API_KEY=id:secret -- npx -y mcp-ghost-optimizedPour l'installer uniquement dans un projet :
claude mcp add ghost-optimized -s project -e GHOST_URL=... -e GHOST_ADMIN_API_KEY=... -- npx -y mcp-ghost-optimizedTools disponibles
posts_browse— Lister les articlesposts_read— Lire un articleposts_add— Créer un articleposts_edit— Modifier un articleposts_delete— Supprimer (avec confirmation obligatoire)tags_browse/tags_read— Gérer les tagsimages_upload— Uploader des images
J'ai ajouté une confirmation obligatoire avant suppression. Si Claude pète un câble, il pourra pas supprimer tous mes articles sans me demander.
Ce que j'ai appris en le construisant
Quelques galères en chemin :
Bug 1 : L'upload d'image demandait du base64. Pas pratique. J'ai corrigé pour accepter les fichiers JPEG, PNG, WEBP directement.
Bug 2 : Le contenu HTML ne s'écrivait pas dans les articles. Problème de format avec l'API Ghost. Résolu après quelques allers-retours avec Claude.
La leçon : Toujours tester. Ne jamais croire l'IA sur parole. À chaque étape, je vérifiais que ça marchait vraiment.
Conclusion
Le MCP est dispo sur NPM : mcp-ghost-optimized
Si tu utilises Ghost avec Claude Code, ça devrait te faire économiser pas mal de tokens — et surtout, rendre le MCP réellement utilisable.
Et si un outil ne te convient pas... tu peux toujours le reconstruire.
Commentaires