Ghost CMS
FreeNot checkedUnofficial MCP server for Ghost CMS that enables managing posts, pages, tags, and images through any MCP-compatible client.
About
Unofficial MCP server for Ghost CMS that enables managing posts, pages, tags, and images through any MCP-compatible client.
README
Unofficial MCP server for Ghost CMS. Not affiliated with Ghost Foundation.
Manage posts, pages, tags and images through any MCP-compatible client (Claude Code, Claude Desktop, Cursor, OpenCode, etc.).
Installation
uvx ghost-cms-mcp
Or install with pip:
pip install ghost-cms-mcp
Configuration
You need a Ghost Admin API key. Get it from your Ghost Admin panel:
- Go to Settings → Integrations
- Create a new Custom Integration
- Copy the Admin API Key (format:
id:secret)
Claude Code
claude mcp add ghost \
-e GHOST_URL=https://your-blog.com \
-e GHOST_ADMIN_KEY=your-id:your-secret \
-- uvx ghost-cms-mcp
Or add to your project's .mcp.json:
{
"mcpServers": {
"ghost": {
"command": "uvx",
"args": ["ghost-cms-mcp"],
"env": {
"GHOST_URL": "https://your-blog.com",
"GHOST_ADMIN_KEY": "your-id:your-secret"
}
}
}
}
Claude Desktop
Add to claude_desktop_config.json:
{
"mcpServers": {
"ghost": {
"command": "uvx",
"args": ["ghost-cms-mcp"],
"env": {
"GHOST_URL": "https://your-blog.com",
"GHOST_ADMIN_KEY": "your-id:your-secret"
}
}
}
}
Cursor
Add to .cursor/mcp.json in your project root:
{
"mcpServers": {
"ghost": {
"command": "uvx",
"args": ["ghost-cms-mcp"],
"env": {
"GHOST_URL": "https://your-blog.com",
"GHOST_ADMIN_KEY": "your-id:your-secret"
}
}
}
}
CLI
ghost-cms-mcp --url https://your-blog.com --key "your-id:your-secret"
Environment variables take priority over CLI arguments.
Tool Selection
By default all tools are enabled. You can control which tools are available using presets or manual selection.
Presets
| Preset | Tools | Description |
|---|---|---|
all |
posts, pages, tags, images | All tools (default) |
writer |
posts, tags, images | For authors: write, tag, upload images |
content |
posts, pages, tags, images | All content tools |
readonly |
posts, pages, tags, images | Only list/get operations, no create/update/delete |
Configure via env variable or CLI argument:
{
"mcpServers": {
"ghost": {
"command": "uvx",
"args": ["ghost-cms-mcp"],
"env": {
"GHOST_URL": "https://your-blog.com",
"GHOST_ADMIN_KEY": "your-id:your-secret",
"GHOST_PRESET": "writer"
}
}
}
}
Or via CLI:
ghost-cms-mcp --url https://your-blog.com --key "id:secret" --preset readonly
Manual tool selection
Enable only specific tool groups:
{
"env": {
"GHOST_URL": "https://your-blog.com",
"GHOST_ADMIN_KEY": "your-id:your-secret",
"GHOST_TOOLS": "posts,tags"
}
}
Or via CLI:
ghost-cms-mcp --url https://your-blog.com --key "id:secret" --tools posts,tags
Available groups: posts, pages, tags, images
GHOST_TOOLS / --tools takes priority over GHOST_PRESET / --preset.
Available tools
Posts
ghost_list_posts— list posts with filtering by status and tagghost_get_post— get post by ID or slugghost_create_post— create post from Markdownghost_update_post— update post fields (title, content, tags, SEO metadata, etc.)ghost_delete_post— delete postghost_publish_post— publish a draftghost_unpublish_post— revert to draft
Pages
ghost_list_pages— list pagesghost_get_page— get page by ID or slugghost_create_page— create page from Markdownghost_update_page— update page fieldsghost_delete_page— delete page
Tags
ghost_list_tags— list all tagsghost_create_tag— create a new tagghost_delete_tag— delete tag
Images & Site
ghost_upload_image— upload image and get URLghost_site_info— get site metadata (title, version, etc.)
Development
git clone https://github.com/matveev-pavel/ghost-mcp.git
cd ghost-mcp
uv sync --dev
uv run pytest
License
MIT
Install Ghost CMS in Claude Desktop, Claude Code & Cursor
unyly install ghost-cms-mcpInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add ghost-cms-mcp -- uvx ghost-cms-mcpFAQ
Is Ghost CMS MCP free?
Yes, Ghost CMS MCP is free — one-click install via Unyly at no cost.
Does Ghost CMS need an API key?
No, Ghost CMS runs without API keys or environment variables.
Is Ghost CMS hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install Ghost CMS in Claude Desktop, Claude Code or Cursor?
Open Ghost CMS on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectCompare Ghost CMS with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
