J'ai publié mon premier package MCP sur npm — et c'est lui qui a écrit cet article
Un peu de contexte
Il y a quelques semaines, j'ai commencé à migrer mon blog vers Ghost CMS. Pas pour faire comme tout le monde — plutôt parce que j'avais envie d'un setup propre, sans friction, où je pourrais publier vite et bien.
Et évidemment, étant dev, ma première question a été : "Est-ce qu'il existe un MCP pour Ghost ?"
Spoiler : il en existait quelques-uns. Mais aucun ne m'inspirait vraiment confiance. Des repos avec peu de stars, pas de documentation sérieuse, des downloads qui se comptent sur les doigts d'une main. Rien qui ressemble à un outil maintenu.
Alors j'ai fait ce que tout développeur solo un peu têtu ferait : je l'ai écrit moi-même.
Qu'est-ce qu'un MCP, d'abord ?
MCP, c'est le Model Context Protocol — un standard open source lancé par Anthropic qui permet à des assistants IA comme Claude de se connecter à des outils externes. Au lieu de copier-coller du contenu dans un chat, le modèle peut directement lire, créer, modifier des données dans une vraie application.
Concrètement, avec un MCP Ghost : Claude peut lire vos articles, en créer de nouveaux, gérer vos membres, vos tags, vos newsletters — le tout sans jamais quitter l'interface de l'IA.
Ce que j'ai construit
Le package s'appelle @antoinefamibelle/ghost-mcp. Il expose 47 outils répartis sur 10 types de ressources Ghost :
- 📝 Posts — créer, lire, modifier, supprimer, lister
- 👥 Members — gérer votre base d'abonnés
- 🏷️ Tags — organiser votre contenu
- 📬 Newsletters — configurer vos envois
- 🎟️ Offers & Tiers — gérer vos offres payantes
- 👤 Users, Roles, Invites, Webhooks — l'administration complète
Il expose aussi 7 ressources MCP accessibles par URI (ex : post://abc123), et 2 prompts intégrés : summarize-post pour résumer un article, et content-audit pour auditer votre stratégie éditoriale.
Tout est en TypeScript strict, zéro any, avec une gestion d'erreur propre. Les erreurs de l'API Ghost sont interceptées et retournées sous forme de messages lisibles — pas de stack trace brut jeté à la figure de l'IA.
L'installer, c'est deux minutes
Pas besoin de cloner quoi que ce soit. Vous avez juste besoin de votre clé Admin API Ghost (Settings → Integrations → Add custom integration) et d'ajouter ça dans votre config Claude Desktop :
{
"mcpServers": {
"ghost": {
"command": "npx",
"args": ["-y", "@antoinefamibelle/ghost-mcp"],
"env": {
"GHOST_API_URL": "https://votre-blog.com",
"GHOST_ADMIN_API_KEY": "votre_id:votre_secret",
"GHOST_API_VERSION": "v5.0"
}
}
}
}Redémarrez Claude Desktop, et l'icône marteau apparaît dans l'interface — signe que les 47 outils sont chargés. C'est tout.
Ça marche aussi avec Claude Code (CLI), Gemini CLI, et n'importe quel client compatible MCP stdio.
Ce truc a littéralement écrit cet article
Et là j'arrive à la partie que je trouve un peu folle.
Les articles que vous lisez sur ce blog en ce moment — y compris celui-ci — ont été créés directement depuis Claude, via ce MCP. J'ai migré plusieurs articles de mon ancien site en donnant juste leur contenu à Claude, qui les a reformatés et publiés en draft dans Ghost en quelques secondes.
C'est exactement pour ça que je l'ai construit : ne pas avoir à ouvrir Ghost, naviguer dans l'interface, coller du contenu, configurer des slugs. Juste dire à Claude ce que je veux, et le voir le faire.
C'est le genre de workflow que j'aurais voulu avoir depuis le début.
La suite
Le package est disponible dès maintenant sur npm :
npmjs.com/package/@antoinefamibelle/ghost-mcp
Si vous utilisez Ghost et Claude (ou Gemini), essayez-le. La configuration prend moins de 5 minutes, et franchement c'est assez satisfaisant de voir une IA gérer votre CMS en temps réel.
Et si vous trouvez un bug, si vous voulez une feature, ou juste donner un retour — les issues GitHub sont ouvertes.
C'est mon premier package npm publié. Loin d'être parfait, mais il fait exactement ce pour quoi il a été conçu. Et pour l'instant, c'est suffisant. 🚀
🇬🇧 English Version — I Published My First npm MCP — and It Wrote This Article
A bit of context
A few weeks ago, I started migrating my blog to Ghost CMS. Not because it's trendy — because I wanted a clean setup where I could publish fast without friction.
And naturally, being a dev, my first question was: "Is there an MCP for Ghost?"
There were a few out there. But none of them felt trustworthy — repos with low stars, no real documentation, download counts you could count on one hand. Nothing that looked actively maintained.
So I did what any stubborn solo developer would do: I built it myself.
What I built
The package is called @antoinefamibelle/ghost-mcp. It gives Claude (and any MCP-compatible AI) full access to Ghost CMS via 47 tools across 10 resource types — posts, members, tags, newsletters, offers, tiers, users, roles, invites, and webhooks.
It also exposes 7 MCP resources accessible by URI and 2 built-in prompts: summarize-post and content-audit.
Everything is strict TypeScript — zero any types, clean error handling, full tool descriptions so the LLM always knows exactly what to pass.
Setup takes two minutes
No cloning required. Grab your Ghost Admin API key (Settings → Integrations → Add custom integration) and drop this into your Claude Desktop config:
{
"mcpServers": {
"ghost": {
"command": "npx",
"args": ["-y", "@antoinefamibelle/ghost-mcp"],
"env": {
"GHOST_API_URL": "https://yourblog.com",
"GHOST_ADMIN_API_KEY": "your_id:your_secret",
"GHOST_API_VERSION": "v5.0"
}
}
}
}Restart Claude Desktop, the hammer icon appears — all 47 tools are live. That's it. Works with Claude Code CLI and Gemini CLI too.
This MCP literally wrote this article
Here's the part I find kind of mind-bending.
The articles on this blog — including this one — were created directly from Claude, using this MCP. I migrated several posts from my old site by giving Claude the content, and it reformatted and published them as Ghost drafts in seconds.
That's exactly why I built it: skip the Ghost UI, skip the copy-paste, skip the slug configuration. Just tell Claude what I want and watch it happen.
Go try it
npmjs.com/package/@antoinefamibelle/ghost-mcp
If you use Ghost and Claude (or Gemini), give it a shot. It takes under 5 minutes to set up, and there's something genuinely satisfying about watching an AI manage your CMS in real time.
It's my first published npm package. Far from perfect — but it does exactly what it was built to do. For now, that's enough. 🚀