Ghost CMS MCP
Manage Ghost CMS content including posts, pages, tags, and images through tools for listing, creating, updating, deleting, and publishing content.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Ghost CMS MCPcreate a new blog post about remote work"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
ghost-cms-mcp
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-mcpOr install with pip:
pip install ghost-cms-mcpConfiguration
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-mcpOr 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 |
| posts, pages, tags, images | All tools (default) |
| posts, tags, images | For authors: write, tag, upload images |
| posts, pages, tags, images | All content tools |
| 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 readonlyManual 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,tagsAvailable 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 pytestLicense
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/matveev-pavel/ghost-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server