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
访问服务器

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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选