Ghost MCP

Ghost MCP

Enables AI assistants to manage Ghost CMS content including posts, members, users, tags, tiers, offers, newsletters, invites, roles, and webhooks via the Ghost Admin API.

Category
Visit Server

README

Ghost MCP

A Model Context Protocol server that gives Claude, Gemini, and any other MCP-compatible AI full access to your Ghost CMS via the Ghost Admin API.

Documentation languages: English · Français · Español


Features

  • 47 tools across 10 resource types — posts, members, users, tags, tiers, offers, newsletters, invites, roles, and webhooks
  • 7 MCP resources — fetch any Ghost entity by URI (e.g. post://abc123)
  • 2 built-in promptssummarize-post and content-audit
  • Typed error handling — Ghost API errors are caught and surfaced as clean messages, not raw stack traces
  • Full tool descriptions — every tool includes a plain-English description and per-parameter hints so the LLM understands exactly what to pass
  • Zero any types — proper TypeScript interfaces throughout

Quick start

1. Prerequisites

  • Node.js >= 18
  • A Ghost site with Admin API access (Ghost Pro or self-hosted)

2. Get your Ghost credentials

  1. In your Ghost Admin dashboard, go to Settings → Integrations
  2. Click Add custom integration, give it a name (e.g. "MCP")
  3. Copy the Admin API Key — it looks like id:secret

3. Pick your AI client

No cloning or building required. Every integration below uses npx @antoinefamibelle/ghost-mcp to run the server on demand.


Client integrations

Claude Desktop

The recommended integration. MCP is a native feature of Claude Desktop.

Config file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "ghost": {
      "command": "npx",
      "args": ["-y", "@antoinefamibelle/ghost-mcp"],
      "env": {
        "GHOST_API_URL": "https://yourblog.com",
        "GHOST_ADMIN_API_KEY": "your_id:your_secret",
        "GHOST_API_VERSION": "v5.0"
      }
    }
  }
}

Restart Claude Desktop. A hammer icon will appear in the chat input indicating all 47 tools are available.


Claude Code (CLI)

Run this once in your terminal — Claude Code will persist the server across sessions:

claude mcp add ghost \
  --command npx \
  --args "-y,@antoinefamibelle/ghost-mcp" \
  -e GHOST_API_URL=https://yourblog.com \
  -e GHOST_ADMIN_API_KEY=your_id:your_secret

Or add it manually to .claude/mcp.json in your project using the same JSON shape as Claude Desktop above.


Gemini CLI

Google's Gemini CLI supports MCP servers natively.

Config file: ~/.gemini/settings.json

{
  "mcpServers": {
    "ghost": {
      "command": "npx",
      "args": ["-y", "@antoinefamibelle/ghost-mcp"],
      "env": {
        "GHOST_API_URL": "https://yourblog.com",
        "GHOST_ADMIN_API_KEY": "your_id:your_secret",
        "GHOST_API_VERSION": "v5.0"
      }
    }
  }
}

Start a session with gemini and the Ghost tools will be available automatically.


ChatGPT

ChatGPT does not support MCP. OpenAI uses a separate plugin/GPT Actions system based on OpenAPI specs. There is no direct integration path — you would need to wrap this server in an HTTP REST layer to use it with ChatGPT.


Other MCP-compatible clients

Any client that speaks the MCP stdio transport can run this server. The command is always:

npx -y @antoinefamibelle/ghost-mcp

with GHOST_API_URL and GHOST_ADMIN_API_KEY set in the environment.


Tools reference

Posts (5 tools)

Tool Description
posts_browse List posts with filters, pagination, and sorting
posts_read Fetch a single post by ID or slug
posts_add Create a new post (draft or published)
posts_edit Update an existing post
posts_delete Permanently delete a post

Members (5 tools)

Tool Description
members_browse List members with filters
members_read Fetch a single member by ID or email
members_add Add a new member
members_edit Update a member's details or subscriptions
members_delete Remove a member

Users (4 tools)

Tool Description
users_browse List staff users
users_read Fetch a single user by ID, email, or slug
users_edit Update a user's profile
users_delete Delete a staff user

Tags (5 tools)

Tool Description
tags_browse List all tags
tags_read Fetch a single tag by ID or slug
tags_add Create a new tag
tags_edit Update a tag
tags_delete Delete a tag

Tiers (5 tools)

Tool Description
tiers_browse List membership tiers
tiers_read Fetch a single tier
tiers_add Create a paid tier
tiers_edit Update a tier
tiers_delete Delete a tier

Offers (5 tools)

Tool Description
offers_browse List promotional offers
offers_read Fetch an offer by ID or code
offers_add Create a discount or trial offer
offers_edit Update an offer's display text
offers_delete Delete an offer

Newsletters (5 tools)

Tool Description
newsletters_browse List newsletters
newsletters_read Fetch a single newsletter
newsletters_add Create a new newsletter
newsletters_edit Update newsletter settings
newsletters_delete Delete a newsletter

Invites (3 tools)

Tool Description
invites_browse List pending staff invitations
invites_add Send a staff invitation
invites_delete Cancel an invitation

Roles (2 tools)

Tool Description
roles_browse List available roles
roles_read Fetch a single role by ID or name

Webhooks (5 tools)

Tool Description
webhooks_browse List configured webhooks
webhooks_read Fetch a single webhook
webhooks_add Create a new webhook
webhooks_edit Update a webhook
webhooks_delete Delete a webhook

MCP Resources

Access Ghost entities directly by URI:

URI pattern Returns
post://{post_id} Full post object including tags and authors
user://{user_id} Staff user with roles
member://{member_id} Member with labels and subscriptions
tier://{tier_id} Tier with pricing details
offer://{offer_id} Promotional offer details
newsletter://{newsletter_id} Newsletter configuration
blog://info Site settings and metadata

Built-in prompts

summarize-post

Fetches a Ghost post and asks the LLM to write a concise 2-3 sentence summary.

Parameter: postId — the Ghost post ID

content-audit

Fetches recent posts and asks the LLM to audit them for title quality, tagging consistency, publishing cadence, author diversity, and content strategy.

Parameters:

  • limit — number of posts to include (default: 10)
  • status — post status to filter by: published | draft | scheduled (default: published)

Environment variables

Variable Required Default Description
GHOST_API_URL Yes Your Ghost site URL, e.g. https://yourblog.com
GHOST_ADMIN_API_KEY Yes Admin API key in id:secret format
GHOST_API_VERSION No v5.0 Ghost API version

See docs/en/configuration.md for full details.


Documentation

Document Contents
docs/en/configuration.md Environment variables, Claude Desktop setup, troubleshooting
docs/en/tools.md Complete tool reference with all parameters
docs/en/resources.md MCP resource URI reference
docs/en/development.md Build, test, and extend the server

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured