ghost-admin-mcp
ghost-admin-mcp
An MCP (Model Context Protocol) server for the Ghost Admin API. Lets any MCP client — Claude, Cursor, obot, etc. — manage a Ghost blog: create and edit posts and pages, manage tags, and upload images.
Unlike Content-API wrappers, this uses the Admin API, so it can write, not just read.
Tools
Tool | Description |
| List post summaries (NQL filters, pagination) / read one with full HTML |
| Full write access, including SEO meta, tags, feature image, scheduling |
| Same, for pages |
| Tag management with post counts |
| Upload from a remote URL or local path; returns the Ghost-hosted URL |
| Site title, url, Ghost version |
Niceties handled for you:
updated_atcollision check — updates fetch the current value first, so you never seeSaving failed! Someone else is editing this post.HTML source — write bodies as plain HTML; Ghost converts to its native format (
?source=html).Tags by name — pass
["Recipes", "Dinner"]; unknown tags are created automatically.
Setup
In Ghost Admin: Settings → Integrations → Add custom integration — copy the Admin API Key (
id:secretformat) and your site URL.Configure your MCP client:
{
"mcpServers": {
"ghost": {
"command": "npx",
"args": ["-y", "ghost-admin-mcp"],
"env": {
"GHOST_API_URL": "https://your-blog.com",
"GHOST_ADMIN_API_KEY": "abc123:def456..."
}
}
}
}Environment variables
Variable | Required | Description |
| yes | Your Ghost site URL, no trailing slash needed |
| yes | Admin API key ( |
| no | API version header, default |
Docker
docker build -t ghost-admin-mcp .
docker run -e GHOST_API_URL=... -e GHOST_ADMIN_API_KEY=... ghost-admin-mcpThe container speaks MCP over stdio; use your platform's stdio wrapper (e.g. obot's containerized runtime) to expose it over HTTP.
Development
npm install
npm run build
GHOST_API_URL=... GHOST_ADMIN_API_KEY=... node dist/index.jsLicense
MIT