Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Ghost CMS

FreeNot checked

Unofficial MCP server for Ghost CMS that enables managing posts, pages, tags, and images through any MCP-compatible client.

GitHubEmbed

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:

  1. Go to Settings → Integrations
  2. Create a new Custom Integration
  3. 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 tag
  • ghost_get_post — get post by ID or slug
  • ghost_create_post — create post from Markdown
  • ghost_update_post — update post fields (title, content, tags, SEO metadata, etc.)
  • ghost_delete_post — delete post
  • ghost_publish_post — publish a draft
  • ghost_unpublish_post — revert to draft

Pages

  • ghost_list_pages — list pages
  • ghost_get_page — get page by ID or slug
  • ghost_create_page — create page from Markdown
  • ghost_update_page — update page fields
  • ghost_delete_page — delete page

Tags

  • ghost_list_tags — list all tags
  • ghost_create_tag — create a new tag
  • ghost_delete_tag — delete tag

Images & Site

  • ghost_upload_image — upload image and get URL
  • ghost_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

from github.com/matveev-pavel/ghost-mcp

Install Ghost CMS in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install ghost-cms-mcp

Installs 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-mcp

FAQ

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

Compare 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