Summary
The blog is edited where the draft was written.
Drafting, tagging and publishing sit on one connection, so a post does not have to be copied out of the conversation and into the Ghost editor before it goes live.
What it is
An MCP server over the Ghost Admin API. Posts, pages and tags each get their own create, list and update calls, authentication is JWT built from the Admin API key, and it ships stdio, SSE and Streamable HTTP transports plus a Docker image.
What you get
- Posts created, listed with pagination, updated and deleted
- Pages created, listed with pagination, updated and deleted
- Tags created and updated
- Stdio, SSE or Streamable HTTP — HTTP is the default, on port 3064
- A health endpoint, and a container you can run as-is
Requirements
A Ghost site and an Admin API key in id:secret form — the site URL and that key both go in the environment, and neither is optional. PORT defaults to 3064.
Setup effort
One command plus a key — npx -y ghost-mcp-server, then supply credentials
