This is a full-CRUD integration rather than a publishing helper: the same connection that drafts a post can delete posts in bulk and export your member list. That is the point for anyone automating editorial work, and the reason to give the Ghost integration only to a site you are willing to have changed. Bulk operations do carry confirmations.
An MCP server for Ghost CMS that gives an assistant CRUD access to a Ghost site's content and audience. It authenticates with Ghost's Admin and Content API keys, handles JWT auth internally, and adds rate limiting, caching and request queueing so bulk work does not hammer the API.
- Posts: create, read, update, delete, publish, search, and bulk operations — a post is created with a title, HTML body, status, tags and meta fields through the `ghost_posts_create` tool
- Pages with the same full CRUD, for static content rather than the feed
- Media uploads — images and files pushed straight through the MCP interface
- Audience management: members created, updated, imported and exported; tags for organising content; newsletters and subscriber segments
- Site administration — settings, author and admin users, and membership tiers
- Bulk update or delete across many posts at once, with safety confirmations, and Ghost's filter syntax available for the query
- Built-in rate limiting, caching and queue management so large jobs stay inside Ghost's limits
A Ghost site and a custom integration created under Ghost Admin → Integrations, which is where both keys come from. Three environment variables: `GHOST_URL` for the site, `GHOST_ADMIN_API_KEY` in the `id:secret` form the integration page shows, and `GHOST_CONTENT_API_KEY`. Node.js 18.0.0 or newer. Install with `npm install -g ghost-cms-mcp-server` or run it through `npx -y ghost-cms-mcp-server`; Claude Code takes it in one line as `claude mcp add ghost-cms -- npx -y ghost-cms-mcp-server`. MIT licensed.
One command plus a key — npm install -g ghost-cms-mcp-server, then supply credentials
