I'd been thinking about this for a while: what if Claude could talk directly to my blog? Not just read its content, but actually interact with it — create posts, edit them, manage translations. A real editorial assistant.
I developed an MCP (Model Context Protocol) plugin for Grav CMS that allows Claude to interact directly with my blog. The plugin exposes 13 tools to manage posts, translations, and media. All the code is available as open source.
As explained in my article about choosing my blog stack, I've been wanting to start a blog for years to document things I'm "proud" of. I never did it due to lack of time, laziness, and probably my distaste for writing.
Since I discovered AI and especially Claude Code with its MCPs, I thought I could use it for writing. The idea is as follows:
The plugin works as an MCP server integrated into Grav. It exposes a JSON-RPC API that Claude can call via the MCP protocol.
Claude Code ↔ MCP Protocol ↔ Grav Plugin ↔ Markdown Files
The plugin exposes 13 tools across several categories:
Post Management
list_posts: list posts with filters (language, tag, status)get_post: retrieve the full content of a postcreate_post: create a new postupdate_post: modify an existing postdelete_post: delete a postTranslations
list_translations: view available translationscreate_translation: create a translationMedia
upload_media: upload an image or filedelete_media: delete a media fileSystem
get_site_info: site informationlist_tags: all tags in useclear_cache: clear Grav cacheWhen it comes to security, Claude didn't hold back and implemented:
I admit that without Claude, I wouldn't have done all this right away, but hey, it's cheap ;)
For installation and documentation, check the README.md.
This plugin has truly transformed how I manage my blog. Combined with the Bridgy Fed plugin for Fediverse connection, I now have a complete AI-driven stack. I can ask Claude to create a draft, translate a post, or update content — all without leaving my terminal.
The code is available on GitHub. Feel free to try it out and contribute!
This article was originally written in French. This translation was generated automatically with AI assistance.